我正在研究一个脚本,以获取我网络中所有股票的ACL。我有三个独立的UNC路径,我正在运行。这三个中的两个正常工作,返回了所有儿童物品和权限等。但是,第三个UNC路径正在返回以下错误:
Get-ChildItem : Cannot find path '\storagesrvr' because it does not exist.
我已经验证了使用Explorer可用的位置。我发现有趣的是,如果我在该路径的任何子共享上使用GCI,则可以正常工作。有什么可能阻止GCI检测到份额的根源?
编辑(根据评论的要求):我没有问题的其他两个股票像\networkpathshare
一样命名。但是因为我只是在看根,所以GCI不起作用。
我在注释中提到的\computername
只是部分UNC路径(检查[MS-DTYP] Windows数据类型规范中的UNC语法)。
Explorer"知道"这,因此它在背景中会产生一些黑魔法,以允许您在远程计算机上浏览股票。
您可以通过查询远程计算机上的Win32_Share
WMI实例来模拟此内容:
foreach($Share in Get-WmiObject Win32_Share |?{$_.Name -ne 'IPC$'}){
Get-ChildItem "\$($Share.__SERVER)$($Share.Name)"
}
您可以通过致电:
列出共享net view \<computername>
来源:PowerShell获取共享文件夹列表
错误消息实际上是正确的。\storageserver
不是一条路径。这是两个后斜线,然后是计算机名称。
附加了共享名称,并成为一条路径;例如\storageserversharename
。