-1

所以我对下面提供的代码有疑问。我有一个名为 0010798M 的 .csv 文件,其中有 3 个文件,名称分别为 name、surname、ou。

在 .csv 文件的 ou 部分中,我有 3 个不同的 ous,名称分别为 Account、Sales、Management。

我的代码在此链接中提供:https ://pastebin.com/D0Naiccr

#Import the PowerShell module containing AD cmdlets
Import-Module ActiveDirectory
write-host "Start Process"
write-host "-------------------------------------"
try {
    #Read the CSV file
    $csvPath = "C:\0010798M.csv"
    $csvData = import-csv $csvPath
    write-host "Reading the CSV file......"
    #Loop through all items in the CSV items

    ForEach ($user In $csvData) {
        $saMAccountName = $user.sAMAccountName
        #Check if the User exists
        $ADuser = Get-ADUser -LDAPFilter "(sAMAccountName=$saMAccountName)"
        If ($ADuser -eq $Null) {
            #Create user using New-ADUser cmdlet
            $userPrincipalName =  $user.sAMAccountName + "@adatum.com"
            New-ADUser -Name $user.displayName `
                -SamAccountName $sAMAccountName `
                -UserPrincipalName $userPrincipalName `
                -GivenName $user.givenname `
                -Surname $user.sn `
                -DisplayName $user.displayName `
                -AccountPassword (ConvertTo-SecureString "Pa`$`$w0rd" -AsPlainText -Force) `
                -PasswordNeverExpires $true `
                -ChangePasswordAtLogon $false `
                -Enabled $true
            write-host "- " $user.sAMAccountName "| Account Created" -ForegroundColor green
        } else {
            write-host "- " $user.sAMAccountName "|Account Exists" -ForegroundColor yellow
        }
    }
} catch {
    write-host "Error: "  $($_.CategoryInfo) -ForegroundColor red
    write-host "Message: " $($_.Exception.Message) -ForegroundColor red
}
write-host "-----------------------------------------------------------------"
write-host "End Process"
4

1 回答 1

0

查看您的脚本,我看不到您在命令中设置 OU 的位置。

您需要在命令中添加-path以创建新用户,并从 CSV 中提供 OU 的名称。

例如:

    New-ADUser -Name "GlenJohn" -Path "OU=Sales" 
于 2017-05-03T17:26:50.510 回答