私はADユーザーの作成を自動化するためのスクリプトをPowerShellに書いています。私が使用する条件の1つは、ユーザーが既に存在するかどうかを確認してからWrite-Host "User exists"
に移動し、配列の次の要素に移動することです。しかし、私がスクリプトを実行すると、それは私に奇妙な動作を与えます。私はコードを書いて、ブレークポイントを入れると何が起こるか説明します。変数は私のリストに従って値を変更していません
$MACList = Get-Content $Path\MACs.txt
foreach ($MAC in $MACList){
$MABName = Get-ADUser $MAC
if ($MABName -ne $null) {
Write-Host "MAB already exists, moving to next"
} else {
# create the new user
}
私がブレークポイントでスクリプトを実行すると、私は$MACList
は、ファイル内のMACが含まれていることを見ることができます。次のステップに進むと、$MACList
配列を横切るときに$MAC
に各要素が含まれていることがわかります。 $MABName
行になると、実際には$MAC
にMACアドレスが含まれているので、そのユーザーがいる場合は見つけて、そのユーザーに$MABName
を設定する必要があります。 Get-Userコマンドレットがオブジェクトを返さない場合、同じ値を保持しているようです。これがなぜ起こるのかについてのアイデアはありますか?
非常に興味深い。それはうまくいった。ありがとう。 – Joseph