Skip to content

Instantly share code, notes, and snippets.

@sowderca
Last active March 22, 2023 16:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sowderca/e952f72c88b3565cb593d6cac2d75eae to your computer and use it in GitHub Desktop.
Save sowderca/e952f72c88b3565cb593d6cac2d75eae to your computer and use it in GitHub Desktop.
Init for scale set
[ScriptBlock] $bootstrap = {
[string] $localhost = [Environment]::MachineName;
[string] $controller = Get-BBGuestSiteComputerNames -BBResourceType 'CitrixXenAppDeliveryController' | Select-Object -First 1;
Copy-BBGuestGen7DatabaseRegistryEntries -DestinationComputerName $localhost -SourceComputerName (
Get-BBGuestSiteComputerNames -BBResourceType 'CitrixXenAppDeliveryAgent' -Application 'Queue'
);
Add-BBGuestCitrixVDAtoMachineCatalog -ComputerName $localhost -SiteController $controller -CitrixMachineCatalogName (
Get-BBGuestCitrixMachineCatalogName -DeliveryControllerInstance 1
);
Add-BBGuestCitrixVDAtoDeliveryGroup -ComputerName $localhost -SiteController $controller -CitrixDeliveryGroupName (
Get-BBGuestCitrixDeliveryGroupName -DeliveryControllerInstance 1
);
Set-BBGuestCitrixTag -ComputerName $ComputerName -Tag 'AG_Live' -DeliveryControllerInstance 1;
Add-BBGuestLocalAdministrator -ComputerNames $localhost -Username 'ADUserManager';
& "C:\Program Files\Citrix\Virtual Desktop Agent\Agent Configuration\AgentConfig.exe" /portnumber:1042
New-ItemProperty -Path 'HKLM\SOFTWARE\Citrix\VirtualDesktopAgent' -Name 'ControllerRegistrarPort' -PropertyType 'String' -Value 1042 -Force | Out-Null
Get-Service -Name 'BrokerAgent' | Restart-Service -Force | Out-Null
};
$job = Register-ScheduledJob -Name 'bootstrap' -Trigger (New-JobTrigger -AtStartup) -ScriptBlock $bootstrap -EA 0;
$task = Get-ScheduledTask -TaskName $job.Name -TaskPath '\Microsoft\Windows\PowerShell\ScheduledJobs\';
$trigger = New-ScheduledTaskTrigger -AtStartup -RandomDelay (New-TimeSpan -Minutes 3);
$principal = New-ScheduledTaskPrincipal -UserId 'NT AUTHORITY\SYSTEM' -LogonType 'ServiceAccount' -RunLevel 'Highest';
Set-ScheduledTask -TaskName $job.Name -Trigger $trigger | Out-Null;
Set-ScheduledTask -TaskName $job.Name -Principal $principal | Out-Null;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment