我试图用一个 sql 数据库表来保持和 AD 组的最新状态。但我无法让我的逻辑正常工作,这是我的意思的一个示例:
$group = "<ADGroupName>"
$user = (Get-ADUser -Identity <sAMAccountName> -Properties MemberOf,sAMAccountName | Select-Object MemberOf,sAMAccountName)
Function Add-ADUserToGroup{
if ($user.MemberOf -notmatch $group){
Add-ADGroupMember -Identity $group -Members $user.sAMAccountName
}
else{
Wirte-Host "User is already a member of $group"
}
}
Add-ADUserToGroup
如果我将我的 sAMAccountName 放入$user
变量集中,并且如果我存在$group
变量中指定的组,它仍然会尝试将我添加到组中并且失败,因为我已经存在于组中。我已经尝试过其他操作数来代替-notmatch
诸如,-notin
-ne
但似乎没有任何东西可以正确评估 if 语句,我不知道为什么。谢谢你的帮助。