【发布时间】:2013-08-29 13:28:00
【问题描述】:
我的脚本应该在计算机列表 (txt) 中查找文件,如果文件存在则返回 true,否则返回 false。
问题是,即使文件确实存在,它也会返回“False”。
$computers = Get-Content -Path C:\temp\SvcHosts\PSKILL_SvcHosts_Workstations.txt
foreach ($comp in $computers)
{
Test-Path \\$comp\c$\Windows\myfolder\myapp.exe
}
当我单独运行 Test-Path \\COMPUTERNAME\c$\Windows\myfolder\myapp.exe 时,它应该返回 true。
当我从 txt 列表运行时,它不应该返回 false。
有什么想法吗?
【问题讨论】:
-
该文件的凭据错误?
-
添加
Write-Debug的$comp和循环内的完整路径并启用调试输出:文件中可能不完全符合您的期望。 -
尝试使用 ` 转义
$ -
为了安全起见,我会在路径周围使用
-LiteralPath和双引号。如果$comp是名称而不是IP 地址,请确保它可以被解析。另外,请注意C$是一个管理共享,因此您需要$comp的管理员权限才能访问它。
标签: powershell