Powershell Benutzer und Gruppen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=User anlegen= *useradd.ps1 <pre> # PowerShell-Skript, das den CSV-Dateipfad als Parameter nimmt param ( [string]$csvPath # CSV-Dateipfad als Eingabepara…“)
 
 
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
=User anlegen=
 
=User anlegen=
 +
;CSV Datei (users.csv)
 +
<pre>
 +
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
 +
</pre>
 +
;Skript
 
*useradd.ps1
 
*useradd.ps1
 
<pre>
 
<pre>
Zeile 11: Zeile 22:
 
$users = Import-Csv -Path $csvPath
 
$users = Import-Csv -Path $csvPath
  
# Benutzer erstellen
+
# Benutzer erstellen und zur entsprechenden Gruppe hinzufügen
 
foreach ($user in $users) {
 
foreach ($user in $users) {
 
     $username = $user.Username
 
     $username = $user.Username
 
     $password = ConvertTo-SecureString -String $user.Password -AsPlainText -Force
 
     $password = ConvertTo-SecureString -String $user.Password -AsPlainText -Force
 +
    $role = $user.Role
  
 
     # Benutzer im Standard-Container erstellen
 
     # Benutzer im Standard-Container erstellen
     New-ADUser -Name $username -SamAccountName $username -UserPrincipalName "$username@deineDomain.local" `
+
     New-ADUser -Name $username -SamAccountName $username -UserPrincipalName "$username@dkbi.int" `
 
               -AccountPassword $password -Enabled $true -ChangePasswordAtLogon $false
 
               -AccountPassword $password -Enabled $true -ChangePasswordAtLogon $false
 
     Write-Output "Benutzer $username erstellt"
 
     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"
 +
    }
 +
}
 +
</pre>
 +
;Aufruf
 +
*.\useradd.ps1 -csvPath users.csv
 +
 +
=User löschen=
 +
;Skript
 +
*userdel.ps1
 +
<pre>
 +
# 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"
 +
    }
 
}
 
}
 
</pre>
 
</pre>
 +
;Aufruf
 +
*.\userdel.ps1 -csvPath users.csv

Aktuelle Version vom 29. Oktober 2024, 09:06 Uhr

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