Как посмотреть имя хоста при пинге с сервера? - PullRequest
0 голосов
/ 18 мая 2019

Я пинговал серверы, и он работает (он показывает мне IP-адрес, который может быть проверен), но я хочу, чтобы он показывал имя хоста и IP-адрес.Я пытался включить [System.Net.Data.Dns]::GetHostName(), но я не знаю, где его поставить.Я новичок в использовании PowerShell.Я также пытался использовать -and, но это не работает.
Я понимаю, как это сделать Python, я просто не знаю, как перевести его в PowerShell.

$columnC = "n1-1mon-i3fp04","n1-1mon-i3fp06","n1-1mon-i3fp07","n1-r-1mon-i3fp09","n1-r-1mon-i3fp10","n1-1mon-i3fp08","n1-1mon-i3fp03","n1-1mon-i3fp02","n1-1mon-i3fp111"
$columnC | % $_ {$Device = Resolve-DnsName -Name $_ 
    $Device.[System.Net.Data.Dns]::GetHostName()
  if (test-connection $Device.("IPAddress")) {write-host Device.("IPAddress") "Ping succeeded." -foreground green} 
   else {write-host $Device.("IPAddress") "Ping failed." -foreground red}}

Результатпоказывает сообщение об ошибке, как синтаксис неверен.Я хочу, чтобы он показывал IP-адрес и имя хоста.

1 Ответ

0 голосов
/ 18 мая 2019

[править - Тео указал, что GetHostByName устарел в пользу GetHostEntry. когда я это проверял, это дало более последовательные результаты, поэтому я поменял их местами.]

при этом вы получите статус ComputerName, HostName и Online. затем сохраните их в пользовательский объект, отправьте объект в коллекцию $ Results и, наконец, покажите, что находится в коллекции. [ ухмылка ]

# fake reading in a text file
#    in real life use Get-Content
$ComputerList = @'
BetterNotBeThere
LocalHost
10.0.0.1
127.0.0.1
'@ -split [environment]::NewLine

$Results = foreach ($CL_Item in $ComputerList)
    {
    try
        {
        $HostName = [System.Net.Dns]::GetHostEntry($CL_Item).HostName 
        }
        catch
        {
        $HostName = '__Not Found__'
        }
    [PSCustomObject]@{
        ComputerName = $CL_Item
        HostName = $HostName
        Online = Test-Connection -ComputerName $CL_Item -Count 1 -Quiet
        }
    }

$Results

вывод ...

ComputerName     HostName      Online
------------     --------      ------
BetterNotBeThere __Not Found__  False
LocalHost        [MySysName]    True
10.0.0.1         __Not Found__  False
127.0.0.1        [MySysName]    True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...