Get-Childitem无法找到路径,因为它不存在



我正在研究一个脚本,以获取我网络中所有股票的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

相关内容

最新更新