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 .