我在下面创建了powershell脚本。它工作正常,但我想让它返回用户的经理。看来该对象已返回,但search-adaccount不会执行此操作。有人能帮忙吗?感谢
$UserList = Search-ADAccount -AccountExpiring -UsersOnly -TimeSpan 07.00:00:00 | Select-Object name, AccountExpirationDate, LastLogonDate, UserPrincipalName
$ReportName = "C:\Users\administrator\desktop\ExpiringUsers-7DayReport.csv"
$UserList | Export-CSV $ReportName
答案 0 :(得分:0)
Search-ADAccount
可能不会直接为您提供所需要的内容,但是Get-AdUser
中的简单管道将为您提供其他内容。
$UserList = Search-ADAccount -AccountExpiring -UsersOnly -TimeSpan 07.00:00:00 |
Get-ADUser -Properties Manager,AccountExpirationDate,LastLogonDate |
Select-Object Name,Manager,AccountExpirationDate,LastLogonDate,UserPrincipalName
$ReportName = "C:\Users\administrator\desktop\ExpiringUsers-7DayReport.csv"
$UserList | Export-CSV $ReportName
您要查找的多个属性在Get-AdUser
的属性中不是标准属性,因此我们需要确保使用-Properties
进行收集。
从评论中更新
如果你想要经理的名字而不是dn,你需要提取它与我们对Search-ADAccount
的结果一样。一种方法是更改Select
行,如下所示:
Select-Object Name,AccountExpirationDate,LastLogonDate,UserPrincipalName,@{Name="Manager Name";Expression={$_.Manager | Get-Aduser | Select-Object -ExpandProperty Name}}
创建名为Manager Name
的计算属性(不能使用manager
,因为已存在具有该名称的属性。)。拿出管理器并将其传递到Get-Aduser
并只提取name属性。