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 .