Поделиться через


Set-SCGuestInfo

Задает значение, связанное с ключом для пары "ключ-значение" в гостевой операционной системе.

Синтаксис

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

Описание

Командлет Set-SCGuestInfo задает значение, связанное с ключом для пары "ключ-значение" в гостевой операционной системе.

Примеры

Пример 1. Установка пары "ключ-значение"

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

Первая команда получает объект виртуальной машины с именем VM01 и сохраняет объект в переменной $VM.

Вторая команда задает пару "ключ-значение" для VM01.

Пример 2. Установка ключа на значение пары "ключ-значение"

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

Эта команда задает для ключа значение Microsoft.Lab.Isolation.ServerVersion и значение 1.0.1101 для виртуальной машины с именем VM01. Если ключ не существует, он будет создан с указанным значением. Если ключ уже существует, его значение будет перезаписан с помощью значения, указанного в этой команде.

Командлет 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.

Вторая команда создает хэш-таблицы с именем $ValuesMap, которая содержит соответствующие ключи и значения для пар "ключ-значение". Значения могут быть заданы как строка, пустая строка или $Null. Установка значения для $Null удаляет ключ.

Третья команда задает пары "ключ-значение" для виртуальной машины с именем 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.

Вторая команда создает хэш-таблицы с именем $ValuesMap, которая содержит соответствующие ключи и значения для пар "ключ-значение". Значения могут быть заданы как строка, пустая строка или $Null. Установка значения для $Null удаляет ключ.

Третья команда задает пары "ключ-значение" для виртуальной машины с именем Win2k8R2.

Четвертая команда считывает пары "ключ-значение" для виртуальной машины с именем Win2k8R2.

Пятая команда создает новую хэш-версию, в которой определенный ключ изменяется на другое значение.

Шестая команда задает измененное значение для указанного ключа в хэш-файле.

Последние две команды считывают пары "ключ-значение" для виртуальной машины с именем Win2k8R2, включая измененное значение для key2IsEmptyString.

Пример 5. Удаление пары "ключ-значение" с помощью двух методов

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.

Следующие три команды создают два ключа и их значения и возвращают их в консоль для виртуальной машины Win2k8R2.

Пятая команда удаляет пару key/value Key1 путем вызова Set-SCGuestInfo без указания параметра значения.

Шестая и седьмая команды создают хэш-хэш-файл со значением NULL в качестве значения ключа Key2. Затем ключ Key2 удаляется путем вызова командлета Set-SCGuestInfo .

Последняя команда показывает, что оба ключа, которые изначально были созданы, теперь удаляются с помощью двух отдельных методов.

Пример 6. Установка нескольких значений, где одно значение пусто

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.

Вторая команда создает хэш-таблицы с именем $ValuesMap 3, которая содержит соответствующие ключи и значения для пар "ключ-значение". Значения могут быть заданы как строка, пустая строка или $Null. Установка значения для $Null удаляет ключ.

Третья команда задает значения для указанных ключей в хэш-таблицы.

Последняя команда считывает пары "ключ-значение" для виртуальной машины с именем VM01.

Пример 7. Удаление одного значения и установка другого значения пустым

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.

Вторая команда создает хэш-таблицы с именем $ValuesMap 4, которая содержит соответствующие ключи и значения для пар "ключ-значение". Значения могут быть заданы как строка, пустая строка или $Null. Установка значения для $Null удаляет ключ.

Третья команда задает значения для указанных ключей в хэш-таблицы.

Четвертая команда удаляет ключ VLSM2 и присваивает ключ VSLM1 пустым путем вызова команды Set-SCGuestInfo .

Последняя команда считывает пары "ключ-значение" для виртуальной машины с именем VM01.

Пример 8. Установка одного значения и удаление другого значения

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.

Вторая команда создает хэш-таблицы с именем $ValuesMap 5, которая содержит соответствующие ключи и значения для пар "ключ-значение". Значения могут быть заданы как строка, пустая строка или $Null. Установка значения для $Null удаляет ключ.

Четвертая команда задает для vsLM1 ключ "данные снова" и удаляет ключ VLSM3 путем вызова команды Set-SCGuestInfo .

Последняя команда считывает пары "ключ-значение" для виртуальной машины с именем 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.

Вторая команда создает хэш-таблицы с именем $ValuesMap 5, которая содержит соответствующие ключи и значения для пар "ключ-значение". Установка значения для $Null удаляет ключ.

Третья команда задает значения $Null для указанных ключей в хэш-таблицы.

Последняя команда удаляет все ключи в хэш-списке, за исключением ключа o1ff1 путем вызова командлета Set-SCGuestInfo .

Параметры

-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 .