0
$names = Import-CSV C:\PowerShell\TerminatedEmployees.csv
$Date = Get-Date
foreach ($name in $names)
{
Get-ADPrincipalGroupMembership -Identity "$($name.TextBox37)" | select Name | Out-File "C:\Powershell\ADUserMemberships\$($name.TextBox37)Memberships.txt"
$ADgroups = Get-ADPrincipalGroupMembership -Identity "$($name.TextBox37)" | where {$_.Name -ne "Domain Users"}
Remove-ADPrincipalGroupMembership -Identity "$($name.TextBox37)" -MemberOf $ADgroups -Confirm:$false
Disable-ADAccount -Identity "$($name.TextBox37)"
Get-ADUser -Identity "$($name.TextBox37)" | Move-ADObject -TargetPath "OU=DisabledAccounts,OU=XXX,DC=XXX,DC=XXXX,DC=XXX"
Set-ADUser -Identity "$($name.TextBox37)" -Description "Disabled $Date"
}
これは私が既に使っているスクリプトです。しかし、私はforeachステートメントを通過する必要があるかどうかを判断するために、ADユーザーの2つのプロパティをチェックする必要があることを認識しました。両方の特性を満たす必要があります。そうであれば、ADユーザーが処理される理由はありません。If And PowershellのADユーザーのためのforeachを使ったステートメント
ADユーザーは既に無効になっています。
ADユーザーは既に無効なOUに常駐しています。
If -Andステートメントでこれを行う必要があると考えています。しかし、これはforeachの前かforeachの内部で行う必要がありますか?