首页 > 解决方案 > 使用 PowerShell 更新特定 OU 中 AD 中的用户

问题描述

假设我在 OU 树下:

数据管理
└─国家
  ├─德国
  │ └─用户
  │ ├─笔记本电脑
  │ └─电脑
  ├─法国
  │ └─用户
  │ ├─笔记本电脑
  │ └─电脑
  等等

我想更新 OU 中的特定容器,例如法国笔记本电脑组中的用户。如果我想从 CSV 导入用户,该怎么做?下面的代码检查并更新所有OU。不幸的是,我不知道如何选择特定的容器。有什么建议么?

Import-Module ActiveDirectory
$Userscsv = Import-Csv D:\areile\Desktop\adtest.csv

foreach ($User in $Userscsv) {
    Set-ADUser $User.SamAccountName -Replace @{
        Division = $User.Division;
        Office   = $User.Office;
        City     = $User.City
    }
}

标签: powershellactive-directorywindows-server-2012ou

解决方案


啊,如果您当时向我们展示了 csv 的(部分)内容,那将会有所帮助。

但是,我认为这对你有用:

Import-Module ActiveDirectory
$UsersCsv = Import-Csv D:\areile\Desktop\adtest.csv

$SearchBase = "<DISTINGHUISHEDNAME-OF-THE-FRENCH-USERS-OU>"

foreach ($usr in $UsersCsv) {
    $adUser = Get-ADUser -Filter {EmailAdress -eq '$($usr.Email)'} -SearchBase $SearchBase -Properties Division,Office,City,EmailAddress
    if ($null -ne $adUser) {
        Set-ADUser $adUser.SamAccountName -Replace @{Division = $usr.Division; Office = $usr.Office; City = $usr.City}
    }
}

推荐阅读