我的任务是将我们领域中的一些日常任务委派给一群没有Domain Admins
会员资格的技术人员。其中一项任务是创建新的基于域的 Dfs 根(Server 2008 R2 Enterprise DC)。这就是我卡住的地方。
c0de
这基本上只是试图创建一个基于域的 Dfs 根,使用任意(列表中的第一个)域控制器作为第一个命名空间服务器:
$DfsnRootName="test"
$DCList = Get-ADDomainController -Filter * | ForEach-Object { ,$_.HostName }
New-DfsnRoot -Path "\\domain.contoso.com\$DfsnRootName" -TargetPath "\\$($DCList[0])\$dfsnRootName" `
-Description "Dfs-Root für $DfsnRootName" -EnableAccessBasedEnumeration $true -Type DomainV2
$DCList | ForEach-Object {
New-DfsnRootTarget -Path "\\domain.contoso.com\$DfsnRootName" `
-TargetPath "\\$_\$dfsnRootName" -State Online
}
错误0r
上面的代码抛出一个异常,提到缺少对 CIM 资源的访问权限。CategoryInfoROOT\Microsoft\Windows\DFSN\MSFT_DFSNamespace
中给出的路径类似于 WMI 路径:
New-DfsnRoot : Access to a CIM resource was not available to the client.
At line:1 char:1
+ New-DfsnRoot -Path "\\domain.contoso.com\$DfsnRootName" -TargetPath "\\$($DCList ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (MSFT_DFSNamespace:ROOT\Microsoft\...FT_DFSNamespace) [New-DfsnRoot], CimException
+ FullyQualifiedErrorId : MI RESULT 2,New-DfsnRoot
PS Z:\> $Error[0].CategoryInfo
Category : PermissionDenied
Activity : New-DfsnRoot
Reason : CimException
TargetName : MSFT_DFSNamespace
TargetType : ROOT\Microsoft\Windows\DFSN\MSFT_DFSNamespace
无奈的 res0luti0n 尝试:
这实际上只是为添加到CN=Dfs-Configuration,CN=System
AD 容器的主体添加“完全控制”ACE。
当我在使用“添加 Dfs root”向导时收到错误指示服务控制管理器上缺少权限时dfsmgmt.msc
,我曾经sc sdset scmanager
操纵 SDDL 字符串添加具有“KA”(密钥访问)权限的相应组,类似于BUILTIN\Administrators
ACE默认情况下存在。
这样,我可以使用“添加 Dfs 根”向导完成所有步骤,但根本身的创建仍然失败 - “无法添加命名空间服务器 \ADSRV0\Test。访问被拒绝”
W00吨?