繁体   English   中英

检查用户是否存在于组中

[英]Check if user exists in group

我不能让这个脚本给出正确的输出,我想检查一个用户(来自Users.csv)是否存在于一个组中(每个域中有一个组,这是一个多域环境)。

我认为问题出在第二foreach 现在输出是每个域的正确行数,但他们都说:

组中不存在aa@aa.aa bb@bb.bb PSO_StdPasswordPolicyWithNoAccountLockout

应该说的地方:

组中不存在aa@aa.aa PSO_StdPasswordPolicyWithNoAccountLockout

组中不存在bb@bb.bb PSO_StdPasswordPolicyWithNoAccountLockout

Users.csv包含EmailAddressDisplayNameobjectGUID

Clear-Host

$user = Import-Csv ".\Users.csv" 
$group = "PSO_StdPasswordPolicyWithNoAccountLockout"

$domains = (Get-ADForest).domains

foreach ($domain in $domains) {

    Write-Host ="********** - $domain - **********" -ForegroundColor Yellow

    $members = Get-ADGroupMember -Identity $group -Server $domain | Select-Object objectGUID
    $exportMembers = $members | Export-Csv .\RemoveUsersTemp\$domain.csv -NoTypeInformation
    $importFile = ".\RemoveUsersTemp\$domain.csv"
    $amembers = import-csv $importFile | Select-Object objectGUID

    foreach ($amember in $amembers) {
        If ($amembers.objectGUID -contains $user.objectGUID) {
            Write-Host $user.EmailAddress"exists in the group $group " -ForegroundColor Green
        }
        Else {
            Write-Host $user.EmailAddress"does not exists in the group $group" -ForegroundColor Red
        }
    }

}

这是因为您在第二个循环中使用$user ,但是您没有循环$user ,因此您将引用整个$user数组,其中包含users.csv的内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM