Updating Provisioning Services Bootstrap for Each Server in the Site

There are times where you need to configure the bootstrap information (or re-configure) for the servers in the farm. The bootstrap information can be updated in a few different ways. The first place you will encounter the bootstrap information screen is in the configuration wizard while configuring Provisioning Services if you selected the “Use the Provisioning Services TFTP service” option. For more information about selecting a bootstrap deployment method, please click here.



If you did not select this option or have chosen the wrong options, there is no need to worry. This information can be modified after the fact. To do so, you can use the Provisioning Services Console to access the same information. Simply right click a server from the list and choose “Configure Bootstrap”.



Up to four Provisioning Services servers can be specified in a bootstrap. In smaller farms, this isn’t an issue, but in larger deployments an administrator may wish to have devices log into specific farm servers. The “Read Servers from Database” will only populate the first four. You can manually add any Provisioning Server by simply clicking “Add” or edit an existing entry.

As an alternative to using the GUI, which can require a significant number of clicks in a large farm, PowerShell can be used instead. Open the PowerShell console as an administrator and import the PVS snapin from the PowerShell SDK from version 7.7 or above (it is possible to use the SDK with an older version just keep in mind this is not necessarily fully supported by Citrix).

Import-module "C:\program files\Citrix\Provisioning Services Console\Citrix.PVS.SnapIn.Dll"

In order to update the bootstrap, we can perform the following command

get-pvsserver | %{ Set-PvsServerBootstrap -servername $_.servername -Bootserver1_IP "" -bootserver2_IP "" -Name "ARDBP32.bin" }

The first command, Get-PVSServer will act on each server in the PVS site (it is assumed this command is being run on a PVS server. We then pipe this output to “ForEach-Object” (represented by the alias %), where we set set bootserver1_IP and bootserver2_IP. You can set additional properties, such as port, just as you would in the GUI. For a full list of properties, consult the help in the “PowerShell Object Oriented API Interface” available in the Citrix documentation.

Once the bootstrap has been modified, if you are using the TFTP deployment method, your changes are live and active the next time the file is downloaded when the target devices boot. However, if you are using the Boot Device Manager (BDM) partition based method, you can use the “Update BDM Partition” option in the console to update existing devices. For more information on updating existing BDM partitions, see the previous article here. Otherwise, the new bootstrap information will only be available to newly provisioned devices through the XenDesktop Setup Wizard.


Provisioning Services offers multiple ways to configure the bootstrap information and Citrix has made it easier than ever with a proper object-oriented PowerShell interface to enable administrators to quickly update the bootstrap information for a Provisioning Services farm should the need arise. Using scriptable methods ensures consistency among deployment and reduces the chance of error through mis-clicks or typos.

Leave a comment

Your email address will not be published.