当我使用Win32_GroupUser请求本地安全组的成员时,我也会获得嵌套域组。
E.g。在PowerShell中,这个查询在成员服务器上:
Get-WmiObject Win32_GroupUser -Filter "GroupComponent='Win32_Group.Domain=`"myserver`",Name=`"LocalTestGroup02`"'" | select PartComponent
返回用户和域帐户:
PartComponent
-------------
\\myserver\root\cimv2:Win32_Group.Domain="FLIP",Name="TestGroup"
\\myserver\root\cimv2:Win32_UserAccount.Domain="FLIP",Name="test5"
\\myserver\root\cimv2:Win32_UserAccount.Domain="FLIP",Name="test4"
相同的查询,但这次是在域控制器上以及域安全组的成员身份:
Get-WmiObject Win32_GroupUser -Filter "GroupComponent='Win32_Group.Domain=`"FLIP`",Name=`"TestGroup2`"'" | select PartComponent
仅返回用户帐户,尽管其成员与上面的本地组完全相同。
PartComponent
------------
\\VW-DC01\root\cimv2:Win32_UserAccount.Domain="FLIP",Name="test4"
\\VW-DC01\root\cimv2:Win32_UserAccount.Domain="FLIP",Name="test5"
我看到了这种行为
-ComputerName
参数有人知道为什么吗? 更重要的是,我可以更改此行为,以便我还可以查看域组中的嵌套组吗?
我试图枚举本地和域组的成员资格,包括嵌套组中的成员。
PS:我知道我也可以使用Get-ADGroupMember cmdlet,但这不是一个选项。我只与目标服务器建立了WMI连接,而不是LDAP或WinRM。
THX,
答案 0 :(得分:0)
您只能在计算机本身上看到本地组(即非域),而不能从域控制器看到。
至于看嵌套组,除了滚动你自己的递归函数,你可以看看Quest Active Directory tools
函数是Get-QADGroupMember