0
我正在使用PowerShell编写脚本来自动创建AD用户。我使用的一个条件是检查用户是否已经存在,然后到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电脑。当我移动到下一步时,我可以看到$MAC
包含每个元素,因为我遍历$MACList
数组。当它到达$MABName
行时,$MAC
确实包含一个MAC地址,所以如果我拥有该用户并将$MABName
设置为该用户,则应该查找该地址。如果Get-User cmdlet没有返回对象,它似乎保持相同的值。任何想法为什么会发生这种情况?
非常有趣。这工作。谢谢。 – Joseph