Set-SCVirtualHardDisk

Changes the properties of a virtual hard disk object used in VMM.

Description

The Set-SCVirtualHardDisk cmdlet changes one or more properties of a virtual hard disk object used in a System Center Virtual Machine Manager (VMM) environment. A virtual hard disk file used in VMM is either a Windows-based .vhd file, a Citrix XenServer-based .vhd file, or a VMware-based .vmdk file.

Properties that you can change include:

- Description
- Enabled
- Name
- Operating System
- Owner
- SharePath

A virtual hard disk file might be stored in the VMM library, or it might be attached to a virtual disk drive on a virtual machine or template.

To change the Bus and LUN settings for a virtual disk drive, use the Set-SCVirtualDiskDrive cmdlet.

For more information about Set-SCVirtualHardDisk, type: "Get-Help Set-SCVirtualHardDisk -online".

Parameters

VirtualHardDisk

Required? true
Accept Pipeline Input? true (ByValue)
Position? 0
Specifies a virtual hard disk object.

Description

Required? false
Accept Pipeline Input? false
Position? named
States a description for the specified object.

Enabled

Required? false
Accept Pipeline Input? false
Position? named
Enables an object when set to $True, or disables an object when set to $False. For example, if you want to upgrade software on a virtual machine template, you can disable the template object in the VMM library to temporarily prevent users from using that object.

FamilyName

Required? false
Accept Pipeline Input? false
Position? named
Specifies a family name for a physical resource in the VMM library. This value is used in conjunction with Release, Namespace, and Type to establish equivalency among library resources.

JobGroup

Required? false
Accept Pipeline Input? false
Position? named
Specifies an identifier for a series of commands that will run as a set just before the final command that includes the same job group identifier runs. 

JobVariable

Required? false
Accept Pipeline Input? false
Position? named
Specifies that job progress is tracked and stored in the variable named by this parameter. 

Name

Required? false
Accept Pipeline Input? false
Position? named
Specifies the name of a VMM object.

OperatingSystem

Required? false
Accept Pipeline Input? false
Position? named
Specifies the type of operating system for a virtual machine. To list the names of all available operating systems in VMM, type: "Get-SCOperatingSystem".

Owner

Required? false
Accept Pipeline Input? false
Position? named
Specifies the owner of a VMM object in the form of a valid domain user account.

Example format: -Owner "Contoso\ReneeLo"
Example format: -Owner "ReneeLo@Contoso"

PROTipID

Required? false
Accept Pipeline Input? false
Position? named
Specifies the ID of the PRO tip that triggered this action. This allows for auditing of PRO tips.

Release

Required? false
Accept Pipeline Input? false
Position? named
Specifies a string that describes the release of a library resource. VMM automatically creates a release value for every resource imported into the library. After the resource has been imported, the string can be customized.

RunAsynchronously

Required? false
Accept Pipeline Input? false
Position? named
Indicates that the job runs asynchronously so that control returns to the command shell immediately. 

SharePath

Required? false
Accept Pipeline Input? false
Position? named
Specifies a path to a valid library share on an existing library server that uses a Universal Naming Convention (UNC) path. 

Example format: –SharePath "\\LibServer01\LibShare"

UserRole

Required? false
Accept Pipeline Input? false
Position? named
Specifies a user role object.

VirtualizationPlatform

Required? false
Accept Pipeline Input? false
Position? named
Specifies the virtualization platform of a virtual machine host managed by VMM. Valid values are: HyperV, VMwareESX, XENServer.

VMMServer

Required? false
Accept Pipeline Input? false
Position? named
Specifies a VMM server object.

VirtualHardDisks

Required? true
Accept Pipeline Input? true (ByValue)
Position? 0
Specifies an array of virtual hard disk objects.

FamilyName

Required? false
Accept Pipeline Input? false
Position? named
Specifies a family name for a physical resource in the VMM library. This value is used in conjunction with Release, Namespace, and Type to establish equivalency among library resources.

JobVariable

Required? false
Accept Pipeline Input? false
Position? named
Specifies that job progress is tracked and stored in the variable named by this parameter. 

PROTipID

Required? false
Accept Pipeline Input? false
Position? named
Specifies the ID of the PRO tip that triggered this action. This allows for auditing of PRO tips.

Release

Required? false
Accept Pipeline Input? false
Position? named
Specifies a string that describes the release of a library resource. VMM automatically creates a release value for every resource imported into the library. After the resource has been imported, the string can be customized.

RunAsynchronously

Required? false
Accept Pipeline Input? false
Position? named
Indicates that the job runs asynchronously so that control returns to the command shell immediately. 

VMMServer

Required? false
Accept Pipeline Input? false
Position? named
Specifies a VMM server object.
Requires a VMM virtual hard disk object, which can be retrieved by using the Get-SCVirtualHardDisk cmdlet.

Examples

1: Change the description of a virtual hard disk.
PS C:\> $VHD = Get-SCVirtualHardDisk -VMMServer "VMMServer01.Contoso.com" | where { $_.LibraryServer.Name -eq “LibraryServer01.Contoso.com” -and $_.Name -eq "WindowsServer2008R2BootVHD.vhd"}
PS C:\> Set-SCVirtualHardDisk -VirtualHardDisk $VHD -Description “Latest Windows Server 2008 R2 Boot VHD” 
The first command retrieves the virtual hard disk object named "WindowsServer2003BootVHD.vhd" from the library on VMMServer01 and then stores the object in the $VHD variable.

The second command changes the description of the virtual hard disk object stored in $VHD to "Latest Windows Server 2008 R2 Boot VHD".
2: Enable a VMware-based virtual hard disk in the library.
PS C:\> $VMDK = Get-SCVirtualHardDisk -VMMServer "VMMServer01.Contoso.com" | where { $_.LibraryServer.Name -eq “LibraryServer01.Contoso.com” -and $_.Name -eq "WindowsServer2008.vmdk"}
PS C:\> Set-SCVirtualHardDisk -VirtualHardDisk $VMDK -Enabled $FALSE
The first command gets the virtual hard disk object named WindowsServer2008.vmdk and then stores the virtual hard disk object in the $VMDK variable.

The second command disables the virtual hard disk object stored in $VMDK.
3: Specify an owner for all virtual hard disks with an "Unknown" owner.
PS C:\> Get-SCVirtualHardDisk -VMMServer "VMMServer01.Contoso.com" | where {$_.Owner -eq "Unknown"} | Set-SCVirtualHardDisk -Owner "Contoso\ReneeLo"
This command gets all virtual hard disk objects from the VMM library whose owner is "Unknown", and then specifies an owner for each virtual hard disk object.

See Also