我知道要获取计算机名称,我们可以通过cmd访问该服务器并执行此命令。
但是,是否可以通过ip地址获取远程计算机的名称?所有这些ip地址都是内部ip。
发布于 2019-12-31 13:59:57
这不是PowerShell特定的问题或限制。这是一项非常常见的网络管理员工作。
正如BACON所指出的,您可以使用nslookup,但是Window也提供了.Net名称空间,而PowerShell为这种用例提供了DNS。
这个问题在Stackoverflow上也被问了很多次,回答了很多次。这在MS文档站点、TechNet、MSDN和其他博客上都有很好的文档记录。例如
Powershell : Resolve Hostname from IP address and vice versa
# Find machine name from IP address:
$ipAddress= "192.168.1.54"
[System.Net.Dns]::GetHostByAddress($ipAddress).Hostname
Resolve Hostname to IP Address:
$machineName= "DC1"
$hostEntry= [System.Net.Dns]::GetHostByName($machineName)
$hostEntry.AddressList[0].IPAddressToString
<#
Resolve Hostname for set of IP addresses from text file:
Use the below powershell script to find machine name for multiple IP addresses.
First create the text file ip-addresses.txt which includes one IP address in
each line. You will get the machinename list in the txt file machinenames.txt.
#>
Get-Content C:\ip-addresses.txt |
ForEach-Object{
$hostname = ([System.Net.Dns]::GetHostByAddress($_)).Hostname
if($? -eq $True) {
$_ +": "+ $hostname >> "C:\machinenames.txt"
}
else {
$_ +": Cannot resolve hostname" >> "C:\machinenames.txt"
}
}
<#
Find Computer name for set of IP addresses from CSV:
Use the below powershell script to get hostname for multiple IP addresses from
csv file. First create the csv file ip-addresses.csv which includes the column
IPAddress in the csv file. You will get the hostname and IP address list in the
csv file machinenames.csv.
#>
Import-Csv C:\ip-Addresses.csv |
ForEach-Object{
$hostname = ([System.Net.Dns]::GetHostByAddress($_.IPAddress)).Hostname
if($? -eq $False){
$hostname="Cannot resolve hostname"
}
New-Object -TypeName PSObject -Property @{
IPAddress = $_.IPAddress
HostName = $hostname
}
} |
Export-Csv 'D:\Temp\machinenames.csv' -NoTypeInformation -Encoding UTF8
发布于 2020-01-01 05:52:38
还有一个非常简单的cmdlet Resolve-DnsName
。
Resolve-DnsName 10.1.1.1
结果有很多细节。NameHost
就是你想要的:
Name Type TTL Section NameHost
---- ---- --- ------- --------
1.1.1.10.in-addr.arpa PTR 3600 Answer ServerName.DomainName.com
https://stackoverflow.com/questions/59539337
复制相似问题