2013-09-27 29 views
0

我有一個AD組「辦公室用戶」在絞車不同部門用戶組是成員。 Finance-dep擁有財務中的所有用戶,而Finance-dep是Office-Users組的成員等等。獲取嵌套AD組的用戶成員和他們的信息

我喜歡將所有嵌套組用戶導出到csv,併爲每個用戶提供更多信息。

我已經得到了所有用戶的出這樣的:

Get-ADGroupMember Office-Users | where{$_.ObjectClass -eq "Group"} | %{Write $_.Name;Get-ADGroupMember $_} 

但它只返回名稱,SAM帳戶名,distinguishedName來等

我錯過了說明,的lastLogonTimestamp,whenCreated,啓用/禁用的用戶,所以我可以檢查誰在使用Office。

有沒有簡單的方法來解決這個問題?

我已經使用它來導出所有用戶及其狀態/信息,但它不是基於Office組。我試圖修改它,但我失敗了:)

$alist = "Name`tAccountName`tDescription`tLastLogonTimestamp`tCompany`twhenCreated`tAcctEnabled`tGroups`n" 
$userlist = Get-ADUser -Filter * -Properties * | Select-Object -Property Name,SamAccountName,Description,lastLogonTimestamp,Company,whenCreated,Enabled,MemberOf | Sort-Object -Property Name 
$userlist | ForEach-Object { 
$grps = $_.MemberOf | Get-ADGroup | ForEach-Object {$_.Name} | Sort-Object 
$arec = $_.Name,$_.SamAccountName,$_.Description,[datetime]::FromFileTime($_.lastLogonTimestamp).ToString('d MMMM yyyy'),$_.Company,$_.whenCreated,$_.Enabled 
$aline = ($arec -join "`t") + "`t" + ($grps -join "`t") + "`n" 
$alist += $aline 
} 
$alist | Out-File C:\temp\ADUsers.csv 

/金

回答

0

得到這個工作:

$alist = "Name`tAccountName`tDescription`tLastLogonTimestamp`tCompany`twhenCreated`tAcctEnabled`n" 
$userlist = Get-ADGroupMember Office-Users -Recursive | Get-ADUser -properties * | Select-Object -Property Name,SamAccountName,Description,lastLogonTimestamp,Company,whenCreated,Enabled | Sort-Object -Property Name 
$userlist | ForEach-Object { 
$arec = $_.Name,$_.SamAccountName,$_.Description,[datetime]::FromFileTime($_.lastLogonTimestamp).ToString('HH:mm d MMMM yyyy'),$_.Company,$_.whenCreated,$_.Enabled 
$aline = ($arec -join "`t") + "`t" + "`n" 
$alist += $aline 
} 
$alist | Out-File C:\temp\Office-users.csv 

謝謝:)

0

如何改變這種行頭嗎?

Get-ADGroupMember Office-Users | where{$_.ObjectClass -eq "Group"} | %{Write $_.Name;Get-ADUser (Get-ADGroupMember $_) -properties *} 

現在,你必須在這些組的用戶的所有屬性,可以有選擇地顯示你關心哪個屬性。

+0

我得到:GET-ADGroupMember:參數無法找到匹配的參數名稱 '屬性'。 –

+0

@ kimr-dk我認爲這是因爲右括號應該在-properties *之前,這對用戶來說是真的。更新了上面的內容,你能再次檢查嗎? –

+0

是的,那樣更好,但是對於Office用戶的每個組成員:「Get-ADUser:無法將'System.Object []'轉換爲參數'Identity'所需的類型'Microsoft.ActiveDirectory.Management.ADUser' 。不支持指定的方法 「 –