我有一个 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"}}}