AD の特定の OU の 1 つ以上のグループのメンバーである無効なユーザーを見つけるスクリプトを作成しようとしています。次に、すべての無効なユーザーのすべてのグループを削除します。csv ファイル内のユーザーからすべてのグループを削除するこのスクリプトを見つけましたが、これをスケジュールされたタスクとして実行しようとしているので、別の OU に移動することなく、既にグループが削除されているユーザーを処理したくありません。
Import-Csv $csvFile | ForEach-Object {
# Disable the account
Disable-ADAccount -Identity $_.samAccountName
# Retrieve the user object and MemberOf property
$user = Get-ADUser -Identity $_.samAccountName -Properties MemberOf
# Remove all group memberships (will leave Domain Users as this is NOT in the MemberOf property returned by Get-ADUser)
foreach ($group in ($user | Select-Object -ExpandProperty MemberOf))
{
Remove-ADGroupMember -Identity $group -Members $user -Confirm:$false
}
}
複数のグループを持つユーザーを除外する方法について何か考えはありますか? このスクリプトを使用して、60 日間ログオンしていない無効なユーザーをエクスポートしています。
Get-QADUser -searchRoot $OuDomain -searchScope OneLevel -InactiveFor 61 -NotLoggedOnFor 61 -disabled -sizelimit 0
どうも