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.
run
Get-ProvTask -Active $True
To see if you have any active tasks on your provisioning scheme
If you do, run
Stop-ProvTask -TaskId UidGoesHere
Then
Remove-ProvTask -TaskId UidGoesHere
After that you should be good to go with the commands from here http://support.citrix.com/article/CTX129205
Publish-ProvMasterVmImage -ProvisioningSchemeName "%provisioningSchemeName%" -MasterImageVM "%templatePSPath%"
EXAMPLE:
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.
Instructions
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.
- Modify the master Virtual Machine or new virtual machine with the required changes.
- Take a snapshot of the modified virtual machine.
- Start PowerShell on Delivery Controller (Controller).
- Run command Add-PSSnapIn citrix*.
- Run command Get-ProvScheme.
This displays a list of Provisioning Scheme(s) from the XenDesktop site. Make a note of the MasterImageVM entry.
Example
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.
- 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.
Output
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 : {}
- Run the following command to publish the details of the master virtual machine:
Publish-ProvMasterVmImage -ProvisioningSchemeName “%provisioningSchemeName%” -MasterImageVM “%templatePSPath%”
Example
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.
Output
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:
