Como concatenar nome de usuário e sobrenome ao adicionar usuários do csv?

1

Eu quero adicionar usuários ao AD usando o seguinte comando no Powershell: (Este é um comando de linha única, mas estou quebrando para ser mais legível)

import-csv C:\list.csv | 

Foreach-Object {

    New-ADUser -Name ([string]::Concat($_.Name , " " , $_.Surname))  
               -GivenName $_.Name  
               -Surname $_.Surname  
               -UserPrincipalName $_.IDNumber  
               -SamAccountName $_.IDNumber  
               -AccountPassword (ConvertTo-SecureString $_.IDNumber -AsPlainText -force)  
               -Description $_.UnitName  
               -DisplayName ([string]::Concat("'", $_.Name , " " , $_.Surname, "'"))  
               -ChangePasswordAtLogon $true  
               -Enabled $True 
               -Path ([string]::Concat("OU=" , $_.Group , ",DC=mydomain,DC=local"))
}

Quando executo o comando, recebo um erro de "sintaxe incorreta".

New-ADUser : The object name has bad syntax At C:\addUsers.ps1:6 char:5 + New-ADUser -Name ([string]::Concat($.Name , " " , $.Surname)) -GivenName $_.A ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • CategoryInfo : NotSpecified: (CN=JOHN WAYNE,OU=,DC=mydomain,DC=local:String) [New-ADUser], ADException

  • FullyQualifiedErrorId : ActiveDirectoryServer:8335, Microsoft.ActiveDirectory.Management.Commands.NewADUser

Como sou novo no Active Directory e no Powershell, achei que seria melhor pedir uma orientação aqui.

    
por Özkan ÖZLÜ 03.03.2016 / 09:59

1 resposta

1

Tente o seguinte:

-Name $($_.Name + " " + $_.Surname)

Eu não tenho o cmdlet para testá-lo, mas isso deve concatenar o nome e o sobrenome com um espaço entre eles.

    
por 03.03.2016 / 10:10