2015-12-15 3 views
1

Я пытаюсь собрать некоторую информацию для усилий по очистке счетов поставщиков. Один из бит, который мы хотим, - «какой департамент их менеджер в?»Отдел возврата менеджера пользователя?

Мой маленький скрипт теперь вернет несколько других частей информации, и я могу концептуализировать, как вам нужно будет собирать атрибут «manager» для каждого пользователя, а затем для пользователя THAT посмотреть атрибут «department». Но я не могу понять, как действовать дальше.

Вот что у меня есть. Это работает, но не включает в себя отдел менеджера пользователя:

Get-ADUser -Filter * -SearchBase 'ou=Vendors,ou=Users,dc=corporate,dc=coolguys,dc=org' -Properties GivenName, Surname, Company, Title, Manager, EmailAddress | 
    select GivenName, Surname, Company, Title, Manager, EmailAddress | 
    Out-GridView 

Подобно тому, как дикий град-Мэри я попытался возвращение «manager.department», как это было значение в переменной, но, конечно, PS просто издевался над моей неумелостью. Нужно ли устанавливать переменную, содержащую все результаты поиска, а затем использовать цикл foreach, чтобы сказать «для каждого менеджера пользователя, найти этот отдел пользователя»?

ответ

2

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

... | Select-Object GivenName, Surname, Company, Title, Manager, EmailAddress, 
    @{n='ManagerDepartment';e={Get-ADUser $_.Manager -Properties department | 
    Select-Object -Expand department}} | ... 
Смежные вопросы