On the Connection Server are three utilities that you can use for the maintenance of instant-clone VMs in vCenter Server and the clusters that the VMs are in.
The utilities are IcMaint.cmd, IcUnprotect.cmd, and IcCleanup.cmd and are located in C:\Program Files\VMware\VMware View\Server\tools\bin.
IcMaint.cmd
Typically, when you put the ESXi host into maintenance mode, Horizon will automatically delete the parent VM so that the host can go into maintenance mode without any manual intervention.
However, you can use this command to delete the golden images, which are the parent VMs in vCenter Server from the ESXi host so that the host can be put into maintenance mode. The host is not automatically put into maintenance mode. To perform maintenance on the host, the vCenter Server administrator must manually put the host into maintenance mode.
Syntax:
IcMaint.cmd -vc hostname_or_IP_address -uid user_ID -hostName ESXi_hostname -maintenance ON|OFF
Parameters:
- -vc host name or IP address of vCenter Server
- -uid vCenter Server user ID
- -hostname ESXi host name
- -maintenance ON|OFF
This parameter specifies whether the host is available for hosting the golden image VM.
After the command is run on the host, the InstantClone.Maintenance annotation value is set to 1 and the golden image VMs are deleted. After the golden image VMs are deleted, the InstantClone.Maintenance annotation value is set to 2 and no more golden image VMs are created on the host. When you run this command again with -maintenance OFF, the InstantClone.Maintenance annotation value is cleared for the host to become available for hosting golden image VMs.
All the parameters are required.
IcUnprotect.cmd
After ClonePrep creates folders and VMs, you can use this utility to unprotect folders and VMs, delete VMs, and detect VMs whose golden image or snapshot is deleted. ClonePrep is the mechanism that customizes instant clones during the creation process.
Syntax:
IcUnprotect.cmd -vc hostname_or_IP_address -uid user_ID [-includeFolders][-skipCertVeri]
Parameters:
- -action
You can use the following options for this parameter:
- unprotect. Unprotect internal VMs.
- delete. Delete internal VMs.
- detect. Detect and list internal VMs whose golden image or snapshot is deleted.
If you don't specify the -action parameter, the internal VMs are unprotected by default.
- -vc host name or IP address of vCenter Server
- -uid vCenter Server user ID
- -clientId instant-clone client ID (Optional)
If clientId is not specified, protection is removed from all ClonePrep VMs in all data centers.
- -domain domain name (Optional)
You can use multiple domain names separated by comma and no space.
- -host host name (Optional)
You can use multiple host names separated by comma and no space.
- -datastore datastore name (Optional)
You can use multiple datastore names separated by comma and no space.
- -vmName VM name (Optional)
You can use multiple VM names separated by comma and no space.
- -vmType internal VM type (Optional)
You can use multiple VM types separated by comma and no space. You can use template, replica, parent as options for this parameter.
- -includeFolders include folders
This parameter unprotects the folders in addition to the VMs.
- -skipCertVeri skip certification verification
IcUnprotect.cmd enforces host name verification. You must enter the correct host name of the vCenter Server instead of its IP address when you specify the command parameters. To disable host name verification and use the IP address of vCenter Server instead, use -skipCertVeri.
Specify the following parameters to delete all parent VMs in vCenter Server:
IcUnprotect -action delete -vc <IP address of vCenter Server> -uid <vCenter Server user ID> -clientId <instant clone client ID> -host <hostname 1>,<hostname 2> -vmType parent
Specify the following parameters to delete specific parent VMs in vCenter Server:
IcUnprotect -action delete -vc <IP address of vCenter Server> -uid <vCenter Server user ID> -clientId <instant clone client ID> -host <hostname 1>,<hostname 2> -vmType parent -vmName <parent VM name 1>,< parent VM name 2>
IcCleanup.cmd
You can use this utility to unprotect and delete some or all of the internal VMs created by instant clones. This utility also provides a list command to group internal VMs into the hierarchical structure according to their golden VM and the snapshot used to create the instant clone pool. The list command has a detect option which only reveals the internal VM groups with priming tag or snapshot missing. You can then unprotect and delete a specific group or all of these groups. You can also output all the groups into a disk file for future reference.
Syntax:
iccleanup.cmd -vc vcName -uid userId [-skipCertVeri] [-clientId clientUuid]
Parameters:
- -vc host name or IP address of vCenter Server
- -uid vCenter Server user ID
- -skipCertVeri Skip the vCenter Server certificate verification (Optional)
- -clientId Client UUID, the unique ID for the server cluster made up of Connection Server and one or more replica servers. (Optional)
Note: To find the client UUID, log into Connection Server or any of the replica servers, run ADSI Edit. In , find the value for pae-GUID, which is the value for the client UUID. If you do not specify the client UUID, the cleanup tool will deal with all the internal VMs. If you specify the client UUID, the cleanup tool will deal with only the internal VMs that belong to that particular client UUID.
- list List some or all the internal VMs and present them in a hierarchical structure, also known as internal VM groups. Options include:
- -all List all the internal VM groups
- -D,--detect Detect mode lists only the internal VM groups with missing priming tag or snapshot
- -h,--help Print the available usage and options for this command
After you run the list command, you can see qualified internal VMs presented in a hierarchical structure known as internal VM groups. For these internal VM groups, you can run these commands:
- unprotect Unprotect some or all the internal VM groups using these options:
- -all Unprotect all the internal VMs. Without the -I option, you must specify -all to unprotect all the internal VM groups
- -I,--index Unprotect a certain internal VM group
- -h,--help Print the available usage and options for this command
- delete Delete some or all the internal VM groups
- output Output the internal VM groups into a disk file.
- -F,--file File name to save the internal VM groups
- -h,--help Print the available usage and options for this command
- back Return to the main menu
- unprotect unprotect some or all the internal VMs, including folders. Options include:
- -A,--adDomain Domain name
- -H,--host Host name
- -D,--datastore Datastore name
- -T,--vmType Internal VM type: template, replica, or parent
- -N,--name Internal VM name
- -I,--includeFolders Include the internal VM folders
- -all Unprotect all the internal VMs
- -h,--help Print the available usage and options for this command
- delete delete some or all internal VMs, including folders. Options include:
- -A,--adDomain Domain name
- -H,--host Host name
- -D,--datastore Datastore name
- -T,--vmType Internal VM type: template, replica, or parent
- -N,--name Internal VM name
- -I,--includeFolders Include the internal VM folders
- -all Delete all the internal VMs
- -h,--help Print the available usage and options for this command
- exit Log off vCenter Server and quit the program