为什么来自网络位置的Get-ChildItem失败

时间:2017-01-04 08:54:23

标签: powershell

我正在尝试从网络位置获取目录名称。

这很好用:Get-ChildItem "c:\"

但是当我尝试:Get-ChildItem "\\domain\test\folder"

我收到此错误:

  

Get-ChildItem:找不到路径'\\ domain \ test \ folder'

虽然这条路径存在但我可以使用开始→运行... 来实现它。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

表格中的UNC路径:

\\domain\sharename\path

是域DFS(分布式文件系统)共享。

如评论中所述,您需要查询Active Directory以枚举域根(\\domain\)处可用的命名空间:

$Domain = Get-ADDomain
$SystemContainer = $Domain.SystemsContainer
$DFSDomainNamespaces = Get-ADObject -Filter 'objectClass -eq "msDFS-Namespacev2"' -SearchBase "CN=Dfs-Configuration,$SystemContainer"

# Construct UNC Paths for the namespace root shares:
$DFSShares = $DFSDomainNamespaces |ForEach-Object {
    '\\{0}\{1}\' -f $Domain.DNSRoot,$_.Name
}

$DFSShares现在包含命名空间根共享的完整UNC路径