我正在编写一个脚本来获取我网络中所有共享的ACL。我有三个独立的UNC路径,我正在运行它。三个中的两个完美地工作,返回所有子项和权限等。但是,第三个UNC路径返回以下错误:
Get-ChildItem : Cannot find path '\\storagesrvr' because it does not exist.
我已使用资源管理器验证了该位置是否可用。我觉得有趣的是,如果我在该路径的任何子股上使用GCI,它就可以工作。什么可能阻止GCI检测共享的根?
编辑(根据评论的要求):我没有遇到任何问题的其他两个股票被命名为\\networkpath\share
。但因为我只是看着根,GCI没有工作。
答案 0 :(得分:4)
正如我在评论中提到的\\computername
只是部分UNC路径(检查[MS-DTYP] Windows Data Type specification中的UNC语法)。
资源管理器"了解"这个,所以它在后台做了一些黑魔法,允许你浏览远程计算机上的共享。
您可以通过查询远程计算机上的Win32_Share
WMI实例来模拟这一点:
foreach($Share in Get-WmiObject Win32_Share |?{$_.Name -not 'IPC$'}){
Get-ChildItem "\\$($Share.__SERVER)\$($Share.Name)"
}
答案 1 :(得分:2)
答案 2 :(得分:1)
错误消息字面上是正确的。 \\storageserver
不是路径。它是两个反斜杠,后跟一个计算机名称。
为其附加共享名称,它将成为路径;例如\\storageserver\sharename
。