2013-09-22 49 views
0

我有要求通过PowerShell查找给定IP的DNS注册主机名。 有人可以告诉我如何将计算机名称(下面的示例中的“mysystem”)存储到下面输出的变量中。PowerShell字符串操作

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

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

回答

1

简单。在PowerShell中,返回结果始终是对象。返回结果中的列标题(或返回结果的标签是列表格式)是返回的对象的属性。因此,而不是分配整个对象$主机名,只是分配对象的主机名属性:

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

取适量HostName财产,并在点把它分解:

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

嗯,是的。 ..我忽略了关于只想要第一部分而不是整个FQDN的部分。所以这个答案更完整。 –