【问题标题】:How can I update AD users using PowerShell and CSV import?如何使用 PowerShell 和 CSV 导入更新 AD 用户?
【发布时间】:2015-06-15 02:09:32
【问题描述】:

我正在尝试使用这个 powershell 脚本来更新 AD 用户。理想情况下,我会更新一堆属性,但现在我只是想让它更新部门,以便我知道它是否有效。

Import-Module ActiveDirectory  

$dataSource=import-csv "c:\ADupdate.csv"
foreach($dataRecord in $datasource) {
$employeeID=$dataRecord.employeeID

# List of attributes to update
$department=$dataRecord.department

Get-ADUser -SearchBase "ou=Test,ou=OurUsers,ou=Logins,dc=domain,dc=com" -Identity $employeeID -Properties department | Set-ADUser -Replace @{department=$department}

}

【问题讨论】:

    标签: powershell csv active-directory


    【解决方案1】:

    想出了我自己的问题。如果其他人有兴趣,这就是我最终使用的……虽然我使用了很多属性。

        Import-Module ActiveDirectory  
    
    $users = Import-Csv -Path c:\update.csv
    
    foreach ($user in $users) {
    Get-ADUser -Filter "employeeID -eq '$($user.employeeID)'" -Properties * -SearchBase "ou=Test,ou=OurUsers,ou=Logins,dc=domain,dc=com" |
    Set-ADUser -employeeNumber $($user.employeeNumber) -department $($user.department) -title $($user.title) -office $($user.office) -streetAddress $($user.streetAddress) -City $($user.City) -state $($user.state) -postalCode $($user.postalCode) -OfficePhone $($user.OfficePhone) -mobile $($user.mobile) -Fax $($user.Fax) -replace @{"extensionAttribute1"=$user.extensionAttribute1; "extensionAttribute2"=$user.extensionAttribute2; "extensionAttribute3"=$user.extensionAttribute3}
    }
    

    【讨论】:

    • 如果您不打算使用所有属性,请不要使用-Properties *-Properties "title","department","streetAddress",etc. 会更有效率。实际上,在您的情况下,您根本不需要它,因为您的值是由 CSV 提供的
    猜你喜欢
    • 2015-08-10
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    • 2017-01-17
    相关资源
    最近更新 更多