AD ユーザーの作成を自動化する Powershell スクリプトを作成しようとしています。私たちは Linux と Windows が混在する環境で、テキスト (現在は CSV) ファイルを使用して、古い Linux UID # とユーザー名を追跡し、それらが誤って再利用されないようにしています。スクリプトでファイルを解析しようとしていますが、比較がうまくいかないようです。
$sam = $GivenName.substring(0,1).ToLower() + $lastname.ToLower()
$usernames=Import-csv "uid.csv"
ForEach($users in $usernames){
if($usernames.username -contains $sam){$uid = $true}
}
ファイルから配列にデータを読み取るために、ウェブ上で見つけたいくつかの異なる方法を使用しましたが、問題は、何があっても $uid = $true を設定しないことであり、私にはわかりませんどうして。
編集: if ステートメントを次のように変更しました。
if($users.username -contains $sam){$uid = $true}
そしてそれはうまくいきました。助けてくれてありがとう!
いくつかの混乱を解消するために、 $GivenName と $lastname はユーザーによって入力されます。ユーザー名の再利用を避けようとしているため、正確な一致のみを探しています。また、-contains を -eq に変更しても同様に機能します。私はあまりにも長い間これと戦ってきました。あなたが言うことができなければ、私は少しPowershell初心者です.