Tag-arkiv: Secure-string

Oprettelse af AD bruger fra Powershell

Nu er oprettelse af en bruger fra powershell ikke ligefrem hjernekirurgi, men der er alligevel nogle detaljer der kan besværliggøre det.

Oprettelse af en bruger er simpelt: New-Aduser “Michael Hovej”

Problemet med min nye bruger er at han ikke kan logge på, men det løser man vel ved at skrive: New-ADUser “Michael Hovej” -PassThru | Enable-ADAccount ikke?

Desværre er det ikke så simpelt. Min nye bruger har ikke fået defineret et kodeord og da AD ikke vil aktivere brugere der ikke har et kodeord, skal det sættes først. Men mon ikke det så bare er at skrive New-ADUser “Michael Hovej” -AccountPassword “Password01″ -PassThru | Enable-ADAccount? Igen nej. Powershell smider ikke et kodeord videre til AD i klar tekst. Kodeord skal skrives som såkaldte secure-strings. Der er 2 måder. Den ene måde er at samle det op i en variabel som vist her:       $Cred =  Read-Host “Indtast Password” -AsSecureString og så bruge variablen til at sætte kodeord med, som her: New-ADUser “Michael Hovej” -AccountPassword $Cred -Passthru | Enable-ADAccount Nu er brugeren oprettet og aktiveret.

Der er som sagt 2 måder og den anden muliggør at vi laver brugeren, sætter kodeord og aktiverer brugeren i en “one-liner” og det er jo så sexet som det kan blive. ;)

New-ADUser “Michael Hovej” -AccountPassword (ConvertTo-SecureString “Password01″ -AsPlainText -Force) -PassThru | Enable-ADAccount

Bemærk parameteren -PassThru som sender det objekt der lige er lavet videre til næste kommando, meget smart. Skal ovenstående bruges sammen med en csv import skal man bare køre den med en for-each som her:

Import-Csv “sti til csv fil” | ForEach-Object {New-ADUser $_.Name -AccountPassword (ConvertTo-SecureString “Password01″ -AsPlainText -Force) -PassThru | Enable-ADAccount

$_.Name er så “Michael Hovej” i csv filen og man kan selvfølgelig smide alle de variabler ind fra csv´en som det er muligt og så oprette en bunke brugere.

Voila er vist ordet. ;)