EurenikZ

PowerShell Script: AD User anlegen Ordner-Rechte

May 21st, 2019 (edited)
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Import-Module ActiveDirectory
  2.  
  3. # CSV Location
  4. $filepath = "Path\to\NewUser.csv"
  5.  
  6. # CSV-Datei in Variable speichern
  7. $users = Import-Csv $filepath
  8.  
  9. # Schleife durchlaufen und alle Benutzer erstellen
  10. ForEach ($user in $users) {
  11.     # Nutzer-Informationen in Variablen speichern
  12.     $vorname = $user.'Vorname'
  13.     $vornameFirstChar=$vorname.SubString(0,1) # 1. Buchstabe für Anmeldename und E-Mail
  14.     $nachname = $user.'Nachname'
  15.     $jobtitel = $user.'Jobtitel'
  16.  
  17.     # Passwort generieren
  18.     function Get-RandomCharacters($length, $characters) {
  19.         $random = 1..$length | ForEach-Object { Get-Random -Maximum $characters.length }
  20.         $private:ofs=""
  21.         return [String]$characters[$random]
  22.     }
  23.  
  24.     $PasswortLesbar = Get-RandomCharacters -length 4 -characters 'abcdefklmnoprtuvwxyz'
  25.     $PasswortLesbar += Get-RandomCharacters -length 2 -characters 'ABCDEFGHKMNPRTUVWXYZ'
  26.     $PasswortLesbar += Get-RandomCharacters -length 1 -characters '123456789'
  27.     $PasswortLesbar += Get-RandomCharacters -length 1 -characters '!"§$%&=?@#*+'
  28.     $Passwort = ConvertTo-SecureString $PasswortLesbar -AsPlainText -Force
  29.  
  30.     # AD-User erstellen
  31.     New-ADUser -Name "$vornameFirstChar.$nachname" -GivenName $vorname -Surname $nachname -UserPrincipalName "$vorname.$nachname" -EmailAddress "$vornameFirstChar.$nachname@DOMAIN.TLD" -AccountPassword $Passwort -ChangePasswordAtLogon $True -Enabled $True
  32.  
  33.     # Verzeichnisse erstellen
  34.     New-Item -ItemType directory -Path C:\Public\$vornameFirstChar.$nachname
  35.     New-Item -ItemType directory -Path C:\Home\$vornameFirstChar.$nachname
  36.  
  37.     # Berechtigungen für Home-Laufwerk setzen
  38.     $Acl = Get-Acl C:\Home\$vornameFirstChar.$nachname
  39.     $Ar = New-Object System.Security.AccessControl.FileSystemAccessRule("$vornameFirstChar.$nachname", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow")
  40.     $Acl.SetAccessRule($Ar)
  41.     Set-Acl C:\Home\$vornameFirstChar.$nachname $Acl
  42.  
  43.     # Erfolgsmeldung ausgeben
  44.     echo ""
  45.     echo ""
  46.     echo "Account für $vorname $nachname wurde erstellt! Passwort: $PasswortLesbar"
  47.     echo ""
  48. }
  49. Pause
Add Comment
Please, Sign In to add comment