2015-10-04 4 views
-3

Я написал сценарий ниже, чтобы указать всех пользователей, которые являются «подрядчиками» (employeetype=contractors), а не частью определенной группы, например «подрядчики домена». Но это не работает, может ли кто-то помочь :)Сценарий Poweshell для перечисления членства в группе

$adusers = get-aduser -filter * -searchbase "OU=test,dc=domain,dc=com" -properties employeetype | where {($_.employeetype -like "contractor") -AND ($_.enabled -eq $true)} 
foreach ($aduser in $adusers){ 
    $contractorsDn = (Get-ADGroup 'domaincontractors').DistinguishedName 
    Get-ADUser $aduser -LDAPFilter "(!(memberof=$contractorsDn))" 
} 
+0

$ adusers = прибудет -aduser -filter * -searchbase "OU = test, dc = domain, dc = com" -properties usageeetype | где {{$ _. useeetype-like "подрядчик") -AND ($ _. enabled -eq $ true)} foreach ($ aduser в $ adusers) { $ contractorsDn = (Get-ADGroup 'domaincontractors') .DistinguishedName Get-ADUser $ aduser -LDAPFilter "(! (Memberof = $ contractorsDn))" } – Bunny

+2

Измените свой вопрос, чтобы включить код, который вы пробовали вместе с любыми сообщениями об ошибках. – user4317867

+0

Не помещайте свой код в комментарии - вместо этого поставьте его в свой вопрос и используйте тег '{}'. –

ответ

0

$ пользователей = Get-ADUser -filter {(employeetype -like "подрядчик") й (включено -eq $ True)} -searchbase "dc = домен, DC = COM" -properties employeetype $ группы = "Domaincontractors"

$ members = Get-ADGroupMember -Identity $ group -Recursive | Выберите -ExpandProperty DistinguishedName

ForEach ($ пользователь в $ пользователей) {

If ($members -contains $user) { 
    write-host "$user exists" -ForegroundColor Red 

} Else { записи хоста "$ пользователь оленьей кожи существовать" -ForegroundColor Green }}

Смежные вопросы