次の方法で共有


Set-SCGuestInfo

ゲスト オペレーティング システムのキーと値のペアのキーに関連付けられている値を設定します。

構文

Set-SCGuestInfo
   [-VM] <VM>
   -KvpMap <Hashtable>
   [<CommonParameters>]
Set-SCGuestInfo
   [-VM] <VM>
   [-Key] <String>
   [[-Value] <String>]
   [<CommonParameters>]

説明

Set-SCGuestInfo コマンドレットは、ゲスト オペレーティング システムのキーと値のペアのキーに関連付けられている値を設定します。

例 1: 1 つのキーと値のペアを設定する

PS C:\> $VM = Get-SCVirtualMachine "VM01" 
PS C:\> Set-SCGuestInfo -VM $VM -Key Key -Value Value

最初のコマンドは、VM01 という名前の仮想マシン オブジェクトを取得し、そのオブジェクトを $VM 変数に格納します。

2 番目のコマンドは、VM01 のキーと値のペアを設定します。

例 2: キーと値のペアの値にキーを設定する

PS C:\> Get-SCVirtualMachine -Name "VM01" | Set-SCGuestInfo -Key Microsoft.Lab.Isolation.ServerVersion -Value 1.0.1101

このコマンドは、キーを Microsoft.Lab.Isolation.ServerVersion に設定し、VM01 という名前の仮想マシンの値を 1.0.1101 に設定します。 キーが存在しない場合は、指定した値で作成されます。 キーが既に存在する場合は、このコマンドで指定した値を使用してその値が上書きされます。

Read-SCGuestInfo コマンドレットを使用して、キーを指定し、対応する値を返すことができます。

例 3: 複数のキーと値のペアを設定する

PS C:\> $VM = Get-SCVirtualMachine -Name "Win2k8R2"
PS C:\> $ValuesMap  = @{"Key1" = "avalue1"; "Key2IsEmptyString" = "" ; "Key3" = "value3"}
PS C:\> Set-SCGuestInfo -VM $VM -KvpMap $ValuesMap
PS C:\> Read-SCGuestInfo -VM $VM -KvpMap $ValuesMap | Select KvpMap

最初のコマンドは、Win2k8R2 という名前の仮想マシン オブジェクトを取得し、$VM変数にオブジェクトを格納します。

2 番目のコマンドは、キーと値のペアの対応するキーと値を含む、$ValuesMapという名前のハッシュテーブルを作成します。 値は、文字列、空の文字列、または$Nullに設定できます。 値を$Nullに設定すると、キーが削除されます。

3 番目のコマンドは、Win2k8R2 という名前の仮想マシンのキーと値のペアを設定します。

最後のコマンドは、Win2k8R2 という名前の仮想マシンのキーと値のペアを読み取ります。

例 4: キーと値のペアのセットの値のセットを変更する

PS C:\> $VM = Get-SCVirtualMachine -Name "Win2k8R2"
PS C:\> $ValuesMap  = @{"Key1" = "avalue1"; "Key2IsEmptyString" = "" ; "Key3" = "value3"}
PS C:\> Set-SCGuestInfo -VM $VM -KvpMap $ValuesMap
PS C:\> Read-SCGuestInfo -VM $VM -KvpMap $ValuesMap | Select KvpMap
PS C:\> $ValuesMap  = @{"Key2IsEmptyString" = "KeyIsNoLongerEmpty"}
PS C:\> Set-SCGuestInfo -VM $VM -KvpMap $ValuesMap
PS C:\> $ValuesMap  = @{"Key1" = $Null; "Key2IsEmptyString" = $Null; "Key3" = $Null}
PS C:\> Read-SCGuestInfo -VM $VM -KvpMap $ValuesMap | Select KvpMap

最初のコマンドは、Win2k8R2 という名前の仮想マシン オブジェクトを取得し、$VM変数にオブジェクトを格納します。

2 番目のコマンドは、キーと値のペアの対応するキーと値を含む、$ValuesMapという名前のハッシュテーブルを作成します。 値は、文字列、空の文字列、または$Nullに設定できます。 値を$Nullに設定すると、キーが削除されます。

3 番目のコマンドは、Win2k8R2 という名前の仮想マシンのキーと値のペアを設定します。

4 番目のコマンドは、Win2k8R2 という名前の仮想マシンのキーと値のペアを読み取ります。

5 番目のコマンドでは、特定のキーが別の値に変更される新しいハッシュテーブルが作成されます。

6 番目のコマンドは、ハッシュテーブル内の指定されたキーの変更された値を設定します。

最後の 2 つのコマンドでは、Win2k8R2 という名前の仮想マシンのキーと値のペアが読み取られます。キー Key2IsEmptyString の変更された値も含まれます。

例 5: 2 つのメソッドを使用してキーと値のペアを削除する

PS C:\> $VM = Get-SCVirtualMachine -Name "Win2k8R2"
PS C:\> $ValuesMap  = @{"Key1" = "avalue1"; "Key2" = "avalue2"}
PS C:\> Set-SCGuestInfo -VM $VM -KvpMap $ValuesMap
PS C:\> Read-SCGuestInfo -VM $VM -KvpMap $ValuesMap | Select KvpMap
PS C:\> Set-SCGuestInfo -VM $VM -Key Key1 
PS C:\> $KvpsToDelete  = @{"Key2" = $Null}
PS C:\> Set-SCGuestInfo -VM $VM -KvpMap $KvpsToDelete  
PS C:\> Read-SCGuestInfo -VM $VM -KvpMap $ValuesMap | Select KvpMap

最初のコマンドは、Win2k8R2 という名前の仮想マシン オブジェクトを取得し、$VM変数にオブジェクトを格納します。

次の 3 つのコマンドでは、2 つのキーとその値を作成し、仮想マシン Win2k8R2 のコンソールに返します。

5 番目のコマンドは、値パラメーターを指定せずに Set-SCGuestInfo を呼び出すことによって、キーと値のペア Key1 を削除します。

6 番目と 7 番目のコマンドでは、キー Key2 の値として Null を持つ新しいハッシュテーブルが作成されます。 次に、 Set-SCGuestInfo コマンドレットを呼び出すことによってキー Key2 が削除されます。

最後のコマンドは、最初に作成された両方のキーが 2 つの異なるメソッドを使用して削除されたことを示しています。

例 6: 1 つの値が空の複数の値を設定する

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $ValuesMap3 = @{"VSLM1" = "value1"; "VLSM2" = "value2" ; "VLSM3" = "value3" ; "VLDM4" = ""}
PS C:\> Set-SCGuestInfo -VM $VM -KVPMap $ValuesMap3
PS C:\> Read-SCGuestInfo -VM $VM -KVPMap $ValuesMap3 | Select KVPMap

最初のコマンドは、VM01 という名前の仮想マシン オブジェクトを取得し、そのオブジェクトを $VM 変数に格納します。

2 番目のコマンドでは、キーと値のペアの対応するキーと値を含む、$ValuesMap 3 という名前のハッシュテーブルを作成します。 値は、文字列、空の文字列、または$Nullに設定できます。 値を$Nullに設定すると、キーが削除されます。

3 番目のコマンドは、ハッシュテーブル内の指定されたキーの値を設定します。

最後のコマンドは、VM01 という名前の仮想マシンのキーと値のペアを読み取ります。

例 7: 1 つの値を削除し、別の値を空に設定する

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $ValuesMap4 = @{"VLSM2" = $Null; "VSLM1" = "" }
PS C:\> Set-SCGuestInfo -VM $VM -KVPMap $ValuesMap4
PS C:\> Read-SCGuestInfo -VM $VM -KVPMap $ValuesMap4 | Select KVPMap

最初のコマンドは、VM01 という名前の仮想マシン オブジェクトを取得し、そのオブジェクトを $VM 変数に格納します。

2 番目のコマンドは、キーと値のペアの対応するキーと値を含む、$ValuesMap 4 という名前のハッシュテーブルを作成します。 値は、文字列、空の文字列、または$Nullに設定できます。 値を$Nullに設定すると、キーが削除されます。

3 番目のコマンドは、ハッシュテーブル内の指定されたキーの値を設定します。

4 番目のコマンドは、キー VLSM2 を削除し、 Set-SCGuestInfo コマンドを呼び出してキー VSLM1 を空に設定します。

最後のコマンドは、VM01 という名前の仮想マシンのキーと値のペアを読み取ります。

例 8: 1 つの値を設定し、別の値を削除する

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $ValuesMap5 = @{"VSLM1" = "data again"; "VLSM3" = $Null }
PS C:\> Set-SCGuestInfo -VM $VM -KVPMap $ValuesMap5
PS C:\> Read-SCGuestInfo -VM $VM -KVPMap $ValuesMap5 | Select KVPMap

最初のコマンドは、VM01 という名前の仮想マシン オブジェクトを取得し、そのオブジェクトを $VM 変数に格納します。

2 番目のコマンドでは、キーと値のペアの対応するキーと値を含む、$ValuesMap 5 という名前のハッシュテーブルを作成します。 値は、文字列、空の文字列、または$Nullに設定できます。 値を$Nullに設定すると、キーが削除されます。

4 番目のコマンドは、キー VSLM1 を "再びデータ" に設定し、 Set-SCGuestInfo コマンドを呼び出してキー VLSM3 を削除します。

最後のコマンドは、VM01 という名前の仮想マシンのキーと値のペアを読み取ります。

例 9: 存在しないキーの削除を無視する

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $KeysDoNotExist  = @{"o1ff1" = $Null; "o1ff2" = $Null; "o1ff3" = $Null ; "o1ff4" = $Null }
PS C:\> Set-SCGuestInfo -VM $VM -KVPMap $KeysDoNotExist 
PS C:\> Set-SCGuestInfo -VM $VM -Key "o1ff1"

最初のコマンドは、VM01 という名前の仮想マシン オブジェクトを取得し、そのオブジェクトを $VM 変数に格納します。

2 番目のコマンドでは、キーと値のペアの対応するキーと値を含む、$ValuesMap 5 という名前のハッシュテーブルを作成します。 値を$Nullに設定すると、キーが削除されます。

3 番目のコマンドは、ハッシュテーブル内の指定したキーの値を$Nullに設定します。

最後のコマンドは、 Set-SCGuestInfo コマンドレットを呼び出すことによって、キー o1ff1 を除くハッシュテーブル内のすべてのキーを削除します。

パラメーター

-Key

キーと値のペアのキーを指定します。

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-KvpMap

Hyper-V によって公開される値に対応するキーと値のペアのハッシュ テーブルを指定します。

Type:Hashtable
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Value

オブジェクトまたはプロパティの属性を設定するために使用する文字列を指定します。

Type:String
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

仮想マシン オブジェクトを指定します。

Type:VM
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

出力

String

このコマンドレットは 、String オブジェクトを返します。