This article describes how to update the master image for Dedicated and Pooled MCS catalogs using PowerShell Software Development Kit (PowerShell SDK)
The GUI option Update Machine is available only for the Pooled MCS catalogs. This option is not available for Dedicated MCS catalogs.
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.
OutputTaskId : 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: