PowerShell字符串操作

PowerShell字符串操作,powershell,dns,Powershell,Dns,我需要通过PowerShell查找给定IP的DNS注册主机名。 有人能告诉我如何将计算机名(以下示例中的“mysystem”)单独存储到下面输出的变量中 $Hostname = [System.Net.Dns]::GetHostEntry($ipAddress) HostName Aliases AddressList --------

我需要通过PowerShell查找给定IP的DNS注册主机名。 有人能告诉我如何将计算机名(以下示例中的“mysystem”)单独存储到下面输出的变量中

$Hostname = [System.Net.Dns]::GetHostEntry($ipAddress)

HostName                 Aliases         AddressList                                                 
--------                 -------         -----------                                                 
mysystem.mycountry.company.com         {}              {fe80::50d6:7029:f655:f955%11, 

简单。在PowerShell中,返回结果始终是对象。返回结果中的列标题(或返回结果的标签采用列表格式)是所返回对象的属性。因此,不要将整个对象分配给$Hostname,只需分配对象的Hostname属性即可:

$Hostname = ([System.Net.Dns]::GetHostEntry($ipAddress)).HostName

只取
HostName
属性并将其拆分为点:

$Hostname = ([Net.Dns]::GetHostEntry($ipAddress).HostName -split '\.')[0]

啊,是的……我忽略了只想要第一部分,而不是整个FQDN的部分。所以这个答案更完整。