Read-SCGuestInfo

检索与来宾操作系统中的密钥关联的值。

语法

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

说明

Read-SCGuestInfo cmdlet 检索与来宾操作系统中的键 (键/值) 对关联的值。

示例

示例 1:获取虚拟机的指定密钥的 IntegrationServicesVersion 值

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> Read-SCGuestInfo -VM $VM -Key "FullyQualifiedDomainName"

第一个命令获取名为 $VM 01 的虚拟机对象,并将对象存储在$VM变量中。

第二个命令返回虚拟机 VM01 的 IntegrationServicesVersion 键/值对。

示例 2:使用管道运算符获取虚拟机的指定密钥的 IntegrationServicesVersion 值

PS C:\> Get-SCVirtualMachine -Name "VM01" | Read-SCGuestInfo -Key IntegrationServicesVersion

此命令返回虚拟机 VM01 的 IntegrationServicesVersion 键/值对。

示例 3:基于虚拟机的指定密钥获取多个 KVP 值

PS C:\> $ValuesMap = @{}
PS C:\> $ValuesMap.Add("NetworkAddressIPv4", $Null)
PS C:\> $ValuesMap.Add("IntegrationServicesVersion", $Null)
PS C:\> $VM = Get-SCVirtualMachine "VM02" 
PS C:\> Read-SCGuestInfo -VM $VM -KvpMap $ValuesMap

第一个命令创建名为$ValuesMap的数组。

第二和第三个命令将值添加到$ValuesMap数组。

第四个命令获取名为 VM02 的虚拟机对象,并将该对象存储在$VM变量中。

最后一个命令返回虚拟机 VM02 的 IntegrationServicesVersion 和 NetworkAddressIPv4 键/值对。

示例 4:通过哈希表读取多个数据类型

PS C:\> $VM = Get-SCVirtualMachine -Name "VM03"
PS C:\> $ValuesMap = @{}
PS C:\> $ValuesMap.Add("NetworkAddressIPv4", $Null)
PS C:\> Read-SCGuestInfo -VM $VM -KvpMap $ValuesMap
PS C:\> $ValuesMap.Add("NetworkAddressIPv6", $Null)
PS C:\> Read-SCGuestInfo -VM $VM -KvpMap $ValuesMap
PS C:\> $ValuesMap2 = @{"NetworkAddressIPv4" = $Null; "FullyQualifiedDomainName" = $Null}
PS C:\> Read-SCGuestInfo -VM $VM -KvpMap $ValuesMap2

第一个命令获取名为 VM03 的虚拟机对象,并将该对象存储在$VM变量中。

第二个命令创建名为$ValuesMap的数组。

第三个命令将 NetworkAddressIPv4 添加到$ValuesMap数组。

第四个命令获取 VM03 的 NetworkAddressIPv4 键/值对。

第五个命令将 NetworkAddressIPv6 添加到$ValuesMap数组。

第六个命令获取 VM03 的 NetworkAddressIPv6 键/值对。

第七个命令创建名为 $ValuesMap 2 的数组,其中包含 NetworkAddressIPv4 和 FullQualifiedDomainName。

最后一个命令返回 NetworkAddressIPv4 和 Vm03 的 FullyQualifiedDomainName 的键/值对。

示例 5:读取不存在的密钥

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

第一个命令获取名为 VM01 的虚拟机对象,并将对象存储在$VM变量中。

第二个、第四和第六个命令分别创建一组为 null 的键,并将集存储在$KeysDoNotExist变量中。

第三个、第五和第七个命令在$KeysDoNotExist中读取 KVPMap 并显示结果。

参数

-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

-VM

指定一个虚拟机对象。

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

输出

String

此 cmdlet 返回 String 对象。