組み込みのpowershellコマンドレットを使用して、アクティブディレクトリにユーザー作成を実装する作業を行っていますが、最近この問題に遭遇しました。$_.UID がファイル内のフィールドの 1 つであるユーザーのデータ ファイルを読み込もうとすると、UID を使用して Get-ADUser を実行し、ユーザーが LDAP に既に存在するかどうかを確認します。null オブジェクトを取得した場合、この ID がまだ LDAP にないため、ユーザーを作成したいと思います。それ以外の場合は、データファイルのエントリをスキップしたいと思います。私のスクリプトはそのままで、初めてユーザーを作成します。同じデータ ファイルに対して 2 回目の実行を行うと (users は UID フィールドで null になることはなくなります)、if 条件は依然として true であり、スクリプトは 2 回目のユーザーの作成を試みます。私はpowershellスクリプトを初めて使用するので、何か誤解しているに違いありません。私は何を間違っていますか?あなたの助けに感謝します!
Function createUsers{
Import-CSV "~\Desktop\inData.csv" | ForEach-Object {
$USER = Get-ADUser -LDAPFilter "(uid=$_.UID)"
if($USER -eq $Null){ #BROKEN DOESN'T DO ANYTHING
#(!$USER) Doesn't work either
Write-Host "Making next user."
.
.
.
}else{
Write-Host "Skipping, user exists!!"
}
}
}