我对“New-PSDrive -Root”有疑问
当我尝试使用数组映射 New-PSDrive -Root $patch 和 $path 时,cmd 不会映射驱动器但给我一个错误:“找不到网络路径”。
如果我在 Windows 中使用资源管理器,则该路径有效。
我该如何解决?
非常感谢
例子:
foreach ($s in $serverlist)
{
$path = "\\$s\e$\Updates\file\
New-PSDrive -Name "S" -Root $path -Persist -PSProvider "FileSystem" -Credential $cred
}
这是整个脚本:
Get-Date -Format "dddd MM/dd/yyyy HH:mm K">> "C:\file\results.txt"
$cred = Get-Credential -Credential domain\name
$serverlist = @(get-content -Path "C:\file\serverlist.txt")
foreach ($s in $serverlist)
{
$path = "\\$s\e$\Updates\file\"
New-PSDrive -Name "S" -Root $path -Persist -PSProvider "FileSystem" -Credential $cred
$path2 = "\\$s\e$\Updates\file\errors.txt"
$file = Get-Content $path2
$containsWord = $file | %{$_ -match "0"}
if ($containsWord -contains $true) {
Out-File -FilePath "C:\file\results.txt" -Append -InputObject "$s : ok"
} else {
Out-File -FilePath "C:\file\results.txt" -Append -InputObject "$s : nok"
}
Remove-PSDrive -Name "S"
}
编辑1:如果我尝试通过具有相同凭据的Windows资源管理器直接访问该文件,然后我运行脚本,它就可以工作