我必須在 3 個組織單位中提取屬性為空的活動帳戶。但是,我希望結果顯示在同一個 excel 檔案中。有可能幫我解決這個問題嗎?
$date = Get-Date -Format yyyy-MM-dd
$path = "c:\temp\empty_attributes.xlsx"
$OU1 = "OU=Accounts,DC=com,DC=contoso"
$OU2 = "OU=TestAccounts,DC=com,DC=contoso"
$OU3 = "OU=Users,DC=com,DC=contoso"
Get-ADUser -Filter {-not(employeeNumber -like "*") -and (Enabled -eq "True") } -SearchBase $OU1 -Properties * | select name, samaccountname, employeeNumber | Export-excel -Path $path -WorksheetName $date -AutoSize -AutoFilter -TableStyle Medium2
Get-ADUser -Filter {-not(employeeNumber -like "*") -and (Enabled -eq "True") } -SearchBase $OU2 -Properties * | select name, samaccountname, employeeNumber | Export-excel -Path $path -WorksheetName $date -AutoSize -AutoFilter -TableStyle Medium2
Get-ADUser -Filter {-not(employeeNumber -like "*") -and (Enabled -eq "True") } -SearchBase $OU3 -Properties * | select name, samaccountname, employeeNumber | Export-excel -Path $path -WorksheetName $date -AutoSize -AutoFilter -TableStyle Medium2
uj5u.com熱心網友回復:
只需在一個管道中處理它,而不是為每個組織單位設定多個變數,將它們全部存盤在一個陣列中,然后回圈遍歷它:
$date = Get-Date -Format yyyy-MM-dd
$path = "c:\temp\empty_attributes.xlsx"
$OUs = @(
"OU=Accounts,DC=com,DC=contoso"
"OU=TestAccounts,DC=com,DC=contoso"
"OU=Users,DC=com,DC=contoso"
)
$params = @{
LDAPFilter = '(&(!userAccountControl:1.2.840.113556.1.4.803:=2)(!employeeNumber=*))'
Properties = 'employeeNumber'
}
$OUs | ForEach-Object { Get-ADUser @params -SearchBase $_ } |
Select-Object name, samaccountname, employeeNumber |
Export-excel -Path $path -WorksheetName $date -AutoSize -AutoFilter -TableStyle Medium2
您還需要考慮停止使用-Properties *并只使用您需要查詢的特定屬性,否則您的查詢將非常低效。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/523428.html
標籤:电源外壳活动目录
上一篇:使用Invoke-RestMethod的每個回圈的問題
下一篇:讀取檔案、修改內容和寫入新檔案
