0

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初心者です.

4

2 に答える 2