如何仅获取财产价值

如何仅获取财产价值

我想从计算机名称中检索 IP 地址,但我只想要 IP 而已。

$computer = 'Server1'
$computer = [System.Net.Dns]::GetHostAddresses($computer) | select IPAddressToString

返回 @{IPAddressToString=xxxx}。我如何返回“xxxx”

答案1

使用您的示例,您可以键入$Computer.IPAddressToString以返回 IP 地址数组。如果该主机名只有 1 个 IP 地址,那么就只有这些。但是,主机名可能有许多地址,这就是它为什么是一个数组的原因。因此,如果您只想查看数组中的第一个 IP 地址,您可以键入$Computer.IPAddressToString[0]

答案2

代替

| select IPAddressToString

(Powershell 2.0 以上版本)

| select -First 1 -ExpandProperty IPAddressToString

或者,如果你想使用数组

| select -ExpandProperty IPAddressToString

这将返回一个字符串数组,因此,如果您想要单独的地址,请使用类似

([System.Net.Dns]::GetHostAddresses($computer) | select -ExpandProperty IPAddressToString)[0]

答案3

添加()。IpAddressToString

([Net.Dns]::GetHostAddresses('Server1')).IpAddressToString

答案4

我总是用 foreach 这样做,而不是 select -expand:

$computer = 'Server1'
$computer = [Net.Dns]::GetHostAddresses($computer) | foreach IPAddressToString

相关内容