How to update Master Image for Dedicated and Pooled MCS Catalog using PowerShell SDK

How to update Master Image for Dedicated and Pooled MCS Catalog using PowerShell SDK

book

Article ID: CTX129205

calendar_today

Updated On:

Description

This article describes how to update the master image for Dedicated and Pooled MCS catalogs using PowerShell Software Development Kit (PowerShell SDK)

Background

The GUI option Update Machine is available only for the Pooled MCS catalogs. This option is not available for Dedicated MCS catalogs.


Instructions

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.

    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.

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

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

    Example

    Get-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 : {}
  1. 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:

    User-added image

Environment

This software application is provided to you as is with no representations, warranties or conditions of any kind. You may use and distribute it at your own risk. CITRIX DISCLAIMS ALL WARRANTIES WHATSOEVER, EXPRESS, IMPLIED, WRITTEN, ORAL OR STATUTORY, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NONINFRINGEMENT. Without limiting the generality of the foregoing, you acknowledge and agree that: (a) the software application may exhibit errors, design flaws or other problems, possibly resulting in loss of data or damage to property; (b) it may not be possible to make the software application fully functional; and (c) Citrix may, without notice or liability to you, cease to make available the current version and/or any future versions of the software application. In no event should the software application be used to support ultra-hazardous activities, including but not limited to life support or blasting activities. NEITHER CITRIX NOR ITS AFFILIATES OR AGENTS WILL BE LIABLE, UNDER BREACH OF CONTRACT OR ANY OTHER THEORY OF LIABILITY, FOR ANY DAMAGES WHATSOEVER ARISING FROM USE OF THE SOFTWARE APPLICATION, INCLUDING WITHOUT LIMITATION DIRECT, SPECIAL, INCIDENTAL, PUNITIVE, CONSEQUENTIAL OR OTHER DAMAGES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. You agree to indemnify and defend Citrix against any and all claims arising from your use, modification or distribution of the software application.