Copy User Memberof to another User

Copy User to Users from CSV file

Copy User eller på dansk når man skal oprette en bruger ud-fra en anden bruger sådan at indstillinger, Sikkerhed og grupper kommer på de nye brugere.

Det ville jo være ret smart at kunne i Powershell så prøv at læse videre.

Bruger oprettelser kommer som regel altid i små grupper. De skal altid oprettes i henhold til en anden bruger så sikkerhed og placering skal sikres.

Dette er måden at gøre det på med en masse brugere via en CSV fil.

Copy User csv

CSV filen ser sådan ud, men man kan nemt lave den om til at den passer til lige netop dit formål samt oprettelser.

NB! Den øverste linie må ikke ændres, kun til dit formål og indeholder de instancer som der skal bruges.

Copy User Script

Så er det hele klar til at gå igang. Efterfølgende vil give en beskrivelse af Powershell Scriptet.

Det første der sker er den bruger som skal kopieres fra som findes i en variabel $userinstance.

Denne henter oplysninger om brugeren og alle de variabler som der skal bruges.
Der laves et LDAP opslag i AD på denne bruger med en variabel $OldUser samt et opslag i OU hvori brugeren er.
Scriptet ligger så de nye brugere samme sted med variabel $OU (kan godt være forskellige OU er)
Selve CSV filen er bygget op med de nye brugere, separeret med et komma, den indeholder:

  • Firstname
  • Lastname
  • Maildomain
  • SamAccountName
  • Password (bliver konveteret i Scriptet)
  • Description

Den kan som sagt indeholde alle OU oplysninger på brugeren object i AD se meget mere New ADUser på Microsofts TechNet

$userinstance = Get-ADUser -Identity "UserFrom"
$DN = $userinstance.distinguishedName
$OldUser = [ADSI]"LDAP://$DN"
$Parent = $OldUser.Parent
$OU = [ADSI]$Parent
$NewUSERS = Import-Csv -Path "H:\powershell\users-csv.csv"

foreach ($user in $NewUSERS) {
    $Displayname = $User.'Firstname' + ' ' + $User.'Lastname'            
    $UserFirstname = $User.'Firstname'            
    $UserLastname = $User.'Lastname'            
    $SAM = $User.SAM            
    $UPN = $User.SAM + '@' + $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 -ChangePasswordAtLogon $true -server DC01
}

For hver bruger den kører igennem opretter den hver sin bruger som ligger i filen med de brugernavne og beskrivelser der skal til. læs mere om New-ADUser

Læs også …

Skriv en kommentar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

This site uses Akismet to reduce spam. Learn how your comment data is processed.