Notes to self

When using pvs with ram cache overflow to disk, be sure to assign the disk a drive letter before running the imaging wizard. Failure to do so can cause a bluescreen.

When using a client configured netscaler make sure to check if Client IP is configured globally. This can really mess up routing if you’re not expecting it. You can turn it off per service.

If your login isn’t working or you get “cannot complete your request” message from StoreFront after logging in via the Netscaler, check to make sure you are in the correct AAA group. This should be your first troubleshooting step.


How to Update XenDesktop MCS Master Image for Dedicated and Pooled Machine Types using PowerShell SDK Console

I’ve called Citrix Support about this exact issue several months ago and was told there isn’t a supported way to do it and I would have to create a new machine catalog.

It turns out that isn’t correct!

There is a fairly simple way point to a new snapshot with PowerShell.

You may need to stop any Provisioning Tasks and remove them. They can get stuck when they can’t find the snapshot.


Get-ProvTask -Active $True

To see if you have any active tasks on your provisioning scheme

If you do, run

Stop-ProvTask -TaskId UidGoesHere


Remove-ProvTask -TaskId UidGoesHere

After that you should be good to go with the commands from here

Publish-ProvMasterVmImage -ProvisioningSchemeName "%provisioningSchemeName%" -MasterImageVM "%templatePSPath%"


Publish-ProvMasterVmImage -ProvisioningSchemeName win7_new –masterimagevm XDHyp:\hostingunits\NEW\NEW-Win7.vm\existing.snapshot\Citrix_XD_win7- pooled.snapshot\Citrix_XD_win7-pooled.snapshot\sp1.snapshot\2505438.snapshot\afterupdate.snapshot

Hopefully this helps anyone that will inevitably run into this!

Full text of the CTX article below in case it disappears.


Complete the following procedure to update the master image on Dedicated or Pooled machine types using PowerShell SDK:

Note: Changes applied to the master image of a Dedicated Catalog takes effect only for the new machines created from the image. These changes are not applied to the existing machines in the Catalog.

  1. Modify the master Virtual Machine or new virtual machine with the required changes.
  2. Take a snapshot of the modified virtual machine.
  3. Start PowerShell on Delivery Controller (Controller).
  4. Run command Add-PSSnapIn citrix*.
  5. Run command Get-ProvScheme.

    This displays a list of Provisioning Scheme(s) from the XenDesktop site. Make a note of the MasterImageVM entry.


    ProvisioningSchemeUid      : 2a01126c-0352-41e0-9603-9118120e15c3
    ProvisioningSchemeName     : win7ded_anu
    MasterImageVM        : XDHyp:\HostingUnits\anu\Anu- Win7.vm\existing.snapshot\Citrix_XD_win7-pooled.snapshot\Citrix_XD_win7-pooled.snapshot\sp1.snapshot\248813.snapshot
    MasterImageVMDate          : 4/14/2011 6:01:21 PM
    IdentityPoolUid            : 1d227066-f5ee-41b9-8a99-753e9d060e42
    IdentityPoolName           : win7ded
    HostingUnitUid             : d534c437-6c65-4659-97db-d6b86534685b
    HostingUnitName            : anu
    VMMetadata                 : {A, A, E, A...}

    Note: This preceding information is also required for reverting to the previous image.

  1. Run the following command to display the list of snapshots on the virtual machine:

    Get-ChildItem -Recurse -Path ‘XDHyp:\hostingunits\%hostName%\%vmName%.vm’

    ExampleGet-ChildItem -Recurse -Path ‘XDHyp:\hostingunits\anu\Anu-Win7.vm

    Where, hostname is anu and vmname is Anu-win7.


    PSPath         : Citrix.Host.Admin.V1\Citrix.Hypervisor::XDHyp:\hostingunits\anu\Anu- Win7.vm\existing.snapshot\Citrix_XD_win7-pooled.snapshot\Citrix_XD_win7- pooled.snapshot\sp1.snapshot\2505438.snapshot\afterupdate.snapshot
    PSParentPath  : Citrix.Host.Admin.V1\Citrix.Hypervisor::XDHyp:\hostingunits\anu\Anu-
    Win7.vm\existing.snapshot\Citrix_XD_win7-pooled.snapshot\Citrix_XD_win7- pooled.snapshot\sp1.snapshot\2505438.snapshot
    PSChildName   : afterupdate.snapshot
    ObjectPath     : /Anu-Win7.vm/existing.snapshot/Citrix_XD_win7-pooled.snapshot/Citrix_XD_win7-pooled.snapshot/sp1.snapshot/2505438.snapshot/afterupdate.snapshot
    FullPath       : XDHyp:\hostingunits\anu\Anu-Win7.vm\existing.snapshot\Citrix_XD_win7- pooled.snapshot\Citrix_XD_win7- pooled.snapshot\sp1.snapshot\2505438.snapshot\afterupdate.snapshot
    IsSymLink      : False
    AdditionalData : {}
  1. Run the following command to publish the details of the master virtual machine:

    Publish-ProvMasterVmImage -ProvisioningSchemeName “%provisioningSchemeName%” -MasterImageVM “%templatePSPath%”


    Publish-ProvMasterVmImage -ProvisioningSchemeName win7ded_anu –masterimagevm XDHyp:\hostingunits\anu\Anu-Win7.vm\existing.snapshot\Citrix_XD_win7- pooled.snapshot\Citrix_XD_win7-pooled.snapshot\sp1.snapshot\2505438.snapshot\afterupdate.snapshot

    Where %provisioningSchemeName% is win7ded_anu and %templatePSPath% is XDHyp:\hostingunits\anu\Anu-Win7.vm\existing.snapshot\Citrix_XD_win7- pooled.snapshot\Citrix_XD_win7- pooled.snapshot\sp1.snapshot\2505438.snapshot\afterupdate.snapshot.

    The preceding command updates the master image and displays the result.


    TaskId                     : c6b5acf4-f950-428c-82a4-0150dab99945
    Active                     : False
    Host                       : XX-W2K8R2-DDC
    DateStarted                : 4/15/2011 5:01:44 PM
    Type                       : PublishImage
    Metadata                   : {}
    WorkflowStatus             : Completed
    ProvisioningSchemeUid      : 2a01126c-0352-41e0-9603-9118120e15c3
    ProvisioningSchemeName     : win7ded_anu
    MasterImage                : XDHyp:\HostingUnits\anu\Anu- Win7.vm\existing.snapshot\Citrix_XD_win7-pooled.snapshot\Citrix_XD
                                 _win7- pooled.snapshot\sp1.snapshot\2505438.snapshot\afterupdate.snapshot
    HostingUnitName            : anu
    HostingUnitUid             : d534c437-6c65-4659-97db-d6b86534685b
    ADIdentityPoolName         :
    ADIdentityPoolUid          : 1d227066-f5ee-41b9-8a99-753e9d060e42
    TaskState                  : Finished
    TaskStateInformation       :
    TaskProgress               : 100
    DiskSize                   : 24

    The following confirmation message appears in the Citrix Studio action pane: