Скрипт Powershell для проверки существования ADGroup, если он не добавлен в пользовательский объект - PullRequest
0 голосов
/ 10 мая 2018

Здравствуйте, я пытаюсь создать скрипт, который будет проверять, существует ли список AD Group, который я предоставил, существует в AD, но скрипт возвращает только последний найденный объект. Пожалуйста, не обращайте внимания на предыдущий пример кода и обратитесь к этому. Кажется, что скрипт выполняется, но он не возвращает все группы ADG в списке, даже если они все существуют, как подтверждено вручную. Возвращает только последний объект.

       function CheckAD

{


$AD= "AA","BB"

foreach ($group in $AD)
{

$R_AD= @()

$R_AD=Get-ADGroup -filter {GroupCategory -eq "Security" -and Name -eq $group} -SearchBase "OU=Application,OU=SOO,OU=Groups,OU=UN,DC=B3,DC=in"|select -ExpandProperty     name -Unique

if ($R_AD.count -gt 0)
{
$r = New-Object -TypeName psobject
$r|Add-Member -MemberType NoteProperty -Name ADGroup -Value $R_AD
}

} 

return($r)

}

$Test=CheckAD

1 Ответ

0 голосов
/ 10 мая 2018
## Cleaned-up the formatting so I could read this
function CheckAD {
    ## Changed to a hash table; consider passing 
    ## these in as parameters
    $AD = @{"AA" = $false; "BB" = $false}

    foreach ($group in $AD.keys) {
        ## You don't need this. Removing.
        #$R_AD = @()

        ## In your post, you asked to know if the group existed.
        if ( $(Get-ADGroup -filter {GroupCategory -eq "Security" -and Name -eq $group} -SearchBase "OU=Application,OU=SOO,OU=Groups,OU=UN,DC=B3,DC=in") ) {
            $AD[$group] = $true 
        }

        ## You don't need this either
        #if ($R_AD.count -gt 0) {
        #    $r = New-Object -TypeName psobject
        #    $r|Add-Member -MemberType NoteProperty -Name ADGroup -Value $R_AD
        #}

    } 

    #return($r)
    return($AD)

}

$Test = CheckAD
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...