Executar o comando do arquivo Powershell

1

Estou ficando abaixo do erro. enquanto executando o comando copiando do arquivo Powershell, este arquivo eu abri no bloco de notas, do que eu estou executando este comando copiando e colando no prompt do Powershell.

Porfavor,deixe-mesaber,seeuestoufazendoalgumerro,copiandoestearquivonoWindowsPowerShellprompt.AbaixoestáacapturadeteladoarquivoPowershell.

Atenciosamente,Param

$Users=Import-Csv-Path"C:\Userlist-sn.csv"            
foreach ($User in $Users)            
{            
    $Displayname = $User.Firstname + " " + $User.Lastname            
    $UserFirstname = $User.Firstname            
    $UserLastname = $User.Lastname            
    $OU = "$User.OU"            
    $SAM = $User.SAM            
    $UPN = $User.Firstname + "." + $User.Lastname + "@" + $User.Maildomain            
    $Description = $User.Description            
    $Password = $User.Password            
    New-ADUser -Name "$Displayname" -DisplayName "$Displayname" -SamAccountName $SAM -UserPrincipalName $UPN -GivenName "$UserFirstname" -Surname "$UserLastname" -Description "$Description" -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -Enabled $true -Path "$OU" -ChangePasswordAtLogon $true –PasswordNeverExpires $false -server "corp.abc.com"            
}
    
por Param 01.09.2015 / 16:43

1 resposta

0

Você precisa de alguma saída de depuração. Também posso sugerir que você substitua seu código de construção de string pela formatação "-f", a'la sprintf () em outros idiomas. Isso torna as coisas mais fáceis de ler / depurar / modificar, por exemplo:

$Displayname = $User.Firstname + " " + $User.Lastname 

... torna-se:

$DisplayName = ( "{0} {1}" -f $User.Firstname, $User.Lastname );

Parece que o seu erro está no atributo "name". Eu acredito que isso mapeia o atributo "CN" no AD, mas eu posso estar errado. Adicionar alguma depuração como a seguinte ajudaria:

Write-Host -Object ( "Attempting to create user with name ""{0}"" and display name ""{0}""" -f $DisplayName );

E, finalmente, você pode perder as aspas na chamada real de Novo-ADUser. O motivo é que você está passando variáveis, em vez de pedir ao PowerShell para interpretar seu código.

Se você pode postar alguma saída de depuração, isso seria muito útil ...

    
por 01.09.2015 / 19:41

Tags