我正在使用内置的 powershell commandlet 在活动目录中实现一些用户创建,最近我遇到了这个问题。当尝试读取 $_.UID 是文件中的字段之一的用户数据文件时,我使用 UID 执行 Get-ADUser 以检查用户是否已存在于 ldap 中。如果我得到一个空对象,那么我想创建用户,因为这个 id 还没有在 ldap 中,否则我想跳过数据文件中的条目。我的脚本是第一次创建用户。如果我在同一个数据文件上再次运行它(用户不应再为 UID 字段为空),则 if 条件仍然为真,并且脚本会再次尝试创建用户。我是 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!!"
}
}
}