Test-Path 还会列出目标机器是否处于离线状态

Test-Path 还会列出目标机器是否处于离线状态

我有一个 PowerShell 脚本,它可以浏览计算机列表并告诉我我请求的文件夹是否在该 PC 上可用。问题是它将离线 PC 列为假。

我希望它将离线 PC 列为离线,或者如果是,则添加额外信息。只要我知道 PC 是否在线,我不介意它说它是假的。

我目前拥有的:

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

答案1

对于离线计算机,FolderExist 仍然会为 False,但您会看到哪些计算机处于在线状态。

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"}}

示例输出:

ComputerName Online FolderExist
------------ ------ -----------
Computer01     True        True
Computer02    False       False
Computer03     True       False

答案2

怎么样?

    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"}}}

相关内容