【问题标题】:A Script that pulls list of AD users and returns manager info拉取 AD 用户列表并返回管理员信息的脚本
【发布时间】:2022-07-06 23:42:26
【问题描述】:

我正在编写脚本来提取用户的姓名、电子邮件地址和他们的经理信息。我需要一些帮助。到目前为止我有这个

$requestedUsers = Import-Csv "ADUserlist.csv"

$allUsers = Get-ADUser -filter 'Enabled -eq $true' -Properties name, EmailAddress, Manager

$filterdUsers = $allUsers | Where-Object { $_.SamAccountName -in$requestedUsers.SamAccountName }

 $report = foreach ($user in $filterdUsers) {
$managerEmail = $allUsers |
Where-Object DistinguishedName -eq $user.Manager |
Select-Object -ExpandProperty EmailAddress

[PSCustomObject][ordered]@{
    DisplayName  = $user.Name
    EmailAddress = $user.EmailAddress

    ManagerEmail = $managerEmail
}
 }

 $report | Out-GridView

【问题讨论】:

  • 您需要什么帮助?
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: powershell active-directory ps


【解决方案1】:

应该是这样的

$requestedUsers = Import-Csv -path "ADUserlist.csv" #Full path required

$allUsers = Get-ADUser -filter 'Enabled -eq $true' -Properties 'name', 'EmailAddress', 'Manager'

$filterdUsers = $allUsers | Where-Object { $_.SamAccountName -in $requestedUsers.SamAccountName }

$report = @()

foreach ( $user in $filterdUsers ) {
    $managerEmail = ( $allUsers | Where-Object { $_.DistinguishedName -eq $user.Manager } ).EmailAddress

    $PSO = [PSCustomObject]@{
        DisplayName  = $user.Name
        EmailAddress = $user.EmailAddress
        ManagerEmail = $managerEmail
    }

    $report += $PSO
}

$report | Out-GridView

【讨论】:

    猜你喜欢
    • 2020-11-20
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 2014-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-25
    相关资源
    最近更新 更多