Test-Path, mas também lista se a máquina de destino está off-line

1

Eu tenho um script do PowerShell que aparece em uma lista de computadores e informa se a pasta que solicito está disponível no PC. O problema é que ele lista computadores offline como falsos.

Eu gostaria de listar os PCs off-line como off-line ou apenas adicionar informações extras. Não me importo em dizer que é falso, desde que eu saiba se o PC está online ou não.

O que eu tenho até agora:

Get-Content c:\computers.txt | '
   Select-Object @{Name='ComputerName';Expression={$_}},@{Name='FolderExist';Expression={ Test-Path "\$_\c$\program files (x86)\thefolder"}}
    
por Maarten 06.06.2017 / 14:40

2 respostas

1

Isso ainda terá o FolderExist False para computadores off-line, mas você verá o que está on-line.

Get-Content .\computers.txt |
   Select-Object @{Name='ComputerName';Expression={$_}},
     @{Name='Online';Expression={(Test-Connection $_ -count 1 -EA 0).StatusCode -eq 0}},
     @{Name='FolderExist';Expression={ Test-Path "\$_\c'$\program files (x86)\common files"}}

Exemplo de saída:

ComputerName Online FolderExist
------------ ------ -----------
Computer01     True        True
Computer02    False       False
Computer03     True       False
    
por 06.06.2017 / 17:09
0

Que tal?

    Get-Content .\computers.txt |
       Select-Object @{n='ComputerName';e={$_}},
                     @{n='FolderExist';e={ If(Test-Connection $_ -Quiet -Count1){Test-Path "\$_\c'$\program files (x86)\common files"}else{"Offline"}}}
    
por 22.08.2017 / 01:34