In recent conversations with enterprise customers, it has become very noticeable that Provisioning Server 6.0 and 6.1 have multiple issues that span anywhere from vDisks not being able to connect to their respective servers, black screens when attempting to stream an image to a target device, problems with IPs and DNS entries not working properly on those devices and failures to capture an image.
Let’s start with the basics. Most of the issues with failed image captures can be taken back to the use of the Image Wizard or XenConvert being buggy. The reality here is that Citrix had a tool which was very good at creating captures and then a super fancy GUI was built around it and things started to go south. This tool known as BNImage still exists and is installed by default under \%Program Files%\Citrix\Provisioning Services\BNImage.exe My recommendation is to attempt using this tool to create the capture and this solves the large majority of capture issues in PVS.
Now for the harder stuff, black screens, failures to connect and issues with DHCP scopes. Per doing some testing on my own lab and in performing troubleshooting in large environments I noticed that there are some issues with the PVS 6.0 and 6.1 target device software where the agent either does not create the appropriate networking registries which are necessary for proper operation or it does not clean out the entries in the registry which results in most of the common PVS issues as there is either stale networking data or no data at all. The process that I have taken in order to fix this problem is as follows:
- Mount the vDisk on a PVS server
- Open Regedit and load the system registry hive from vDiskDrive\Windows\System32\Config\System
- Clear DhcpDomain and DchpNameServer in CurrentControlSet001\services\Tcpip\parameters
- Check that the following registries exist under CurrentControlSet001\services\Tcpip\Interfaces and CurrentControlSet002\services\Tcpip\parameters and clear them out (if they don’t exist, create them manually):
- DhcpDefaultGateway
- DhcpServer
- DhcpDomain
- DhcpSubnetMask
- DhcpIPAddress
- DhcpSubnetMaskOpt
- DhcpNameServer