我可以用下面的代码示例重新创建问题
New-PSDrive -Name Z -PSProvider FileSystem -Root \10.10.22.6d$ -Credential $cred -Confirm:$false -Scope Global
Set-Content -Path 'Z:__unc_testPowershell___datefile' -Value ([System.DateTime]::Now).ToString()
Get-ChildItem Z:__unc_test
Get-ChildItem将返回一个目录列表,这样我就知道New-PSDrive调用成功了,并且UNC可以通过Powershell使用。
但是,Set Content调用失败,并出现以下错误:
Set-Content : Could not find a part of the path '\10.10.22.6d$10.10.22.6d$10.10.22.6d$__unc_testPowershell___datefile'.
At line:1 char:1
+ Set-Content -Path 'Z:__unc_testPowershell___datefile' -Value ([System.DateTim ...
如果你看到这个错误,就会发现Set Content试图以某种方式解析路径,并且正在做一些非常古怪的事情。
有人能试着在他们的机器上重现这个吗?和/或向我解释我在这里做错了什么?Get-Item、Get-ChildItem和Copy-Item似乎都适用于该驱动器号,但不适用于Set-Content。
我可以在我的机器上重新处理这个问题。只有在调用"设置内容"之前文件不存在时才会出现这种情况。简单的解决方案,在使用设置内容之前运行此:
New-Item -Path 'Z:__unc_testPowershell___datefile' -Type file -Force
如果我使用"net use"添加驱动器,也不会出现此问题。