Как извлечь IPv4-адрес из другой информации в Resolve-DnsName? - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь просто получить IPv4-адрес от запуска Resolve-DnsName в PowerShell. Я не уверен, как это сделать. Это мой код, но я получаю ошибки. (Все еще новичок в PowerShell) Спасибо!

Resolve-DnsName | Get-Process | Select-Object -Property IP4Address

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Команды PowerShell возвращают объекты, которые имеют много свойств. Для начала большинство командлетов по умолчанию предоставят вам четыре или пять наиболее важных свойств.

Resolve-DnsName citiesskylines.com 
Name                                           Type   TTL   Section    IPAddress                                
----                                           ----   ---   -------    ---------                                
citiesskylines.com                             A      60    Answer     34.235.38.236                            
citiesskylines.com                             A      60    Answer     52.72.29.26                              
citiesskylines.com                             A      60    Answer     54.209.87.84    

Вы можете выбрать любое свойство, отправив выходные данные этого командлета в другой файл с именем Select-Object и указав свойства, которые вы хотите.

Resolve-DnsName citiesskylines.com | Select-Object -Property IPAddress

IPAddress    
---------    
34.235.38.236
52.72.29.26  
54.209.87.84 

Вы можете сохранить вывод в переменной и использовать его позже.

$IPAddresses = Resolve-DnsName citiesskylines.com | Select-Object -Property IPAddress

Затем вы можете просмотреть результаты с помощью ForEach l oop и сделайте что-нибудь с этим.

ForEach($address in $IPAddresses){
    $thisIPAddress = $address.IPAddress
    Write-host "About to work with $thisIPAddress"
    #do something here
}

В результате получается

About to work with 34.235.38.236
About to work with 52.72.29.26
About to work with 54.209.87.84

Здесь все в основном работает с кусочками le go и выясняет, какие командлеты вам нужны сделать что-нибудь крутое случиться

В качестве последнего совета попробуйте ввести любой командлет в Format-List, чтобы увидеть все другие полезные свойства, которые он может иметь, но не отображать по умолчанию!

0 голосов
/ 01 мая 2020

Если вы знаете имя хоста целевой машины, вы можете получить IPv4-адрес таким образом.

$hostname = <machine>
Resolve-DnsName $hostname | Where-Object {$_.IPAddress -like "*.*.*.*"}

Если вы знаете su bnet, вы можете заменить любой из подстановочных знаков в где-объект по мере необходимости. Однако, как сказал Йерун выше, это может привести к нескольким различным записям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...