Powershell Benutzer und Gruppen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| (3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 22: | 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@ | + | 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> | </pre> | ||
;Aufruf | ;Aufruf | ||
| − | *.\ | + | *.\useradd.ps1 -csvPath users.csv |
=User löschen= | =User löschen= | ||
| Zeile 63: | Zeile 73: | ||
} | } | ||
</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