2015-10-01 1 views
0

Я изменил тот же сценарий для групп, а не пользователей, как показано ниже, я не получаю дисплейPowershell скрипт список всех пользователей, чей менеджер отключен

$ = прибудут группы объявлений-группаобъявления -searchbase «НУ = тест , DC = домен, DC = ком»-filter * -свойства *

Foreach ($ группаобъявлений в $ групп объявлений)

{

если ($ adgroup.manager -ne $ нуль)

{

$manager = Get-ADGroup -filter {Distinguishedname -eq $adgroup.manager}  

    if($($manager.enabled) -eq $false)  

    {  

записи хоста "$ ($ adgroup.SamAccountName), $ ($ manager.SamAccountName)" -Path "C: \ Users \ тест \ Desktop \ log.csv"

} 

} 

}

+0

$ adusers = Get-ADUser -searchbase "НУ = тест, DC = домен, DC = ком" -filter * | выберите SamAccountName Еогеасп ($ ADUser в $ adusers) { $ менеджеров = (получить-ADUser (получить-ADUser $ ADUser -свойства менеджер) .manager) .samaccountName Еогеасп ($ менеджер в $ менеджеров) { $ disabledmanager = Get-ADUser $ ($ manager.name) -Filter {Enabled -eq $ false} | Выберите имя samaccount -ExpandProperty samaccountname Add-Content "C: \ Users \ test \ Desktop \ log.csv" $ aduser, $ disabledmanager } } – Bunny

+0

, пожалуйста, отредактируйте ваше сообщение, чтобы распечатать свой код. –

ответ

0

Это должно сработать, его можно было бы написать гораздо приятнее, но я хотел бы набрать с помощью кода, который вы начали.

$adusers = get-aduser -searchbase "ou=test,dc=domain,dc=com" -filter * -Properties manager 

Foreach($aduser in $adusers) 
{ 
    if($aduser.manager -ne $null) 
    { 
     $manager = Get-ADUser -filter {Distinguishedname -eq $aduser.manager} 
     if($($manager.enabled) -eq $false) 
     { 
      Add-Content -Value "$($aduser.SamAccountName),$($manager.SamAccountName)" -Path "C:\Users\test\Desktop\log.csv" 
     } 
    } 
} 
+0

Почему подвыражение в 'if ($ ($ manager.enabled) -eq $ false)'? Не будет ли 'if ($ manager.enabled -eq $ false)' достаточно? –

+0

Да это было бы :) – Oggew

+0

Спасибо, код работает perfecr – Bunny

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