Share via


New-SCVMShieldingData

Creates a virtual machine shielding data object from a .pdk file.

Syntax

VMShieldingDataFromPath (Default)

New-SCVMShieldingData
    -VMShieldingDataPath <String>
    -Name <String>
    [-VMMServer <ServerConnection>]
    [-Description <String>]
    [-RunAsynchronously]
    [-PROTipID <Guid>]
    [-JobVariable <String>]
    [-OnBehalfOfUser <String>]
    [-OnBehalfOfUserRole <UserRole>]
    [<CommonParameters>]

VMShieldingDataFromBytes

New-SCVMShieldingData
    -RawData <Byte[]>
    -Name <String>
    [-VMMServer <ServerConnection>]
    [-Description <String>]
    [-RunAsynchronously]
    [-PROTipID <Guid>]
    [-JobVariable <String>]
    [-OnBehalfOfUser <String>]
    [-OnBehalfOfUserRole <UserRole>]
    [<CommonParameters>]

Description

The New-SCVMShieldingData cmdlet creates a VMShieldingData object from a secure provisioning blob, a .pdk file, in Virtual Machine Manager (VMM). This file includes information such as virtual machine ownership keys, virtual machine customization information, hashes of acceptable source keys, and other information. Tenants create a provisioning blob by using an out-of-band tool.

You can use a virtual machine shielding data object for tasks such as encrypting virtual Trusted Platform Modules (TPMs), creating shielded virtual machines, and grandfathering non-shielded virtual machines.

The VMM database manages virtual machine shielding data objects as a library resource. They are scoped appropriately for the associated user role. VMM provides create, read, update, and delete functionality to manage them.

Examples

Example 1: Create a virtual machine shielding data by using a .pdk file

PS C:\> New-SCVMShieldingData -Name "ShieldingData01" -Description "Shielding data" -VMShieldingDataPath "C:\virtual\SD.pdk"

This command creates a virtual machine shielding data object named ShieldingData01. The command bases the object on the SD.pdk file that the VMShieldingDataPath parameter specifies.

Example 2: Create a virtual machine shielding data by using raw data

PS C:\> $Bytes = [System.IO.File]::ReadAllBytes ("C:\virtual\SD.pdk")
PS C:\> New-SCVMShieldingData -Name "ShieldingData02" -Description "Shielding data" -RawData $Bytes

The first command stores the contents of SD.pdf as a byte array to the $Bytes variable.

This command creates a virtual machine shielding data object named ShieldingData02. The command bases the object on the $Bytes array that the RawData parameter specifies.

Parameters

-Description

Specifies a description for the VMShieldingData object.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-JobVariable

Specifies the name of a variable in which job progress is tracked and stored.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-Name

Specifies a name for the VMShieldingData object.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-OnBehalfOfUser

Specifies a user name. This cmdlet operates on behalf of the user that this parameter specifies.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-OnBehalfOfUserRole

Specifies a user role. To obtain a user role, use the Get-SCUserRole cmdlet. This cmdlet operates on behalf of the user role that this parameter specifies.

Parameter properties

Type:UserRole
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-PROTipID

Specifies the ID of the Performance and Resource Optimization tip (PRO tip) that triggered this action. This parameter lets you audit PRO tips.

Parameter properties

Type:Guid
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-RawData

Specifies an array of bytes that contain raw .pdk data.

Parameter properties

Type:

Byte[]

Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

VMShieldingDataFromBytes
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-RunAsynchronously

Indicates that the job runs asynchronously so that control returns to the command shell immediately.

Parameter properties

Type:SwitchParameter
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

-VMMServer

Specifies a VMM server object.

Parameter properties

Type:ServerConnection
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

(All)
Position:Named
Mandatory:False
Value from pipeline:True
Value from pipeline by property name:False
Value from remaining arguments:False

-VMShieldingDataPath

Specifies the path of a .pdk file.

Parameter properties

Type:String
Default value:None
Supports wildcards:False
DontShow:False

Parameter sets

VMShieldingDataFromPath
Position:Named
Mandatory:True
Value from pipeline:False
Value from pipeline by property name:False
Value from remaining arguments:False

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Inputs

None

Outputs

VMShieldingData

This cmdlet returns a virtual machine shielding data object that contains the following information:

  • RawData
  • KeyProtectorOwner
  • KeyProtectorGuardians
  • Name
  • Description