PowerShell 检测UNC路径


Test-Path可以测试文件或文件夹是否存在,它能很好的支持驱动盘符,但是光UNC路径将可能不行。

看下面例子,它将返回$true,假设你没有关闭它隐藏的管理共享目录。

$path = '\\127.0.0.1\c$'

Test-Path -Path $path

再看这个,同样的代码这个将返回 $false:

Set-Location -Path HKCU:\
$path = '\\127.0.0.1\c$'

Test-Path -Path $path

如果当前路径指向注册表,Powershell在非文件系统的位置将获取不到UNC路径,因为test-path 会优先从当前提供程序的上下文中去获取UNC路径,但当前的注册表中没有这样的路径,Test-Path将返回$false.

确保Test-Path使用正确的UNC路径,你必须先在UNC路径上加上FileSystem。这样,即使环境没有在磁盘下,也可返回正确的结果。

Set-Location -Path HKCU:\
$path = 'filesystem::\\127.0.0.1\c$'

Test-Path -Path $path

原文地址: Testing UNC Paths

本文链接: https://www.pstips.net/testing-unc-paths.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注