【发布时间】:2018-06-22 01:34:22
【问题描述】:
<#
Run the Script On Active Directory to remove disabled users from All Groups and Set description what user was member of group if you have all the disable users in an OU.
Just add -SearchBase "OU=disabled,DC=domain,DC=com" after -filter 'enabled -eq $false'
#>
import-module activedirectory
$users=get-aduser -filter 'enabled -eq $false' -SearchBase "OU=Lockdown,DC=home,DC=ac,DC=uk" -Properties samaccountname,memberof |select samaccountname, @{n=’MemberOf’; e= { ( $_.memberof | % { (Get-ADObject $_).Name }) -join “,” }}
#set description
Foreach ($user in $users)
{ Set-ADUser $user.samaccountname -Replace @{info="Was a member of :- $($user.memberof)"}
# Export the list to csv
$Groups = (Get-ADPrincipalGroupMembership -Identity $user.SamAccountName | Select-Object -ExpandProperty name) -join ','
get-aduser $user.SamAccountName -properties memberof,samaccountname,givenname,surname | select samaccountname, @{name="Groups";expression={$Groups}} | export-csv "C:\Users\Administrator\Desktop\grpsss.csv" -Delimiter ";"
# Remove From all the Groups
Get-ADGroup -Filter {name -notlike "*domain users*"} | Remove-ADGroupMember -Members $user.samaccountname -Confirm:$False
}
$total = ($users).count
Write-Host "$total accounts have been processed..." -ForegroundColor Green
此脚本从禁用的用户(来自禁用的 OU)中删除所有组,它将这些组的名称添加到信息字段以及具有相同信息的 csv 导出。
问题是当禁用 OU 中有许多用户时,csv 仅填充一个用户的组成员身份。问题是,我如何以 csv 格式导出所有用户及其组成员身份。所以我有一个所有已处理用户的列表。
我一直认为 export-csv 会导出 powershell 处理的所有内容?
提前感谢您的帮助。
【问题讨论】:
-
冒个泡,猜猜你想把
-Append放到export-csv "C:\Users\Administrator\Desktop\grpsss.csv" -Delimiter ";"的末尾 -
这就像一个魅力。谢谢。
标签: powershell csv active-directory