Невозможно связать параметр, так как параметр AccountPassword указан несколько раз, как решить эту проблему, спасибо - PullRequest
0 голосов
/ 27 мая 2019

Import-Module activedirectory $ ADUsers = Import-Csv -Path "C: \ Script \ CreateUser.Mass \ 20190527.Wave.csv"
foreach ($ пользователь в $ ADUsers)
{

$GivenName = $User.'GivenName'            
$Surname = $User.'Surname'            
$Displayname = $User.'DisplayName' 
$Title = $User.'Title'            
$Department = $User.'Department'
$Office = $User.'Office'
$Company = $User.'Company'
$StreetAddress = $User.'StreetAddress'
$City = $User.'City'
$Country = $User.'Country'
$HomePage = $User.'HomePage'
$Password = $User.'Password'          

$SAM = $User.'SamAccountName'            
$OU = "OU=Users-Massimport,OU=SITA-HK,DC=swiresita,DC=com"            
$UPN = $User.'DisplayName' + "@swiresita.com" 


New-ADUser  -Name "$Displayname" -GivenName "$GivenName" -Surname "$Surname" -Displayname "$Displayname" -Title "$Title" -Department "$Department" -Office "$Office" -Company "$Company" -StreetAddress  "$StreetAddress" -City "$City" -Country "$Country" -HomePage "$HomePage" -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -SamAccountName $SAM -UserPrincipalName $UPN -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -Enabled $true -Path "$OU" -ChangePasswordAtLogon $false -PasswordNeverExpires $false 

}

1 Ответ

0 голосов
/ 27 мая 2019

Как упомянуто в комментариях Bill_Stewart , используйте splatting :

foreach ($User in $ADUsers)
{

    $adUserParameters  = @{ 
        GivenName = $User.'GivenName'            
        Surname = $User.'Surname'            
        Displayname = $User.'DisplayName' 
        Title = $User.'Title'            
        Department = $User.'Department'
        Office = $User.'Office'
        Company = $User.'Company'
        StreetAddress = $User.'StreetAddress'
        City = $User.'City'
        Country = $User.'Country'
        HomePage = $User.'HomePage'
        Password = $User.'Password'          
        SAM = $User.'SamAccountName'            
        OU = "OU=Users-Massimport,OU=SITA-HK,DC=swiresita,DC=com"            
        UPN = ($User.'DisplayName' + "@swiresita.com")
        AccountPassword = (ConvertTo-SecureString $Password -AsPlainText -Force)
        Enabled = $true
        ChangePasswordAtLogon = $false
        PasswordNeverExpires = $false
    }


    New-ADUser @adUserParameters 
}

Если вы используете более старую версию powershell, вы можете использовать '`' (серьезный знак), чтобы добавить новую строку, продолжая вызов New-AdUser:

New-ADUser  `
    -Name "$Displayname" `
    -GivenName "$GivenName" `
    -Surname "$Surname" `
    -Displayname "$Displayname" `
    -Title "$Title" `
    -Department "$Department" `
    -Office "$Office" `
    -Company "$Company" `
    -StreetAddress  "$StreetAddress" `
    -City "$City" `
    -Country "$Country" `
    -HomePage "$HomePage" `
    -SamAccountName $SAM `
    -UserPrincipalName $UPN `
    -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) `
    -Enabled $true `
    -Path "$OU" `
    -ChangePasswordAtLogon $false `
    -PasswordNeverExpires $false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...