powershell - 使用Powershell为AD中的每个用户检索管理器名称

标签 powershell active-directory

我正在尝试将AD中的OU(员工)转储为特定格式

"name" -> "Manager"; 

我正在调零,但是我碰到了下面的代码
get-aduser -filter * -SearchBase "OU=Staff,DC=whatever,DC=local" |  get-aduser -Properties Manager | Select Name,Manager  

Manager的输出返回为:
CN=Sharon Doe,OU=Staff,DC=whatever,DC=local 

我也不确定如何将文本用引号引起来并在名称和管理器之间插入箭头

谢谢,如果您能指出我正确的方向

这是我到目前为止的sudo工作代码
Import-Module ActiveDirectory  
 $users = $null
 $i = $null  
 $users = Get-ADUser -SearchBase "ou=Staff,dc=whatever,dc=local" -filter * `  -property description  
 ForEach($user in $users)  
  {  

      $user.name + >>>Get-ADUser($users.manager).name**<<<

      $i++  

 }  
"$i users"

最佳答案

您可以使用

(Get-ADUser "CN=Sharon Doe,OU=Staff,DC=whatever,DC=local").DisplayName

来获取管理员的用户对象并获取DisplayName而不是DN。

如果您不确定使用calculated properties(请参见下文),可以在foreach循环内使用它:
$Users = Get-ADUser -filter * -SearchBase "OU=Staff,DC=whatever,DC=local" -Properties Manager 

foreach($User in $Users){
    $Manager = Get-ADUser $User.Manager -Properties DisplayName
    $ManagerName = $Manager.DisplaýName

    "$($User.Name) -> $ManagerName"
}

使用Select-Object时,也可以在计算的属性内使用它:
$Users = Get-ADUser -filter * -SearchBase "OU=Staff,DC=whatever,DC=local" -Properties Manager 
$Users | Select Name,@{label="Manager";expression={(Get-ADUser $_.Manager -Properties DisplayName).DisplayName}}

如果Select语句变得不可读,则始终可以使用以下属性制作splatting表:
$NameManager = @{
  "Property" = @(
    "Name"
    @{
      Label = "Manager"
      Expression = {
        Get-ADUser $_.Manager -Properties DisplayName |Select -Expand DisplayName
      }
    }
  )
}

$Users | Select-Object @NameManager

关于powershell - 使用Powershell为AD中的每个用户检索管理器名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31325725/

相关文章:

powershell - PowerShell here-strings 中的变量必须在哪里初始化?

azure - 使用 PowerShell 和应用程序环境变量从 Azure 批处理自定义事件调用 PowerShell 脚本

powershell - 如何验证 AD 帐户是否被锁定?

java - Java:是否连接到Active Directory(AD)?

powershell - Web.Config 在 Microsoft MSBuild 之外进行转换?

一个元素结果的 PowerShell Cmdlet .length 属性

active-directory - ithit-ajax-file-browser 事件目录 WebDav 自动登录

asp.net - Active Directory帐户的Oauth 2 token

Powershell - (Active Directory 模块) - Get-ADGroupMember 仅适用于我的域中的组

powershell - 在Powershell中读取ZIP中的文本文件