Set-ADUser:通过Powershell设置Active Directory用户属性数据

时间:2017-06-28 17:28:47

标签: powershell active-directory

我是AD的新手 - 通过Powershell实现自动化,虽然我设法批量修改/更新基于我们OU的AD用户位置,但由于某些原因我难以复制基于OU的OU脚本我们的现场办公室。

我希望我在这里有意义,但这可能会帮助你回答或帮助我。这是我的剧本:

Import-Module ActiveDirectory  

$Users = Import-Csv -Delimiter "," -Path "c:\scripts\van.csv"

Get-ADUser -Filter 'DisplayName -like "*"' | Set-ADUser -Replace @{PhysicalDeliveryOfficeName="Van Nuys"}

当我在Powershell上运行这个脚本时会发生什么变化,它会改变我们OU中用户的位置,而不是基于Van Nuys。我拥有的csv文件具有DisplayName,Title和Office以及每个用户的相应信息。但我不知道为什么它会改变我们OU中的用户。

我希望你能帮助我。

此致 LP

1 个答案:

答案 0 :(得分:0)

假设您的CSV具有sAMAccountName,并且您希望所有用户都更新为Van Nuys,则此类内容将起作用。

class ViewController: UIViewController, CBCentralManagerDelegate, CBPeripheralDelegate {
    var centralManager: CBCentralManager!
    var device: CBPeripheral!
    let DEVICE_NAME = "name"
    let DEVICE_SERVICE_UUID = "20510dfs1-3a03-0dab-b24f-07dfad6ef352"
    let DEVICE_CHARACTERISTIC_UUID = "00510001-3a03-0dab-b24f-07dfad6ef352"
    let RESTORE_IDENTIFIER = "restoreKeyForDevice"

    override func viewDidLoad() {
        super.viewDidLoad()
        centralManager = CBCentralManager(delegate: self, queue: nil, options: [CBCentralManagerOptionRestoreIdentifierKey:RESTORE_IDENTIFIER])
    }
}

如果你真的只有他们的显示名称,你可以尝试修改它,但由于它不是唯一的标识符,如果它有效,你会非常幸运。

Import-Module ActiveDirectory  

$Users = Import-Csv -Delimiter "," -Path "c:\scripts\van.csv"

foreach($user in $users)
{
 Set-ADUser -Identity $user.samaccountname -Replace @{PhysicalDeliveryOfficeName="Van Nuys"}
}