【问题标题】:creating a csv of expiring AD users with powershell使用 powershell 创建过期 AD 用户的 csv
【发布时间】:2014-12-12 02:17:42
【问题描述】:

我在下面创建了 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

【问题讨论】:

    标签: powershell active-directory


    【解决方案1】:

    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,然后提取名称属性。

    【讨论】:

    • 谢谢。是否可以返回经理的姓名而不是专有名称?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-12
    • 1970-01-01
    • 1970-01-01
    • 2015-08-10
    • 1970-01-01
    • 1970-01-01
    • 2017-01-17
    相关资源
    最近更新 更多