为什么我会得到一个缺失的表达"我的PS New-ADUser脚本中的错误?

时间:2016-01-11 17:26:34

标签: powershell active-directory

我得到的错误是"在一元运算符' - '"''''''''''在第63行,char 14.所以它设置了路径/ OU,但我找不到任何错误。任何帮助表示赞赏。感谢。

# Import active directory module for running AD cmdlets
Import-Module ActiveDirectory

#Store the data from ADUsers.csv in the $ADUsers variable
$ADUsers = Import-csv C:\ADMaint\NewUsers\NewUsers.csv
$Password = "Welcome01"
$OU = "ou=NewUsers,ou=Users,ou=Logins,dc=company,dc=com"

#Loop through each row containing user details in the CSV file 
foreach ($User in $ADUsers)
{
#Read user data from each field in each row and assign the data to a     variable as below

$Firstname      = $User.firstname
$Middle         = $User.middle
$Lastname       = $User.lastname
$Department     = $User.department
$Title          = $User.title
$Office         = $User.office
$Address        = $User.address
$Company        = $User.company
$employeeNumber = $User.employeeNumber
$employeeID     = $User.employeeID
$Telephone      = $User.telephone
$Pager          = $User.pager
$Mobile         = $User.mobile
$Fax            = $User.fax
$Custom1        = $User.custom1
$Custom2        = $User.custom2
$Custom3        = $User.custom3
$Custom4        = $User.custom4
$DisplayName    = "$Lastname" + ", " + "$Firstname" + " " + "$Middle"
$Username       = "$lastname".ToLower() + "$firstname".substring(0,1).ToLower()

#Check to see if the user already exists in AD
if (Get-ADUser -F {SamAccountName -eq $Username})
{
     #If user does exist, give a warning
     Write-Warning "A user account with username $Username already exist in Active Directory."
}
else
{
    #User does not exist then proceed to create the new user account
    #Account will be created in the OU provided by the $OU variable read from the CSV file
    New-ADUser `
        -SamAccountName $Username `
        -UserPrincipalName "$Username@vinfen.org" `
        -Name $DisplayName `
        -GivenName $Firstname `
        -surname $Lastname `
        -initials $Middle `
        -department $Department `
        -title $Title `
        -Office $Office `
        -streetAddress $Address `
        -Company $Company `
        -employeeNumber $EmployeeNumber `
        -employeeID $EmployeeID `
        -OfficePhone  $Telephone `
        -mobile $Mobile `
        -fax $Fax `
        -DisplayName $DisplayName`
        -Path $OU `
        -AccountPassword (convertto-securestring $Password -AsPlainText -Force) `
        #-OtherAttribute @{pager="$(User."pager")"; extensionAttribute1="$(User."custom1")"; extensionAttribute2="$(User."custom2")"; extensionAttribute3="$(User."custom3")"; extensionAttribute4="$(User."custom4")"}  `
        -ChangePasswordAtLogon $true  `
        -Enabled $true `
}

}

1 个答案:

答案 0 :(得分:2)

现在无法验证,但看起来在前一行的`之前缺少空格。

-DisplayName $DisplayName`

多行命令需要`符号前面的空格。