nurjns icon

PowerShell Script: AD User anlegen Ordner-Rechte

nurjns | PRO | 04/03/22 11:14:18 AM UTC (Edited) | 0 ⭐ | 490 👁️ | Never ⏰ | []
PowerShell |

2 KB

|

None

|

0 👍

/

0 👎

Import-Module ActiveDirectory
 
# CSV Location
$filepath = "Path\to\NewUser.csv"
 
# CSV-Datei in Variable speichern
$users = Import-Csv $filepath
 
# Schleife durchlaufen und alle Benutzer erstellen
ForEach ($user in $users) {
    # Nutzer-Informationen in Variablen speichern
    $vorname = $user.'Vorname'
    $vornameFirstChar=$vorname.SubString(0,1) # 1. Buchstabe für Anmeldename und E-Mail
    $nachname = $user.'Nachname'
    $jobtitel = $user.'Jobtitel'
 
    # Passwort generieren
    function Get-RandomCharacters($length, $characters) {
        $random = 1..$length | ForEach-Object { Get-Random -Maximum $characters.length } 
        $private:ofs=""
        return [String]$characters[$random]
    }
 
    $PasswortLesbar = Get-RandomCharacters -length 4 -characters 'abcdefklmnoprtuvwxyz'
    $PasswortLesbar += Get-RandomCharacters -length 2 -characters 'ABCDEFGHKMNPRTUVWXYZ'
    $PasswortLesbar += Get-RandomCharacters -length 1 -characters '123456789'
    $PasswortLesbar += Get-RandomCharacters -length 1 -characters '!"§$%&=?@#*+'
    $Passwort = ConvertTo-SecureString $PasswortLesbar -AsPlainText -Force
 
    # AD-User erstellen
    New-ADUser -Name "$vornameFirstChar.$nachname" -GivenName $vorname -Surname $nachname -UserPrincipalName "$vorname.$nachname" -EmailAddress "[email protected]" -AccountPassword $Passwort -ChangePasswordAtLogon $True -Enabled $True
 
    # Verzeichnisse erstellen
    New-Item -ItemType directory -Path C:\Public\$vornameFirstChar.$nachname
    New-Item -ItemType directory -Path C:\Home\$vornameFirstChar.$nachname
 
    # Berechtigungen für Home-Laufwerk setzen
    $Acl = Get-Acl C:\Home\$vornameFirstChar.$nachname
    $Ar = New-Object System.Security.AccessControl.FileSystemAccessRule("$vornameFirstChar.$nachname", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow")
    $Acl.SetAccessRule($Ar)
    Set-Acl C:\Home\$vornameFirstChar.$nachname $Acl
 
    # Erfolgsmeldung ausgeben
    echo ""
    echo ""
    echo "Account für $vorname $nachname wurde erstellt! Passwort: $PasswortLesbar"
    echo ""
}
Pause

Comments