Отдел возврата менеджера пользователя?

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

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

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

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, чтобы сказать «для каждого менеджера пользователя найдите отдел этого пользователя»?


person 3Jake    schedule 15.12.2015    source источник


Ответы (1)


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

... | Select-Object GivenName, Surname, Company, Title, Manager, EmailAddress,
  @{n='ManagerDepartment';e={Get-ADUser $_.Manager -Properties department |
     Select-Object -Expand department}} | ...
person Ansgar Wiechers    schedule 15.12.2015