Powershell Benutzer und Gruppen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 39: | Zeile 39: | ||
*userdel.ps1 | *userdel.ps1 | ||
<pre> | <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> | ||
Version vom 29. Oktober 2024, 08:50 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
foreach ($user in $users) {
$username = $user.Username
$password = ConvertTo-SecureString -String $user.Password -AsPlainText -Force
# Benutzer im Standard-Container erstellen
New-ADUser -Name $username -SamAccountName $username -UserPrincipalName "$username@deineDomain.local" `
-AccountPassword $password -Enabled $true -ChangePasswordAtLogon $false
Write-Output "Benutzer $username erstellt"
}
- Aufruf
- .\Skriptname.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"
}
}