Powershell Benutzer und Gruppen

Aus Xinux Wiki
(Weitergeleitet von Powershell Benutzer anlegen)
Zur Navigation springen Zur Suche springen

User anlegen

CSV Datei (users.csv)
Username,Password,Role
sisko,12345-Xinux,Admin
worf,12345-Xinux,Admin
dax,12345-Xinux,Admin
rome,12345-Xinux,User
nog,12345-Xinux,User
quark,12345-Xinux,User
Skript
  • useradd.ps1
# PowerShell-Skript, das den CSV-Dateipfad als Parameter nimmt

param (
    [string]$csvPath  # CSV-Dateipfad als Eingabeparameter
)

# CSV-Datei einlesen
$users = Import-Csv -Path $csvPath

# Benutzer erstellen und zur entsprechenden Gruppe hinzufügen
foreach ($user in $users) {
    $username = $user.Username
    $password = ConvertTo-SecureString -String $user.Password -AsPlainText -Force
    $role = $user.Role

    # Benutzer im Standard-Container erstellen
    New-ADUser -Name $username -SamAccountName $username -UserPrincipalName "$username@dkbi.int" `
               -AccountPassword $password -Enabled $true -ChangePasswordAtLogon $false
    Write-Output "Benutzer $username erstellt"

    # Benutzer zur Gruppe hinzufügen (Domain Admins oder Domain Users)
    if ($role -eq "Admin") {
        Add-ADGroupMember -Identity "Domain Admins" -Members $username
        Write-Output "Benutzer $username zur Gruppe 'Domain Admins' hinzugefügt"
    } else {
        Add-ADGroupMember -Identity "Domain Users" -Members $username
        Write-Output "Benutzer $username zur Gruppe 'Domain Users' hinzugefügt"
    }
}
Aufruf
  • .\useradd.ps1 -csvPath users.csv

User löschen

Skript
  • userdel.ps1
# PowerShell-Skript, um Benutzer gesammelt zu entfernen

param (
    [string]$csvPath  # Pfad zur CSV-Datei mit Benutzernamen
)

# CSV-Datei einlesen
$users = Import-Csv -Path $csvPath

# Benutzer löschen
foreach ($user in $users) {
    $username = $user.Username

    # Benutzerkonto suchen und löschen
    $adUser = Get-ADUser -Filter {SamAccountName -eq $username}
    if ($adUser) {
        Remove-ADUser -Identity $adUser -Confirm:$false
        Write-Output "Benutzer $username wurde gelöscht"
    } else {
        Write-Output "Benutzer $username nicht gefunden"
    }
}
Aufruf
  • .\userdel.ps1 -csvPath users.csv