我无法让Test-Path cmdlet在远程系统的其他驱动器上找到文件夹。
以下方法适用于系统驱动器。
Test-Path -PATH '\\ServerName\C$\FolderName'
下一个示例总是返回false。
Test-Path -PATH '\\ServerName\D$\FolderName'
我已经验证了路径及其拼写。如果我远程连接到计算机并运行,Test-Path将找到路径
Test-Path -PATH 'D:\FolderName'
我一定漏掉了什么。有谁能开导我一下吗?
发布于 2017-11-29 12:19:50
您需要以这种方式指定UNC路径。
$path = 'filesystem::\\servername\D$\FolderName'
If(Test-path -Path $path){
Your code....
}
发布于 2017-11-29 15:43:54
此实例中的d
-drive可能不是ServerName
上的逻辑磁盘,而是远程驱动器...
Get-PSDrive
CmdLet将返回您的机器可用的各种驱动器的详细信息。
正如您所猜到的,Get-PSDrive -PSProvider FileSystem
将返回文件系统驱动器!
您需要在登录计算机时运行此CmdLet,或者您也可以使用如下所示的Invoke-Command
:
Invoke-Command -ComputerName "ServerName" -Credential $(Get-Credential) -ScriptBlock {
Get-PSDrive -PSProvider FileSystem
}
发布于 2020-01-08 19:26:16
您在其中一条评论中提到这是一个拇指驱动器。拇指驱动器不是由windows管理共享的,因此该共享不存在。
如果您在拇指驱动器上创建了一个文件夹,如d:\test,并将其共享为"test",那么您可以测试"\servername\test“的路径,并获得良好的结果。
https://stackoverflow.com/questions/47543552
复制相似问题