Проверьте, подключены ли компьютеры из файла

#powershell

#powershell

Вопрос:

Я пытаюсь проверить, подключен ли компьютер из файла computers.txt есть они в сети или нет. Я использую нижеприведенную рекомендацию, но я хотел бы видеть имя компьютера рядом с истинным или ложным разрешением этого. Возможно ли это добавить?

 Test-Connection -BufferSize 32 -Count 1 -ComputerName (Get-Content C:Tempcomputers.txt) -Quiet |
Out-GridView
  

Ответ №1:

Для этого вам нужно использовать цикл ForEach и вывести PSObject с нужными свойствами:

 Get-Content C:Tempcomputers.txt | ForEach-Object {
    [PsCustomObject]@{
        Computer = $_
        IsOnline = Test-Connection -BufferSize 32 -Count 1 -ComputerName $_ -Quiet
    }
} | Out-GridView
  

Ответ №2:

Альтернатива ответу Тео, используя синтаксис выбора объекта:

 Get-Content C:Tempcomputers.txt |
select @{n="Computer";e={$_}}, @{n="IsOnline";e={Test-Connection -BufferSize 32 -Count 1 -ComputerName $_ -Quiet}} |
Out-GridView
  

Плюсы: быстрее и работает даже со старыми версиями PowerShell, которые не поддерживают [pscustomobject]

Минусы: неуклюжий синтаксис