Самый быстрый способ
Есть много способов получить через Powershell имя компьютера. Отличаются они только условиями, в которых вы планируете это сделать. Начнем с самого простого:
Resolve-DnsName -Name 192.168.3.134
Где:
-Name - ip адрес нужного компьютера
Этот командлет работает так же как и NSLOOKUP в cmd.
Узнаем имена компьютеров через Powershell используя PSremoting
Мы так же можем использовать PSremoting, но для него может потребоваться предварительная настройка, т.к. будет использоваться NTLM. Настройка обсуждалась в этой статье. Если с помощью встроенной переменной мы получаем имя своего компьютера:
$env:computername
То у множества компьютеров имя мы можем получить так:
Invoke-Command -ComputerName 192.168.3.100,192.168.3.134 -ScriptBlock {$env:computername}
Узнаем имена множества компьютеров
Если мы хотим узнать имена у множества компьютеров через Powershell, не используя PSremoting, то это тоже возможно. Допустим есть TXT файл с именем ip.txt, где IP адреса хранятся так:
192.168.3.134,192.168.3.100
Мы этот файл открываем, разделяем значения по запятым и передаем в Resolve-DNSName:
#Открываем файл и объявляем переменную
$file = Get-Content -Path C:\ip.txt
#Передаем значения
$file.split(',') | Resolve-DnsName
Имя компьютера через Powershell используя WMI
Для того что бы узнать имя используя WMI можно сделать:
Get-WmiObject -Class Win32_ComputerSystem -ComputerName 192.168.3.134
Более подробно WMI в Powershell рассматривался тут.
...
Подписывайтесь на наш Telegram канал
Теги: #powershell