Потяните имена серверов и IP-адрес и посмотрите, если они в прямом эфире - PullRequest
0 голосов
/ 14 декабря 2018

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

У меня есть пара сценариев, которыеделать определенные части, но хотел бы получить что-то все в одном, и мне трудно это делать.

Пинг списка серверов:

$ServerName = Get-Content "c:\temp\servers.txt"
foreach ($Server in $ServerName) {
    if (test-Connection -ComputerName $Server -Count 2 -Quiet ) {
        "$Server is Pinging "
    } else {
        "$Server not pinging"
    }
}

У меня также есть скрипт, чтобы вытащить всеСерверы из AD, которые показывают имя сервера, полное доменное имя и версию ОС:

Import-Module ActiveDirectory
Get-ADComputer -Filter {OperatingSystem -like '*Windows Server*'} -Properties * |
    select Name, DNSHostName, OperatingSystem

Любая помощь в получении сценария, показывающего мне все серверы в моем окружении с полным доменным именем, IP-адресом и, если они есть, будет признательна.

1 Ответ

0 голосов
/ 14 декабря 2018

Вы должны выбирать нужные свойства только с аргументом -Property и не извлекать все через сеть с *.Также кавычки следует использовать с -Filter, а не с фигурными скобками.

Вы можете добавить вычисляемое свойство к Select-Object и получить значение из Test-NetConnection:

Get-ADComputer -Filter "OperatingSystem -like '*Windows Server*'" -Properties dnshostname, operatingsystem |
    Select-Object name, dnshostname, operatingsystem, `
    @{n="PingSucceeded";e={(Test-NetConnection $_.name).PingSucceeded}}
...