【问题标题】:How to populate the manager field on Active Directory, using powerShell如何使用 powerShell 填充 Active Directory 上的管理器字段
【发布时间】:2014-12-13 22:27:17
【问题描述】:

我正在尝试使用

填充 AD 上的经理字段
Import-Csv C:\Testimport.csv | ForEach-Object {Set-ADUser -Identity $_.samAccountName -Replace @{Manager=$_.manager}}

但我收到以下错误:

Set-ADUser:无法将参数“替换”绑定到目标。例外 设置“替换”:“对象引用未设置为 对象。”在 line:1 char:95 + 导入 Csv C:\Testimport.csv | ForEach-Object {Set-ADUser -Identity $.samAc ountName -Replace .manager}} + CategoryInfo : WriteError: (:) [Set-ADUser], ParameterBindingEx ception + FullyQualifiedErrorId : ParameterBindingFailed,Microsoft.ActiveDirectory
.Management.Commands.SetADUser

【问题讨论】:

  • 到目前为止你有没有尝试过解决这个问题?

标签: powershell csv active-directory


【解决方案1】:

根据您的 csv 中管理器所代表的内容,您可以单独使用 Set-Aduser 参数 -Manager。

Import-Csv C:\Testimport.csv | ForEach-Object {Set-ADUser -Identity $_.samAccountName -Manager $_.manager}

如果不是,请在您的问题中显示一些示例日期。这将在 Manager 中工作,至少是一个帐户名。您运行的代码也有错误:manager=$.manager 应该是manager=$_.manager

【讨论】:

    【解决方案2】:

    如果$_.manager 是经理sAMAccountName 属性,您需要distinguidhedName 属性稍后将其用作-Replace 参数的值:

    Import-Csv C:\Testimport.csv | 
    
    ForEach-Object {
    
        $managerDN = (Get-ADUser $_.manager).distinguishedName
    
        Set-ADUser -Identity $_.samAccountName -Replace @{Manager=$managerDN}
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-20
      • 2019-01-22
      • 1970-01-01
      相关资源
      最近更新 更多