Manage prepared image machine catalogs
You can update an existing MCS machine catalog with a different prepared image and manage the image definitions and versions using:
- Studio
- PowerShell
Use Studio
Update a machine catalog with a different prepared image
To update an existing MCS machine catalog with a different prepared image, do the following:
- Click Machine Catalogs on the left navigation pane and select a machine catalog that you want to update. Right-click and select Change Prepared Image.
-
On the Image page, select a prepared image.
Note:
Applicable to Azure: You can also choose an image with ACG not enabled and later select Place prepared image in Azure Compute Gallery check box to place the images in the gallery.
- On the Rollout strategy page, select when you want to update this catalog with the selected prepared image.
- On the Summary page, check the details. Click Finish.
You can see the history of image changes made to a catalog. To see the history, do the following:
- Select a machine catalog.
- Under the Template Properties tab in the Prepared image field, click View Image history.
Manage the image definitions and versions
You can edit and delete the image definitions and versions to manage the use of various created image versions and definitions.
Edit an image definition
You can edit the name and description of an image definition.
To edit an image definition, do the following:
- Go to the Images node, select an image definition, and select Edit Image Definition.
Edit image version
You can edit the description of an image version to specify the purpose of that image version.
To edit an image version, do the following:
- Go to the Images node, select an image version, and select Edit Description.
Delete an image version
To delete an image version, do the following:
- Go to the Images node, select an image version, and select Delete Image Version.
Note:
You cannot delete an image version if it is used by a machine catalog.
Delete an image definition
To delete an image definition, do the following:
- Go to the Images node, select an image definition, and select Delete Image Definition.
Note:
You cannot delete an image definition if it contains an image version.
Use PowerShell
Update a catalog using a prepared image version spec
You can update a catalog using the Set-ProvSchemeImage
command. For example,
Set-ProvSchemeImage -ProvisioningSchemeUid <Guid> -ImageVersionSpecUid <Guid> [-DoNotStoreOldImage] [-RunAsynchronously] [-PurgeJobOnSuccess]
<!--NeedCopy-->
Or,
Set-ProvSchemeImage -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> [-DoNotStoreOldImage] [-RunAsynchronously] [-PurgeJobOnSuccess]
<!--NeedCopy-->
Example of the complete set of Powershell commands to update a catalog:
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 2 -Filter "PreparationType -eq 'Mcs'"
Set-ProvSchemeImage -ProvisioningSchemeName azurecatalog -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -RunAsynchronously
<!--NeedCopy-->
Delete image definition, image version, and prepared image version spec
Consider the following before deleting an image definition, image version, and prepared image version spec:
- An image definition can’t be deleted if it contains any image version.
- An image version can’t be deleted if it contains any image version specification.
- A master image version spec can’t be deleted if it is used by any other prepared image version spec.
- A prepared image version spec can’t be deleted if it is used by any MCS machine catalog.
- (Currently applicable to Azure): A hosting unit can’t be deleted if it is used by any other prepared image version spec.
The detailed steps are as follows:
-
Remove the machine catalog. For example,
Remove-ProvScheme -ProvisioningScheneName decouplingCatalog <!--NeedCopy-->
-
(Currently applicable to Azure): Remove the shared prepared image version spec. For example,
Remove-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <uid> -HostingUnitName AzureWest <!--NeedCopy-->
-
Remove a prepared image version spec. For example,
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'Mcs'" Remove-ProvImageVersionSpec -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -RunAsynchronously <!--NeedCopy-->
-
Remove master image version specification. For example,
$MasterImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'None'" Remove-ProvImageVersionSpec -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -RunAsynchronousl <!--NeedCopy-->
Note:
Master image version spec can only be deleted when there is no associated prepared image version spec.
-
Remove an image version. For example,
Remove-ProvImageVersion -ImageDefinitionName image1 -ImageVersionNumber 1 <!--NeedCopy-->
-
(Currently, applicable to Azure): Remove the configuration for image definition in the specified hosting connection. For example,
Remove-ProvImageDefinitionConnection -ImageDefinitionName xx -HypervisorConnectionName xxx <!--NeedCopy-->
-
Remove an image definition. For example,
Remove-ProvImageDefinition -ImageDefinitionName image1 <!--NeedCopy-->
Example of the complete set of PowerShell commands when prepared image is not shared across host unit:
Remove-ProvScheme -ProvisioningSchemeName decouplingCatalog
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'Mcs'"
Remove-ProvImageVersionSpec -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -RunAsynchronously
$MasterImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'None'"
Remove-ProvImageVersionSpec -ImageVersionSpecUid $MasterImageVersionSpec.ImageVersionSpecUid -RunAsynchronously
Remove-ProvImageVersion -ImageDefinitionName image1 -ImageVersionNumber 1
Remove-ProvImageDefinition -ImageDefinitionName image1
<!--NeedCopy-->
Example of the complete set of PowerShell commands when prepared image is shared across host unit:
Remove-ProvScheme -ProvisioningSchemeName decouplingCatalog
Remove-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <uid>
-HostingUnitName AzureWest
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'Mcs'"
Remove-ProvImageVersionSpec -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -RunAsynchronously
$MasterImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'None'"
Remove-ProvImageVersionSpec -ImageVersionSpecUid $MasterImageVersionSpec.ImageVersionSpecUid -RunAsynchronously
Remove-ProvImageVersion -ImageDefinitionName image1 -ImageVersionNumber 1
Remove-ProvImageDefinitionConnection -ImageDefinitionName xx -HypervisorConnectionName xxx
Remove-ProvImageDefinition -ImageDefinitionName image1
<!--NeedCopy-->
Manage image definition and image version
You can rename and edit an image definition, and edit an image version.
-
Rename an image definition using the
Rename-ProvImageDefinition
command. For example:Rename-ProvImageDefinition -ImageDefinitionUid <Guid> -NewImageDefinitionName <string> <!--NeedCopy-->
Or,
Rename-ProvImageDefinition -ImageDefinitionName <string> -NewImageDefinitionName <string> <!--NeedCopy-->
-
Edit an image definition using the
Set-ProvImageDefinition
command. For example:Set-ProvImageDefinition -ImageDefinitionUid <Guid> [-Description <string>] <!--NeedCopy-->
Or,
Set-ProvImageDefinition -ImageDefinitionName <string> [-Description <string>] <!--NeedCopy-->
-
Edit an image version using the
Set-ProvImageVersion
command. For example:Set-ProvImageVersion -ImageVersionUid <Guid> [-Description <string>] <!--NeedCopy-->
Or,
Set-ProvImageVersion -ImageDefinitionName <string> -ImageVersionNumber <int> [-Description <string>] <!--NeedCopy-->
Get image definition, image version, prepared image version spec, and provisioning scheme details
-
Get image definition details using the
Get-ProvImageDefinition
command. For example:Get-ProvImageDefinition [-ImageDefinitionName <string>] [-ImageDefinitionUid <Guid>] [-ReturnTotalRecordCount] [-MaxRecordCount <int>] [-Skip <int>] [-SortBy <string>] [-Filter <string>] <!--NeedCopy-->
-
Get image version details using the
Get-ProvImageVersion
command. For example:-
To list image versions in an image definition,
Get-ProvImageVersion -ImageDefinitionUid <Guid> <!--NeedCopy-->
Or,
Get-ProvImageVersion -ImageDefinitionName <string> <!--NeedCopy-->
-
To get an image version detail,
Get-ProvImageVersion -ImageVersionUid <Guid> <!--NeedCopy-->
Or,
Get-ProvImageVersion -ImageDefinitionName <string> -ImageVersionNumber <int> <!--NeedCopy-->
-
-
Get prepared image version spec using the
Get-ProvImageVersionSpec
command. For example:-
To list all prepared image version specs in an image version,
Get-ProvImageVersionSpec -ImageVersionUid <Guid> <!--NeedCopy-->
-
To list master image version specs in a prepared image version spec,
Get-ProvImageVersionSpec -ImageVersionUid <Guid> -Filter 'PreparationType -eq "None"' <!--NeedCopy-->
-
To list prepared image version specs in an image version, which is associated with a master image,
Get-ProvImageVersionSpec -ImageVersionUid <Guid> -Filter 'PreparationType -eq "MCS" -and SourceImageVersionSpecUid -eq "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"' <!--NeedCopy-->
-
To get successful prepared image version specs in an image version,
Get-ProvImageVersionSpec -ImageVersionUid <Guid> -Filter 'PreparationType -eq "MCS" -and SourceImageVersionSpecUid -eq "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" -and ImageVersionSpecStatus -eq "Complete"' <!--NeedCopy-->
-
To get a prepared image version spec detail,
Get-ProvImageVersionSpec -ImageVersionSpecUid <Guid> <!--NeedCopy-->
-
-
Get provisioning scheme details using the
Get-ProvScheme
command. For example:Get-ProvScheme [[-ProvisioningSchemeName] <String>] [-ProvisioningSchemeUid <Guid>] [-ScopeId <Guid>] [-ScopeName <String>] [-ReturnTotalRecordCount] [-MaxRecordCount <Int32>] [-Skip <Int32>] [-SortBy <String>] [-Filter <String>] [-FilterScope <Guid>] <!--NeedCopy-->
-
Get prepared image version spec history of a provisioning scheme using the
Get-ProvSchemeImageVersionSpecHistory
command. For example:Get-ProvSchemeImageVersionSpecHistory [-ProvisioningSchemeName <String>] [-ProvisioningSchemeUid <Guid>] [-ImageVersionSpecUid <Guid>] [-ImageVersionSpecHistoryUid <Guid>] [-ReturnTotalRecordCount] [-MaxRecordCount <Int32>] [-Skip <Int32>] [-SortBy <String>] [-Filter <String>] [-FilterScope <Guid>] <!--NeedCopy-->