1

我正在尝试收集一些信息,以便清理我公司的供应商帐户。我们想要的内容之一是“他们的经理在哪个部门?”

我现在的小脚本将返回其他几条信息,我可以概念化您需要如何为每个用户收集“经理”属性,然后对于那个用户,查看“部门”属性。但我不太明白如何进行。

这就是我所拥有的。这有效,但不包括用户经理的部门:

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循环说“对于每个用户的经理,找到该用户的部门”?

4

1 回答 1

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}} | ...
于 2015-12-15T19:23:09.947 回答