2016-04-25 82 views
1

返回嵌套組當我使用Win32_GroupUser請求本地安全組的成員,我也得到嵌套域組。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" 

同樣的查詢,但這次的域控制器上和域安全的成員組:

​​

只返回用戶帳戶,儘管其成員與上面的本地組完全相同。

PartComponent 
------------ 
\\VW-DC01\root\cimv2:Win32_UserAccount.Domain="FLIP",Name="test4"            
\\VW-DC01\root\cimv2:Win32_UserAccount.Domain="FLIP",Name="test5" 

我看到這種行爲

  • 本地時從另一臺服務器與-ComputerName參數
  • 還與域本地,全球使用System.Management
  • C#應用程序執行,並與通用安全組

是否有人知道這是爲什麼? 更重要的是,我是否可以更改此行爲,以便我還可以查看域組中的嵌套組?

我想列舉兩個本地和域組,包括嵌套組的成員的成員資格。

PS:我知道我還可以使用Get-ADGroupMember cmdlet的,但是這不是一個選項。我只有到目標服務器的WMI連接,而不是LDAP或WinRM。

THX,

+0

我想看到這個問題的答案爲好,但ADSI一個選項嗎?還有一種方法可以根據需要指定憑證 –

+0

恐怕不是@AnthonyStringer。如果我沒有弄錯ADSI使用關閉的LDAP端口。這是一個託管環境。我正在從管理網絡掃描嚴格分離的客戶網絡。 – flip

回答

0

你將只能看到本地組(即非域)的計算機本身上,而不是從域控制器。
至於滾動自己的遞歸函數看到嵌套組,車距,你可以看看Quest Active Directory tools 功能Get-QADGroupMember

+0

我不認爲這是正確的。正如我的第一個示例所示,我確實看到屬於本地安全組的成員的域組。問題是我沒有看到屬於另一個域組的成員的域組。 Quest Active Directory工具使用LDAP就像本機ActiveDirectory PowerShell模塊一樣,所以這不是一個選項。如果是我可以使用Get-ADGroupMember cmdlet。 – flip