Set-SCGuestInfo

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

Синтаксис

MultipleKvpKeys

Set-SCGuestInfo
    [-VM] <VM>
    -KvpMap <Hashtable>
    [<CommonParameters>]

SingleKvpKey

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.

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

Шестая и седьмая команды создают новую хеш-таблицу со значением 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 в положение "data again" и удаляет ключ 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

Указывает ключ в паре ключ-значение.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

SingleKvpKey
Position:1
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-KvpMap

Указывает хэш-таблицу пар ключ-значение, соответствующих значениям, предоставляемым Hyper-V.

Свойства параметра

Тип:Hashtable
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

MultipleKvpKeys
Position:Named
Обязательно:True
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Value

Указывает строку, используемую для атрибутирования объекта или свойства.

Свойства параметра

Тип:String
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

SingleKvpKey
Position:2
Обязательно:False
Значение из конвейера:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-VM

Указывает объект виртуальной машины.

Свойства параметра

Тип:VM
Default value:None
Поддерживаются подстановочные знаки:False
DontShow:False

Наборы параметров

(All)
Position:0
Обязательно:True
Значение из конвейера:True
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

Выходные данные

String

Этот командлет возвращает объект String .