m159/03_Aufträge/Aufträge/resources/Aufgabe05_Usercreate.ps1
Jonas Aeschlimann 7c023e37a9 diverses
2024-08-20 16:03:42 +02:00

64 lines
2.4 KiB
PowerShell
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#Beschrieb: ADUser erstellen oder Löschen mit CSV
#Autor: Simone Piccolo
#Zuletzt bearbeitet am: 04.01.22
#=======================================================================
Import-Module ActiveDirectory
$Path = Read-Host -Prompt "Enter the folder path" #fragt den Pfad vom CSV ab
$PathLog = Read-Host -Prompt "Enter the Lofile path" #Frag ab wo Logfile erstellt werden soll
$ErstelltLog = $PathLog + "/" + "BenutzerErstellt.txt"
$DeleteLOG = $PathLog+ "/" + "BenutzerGelöscht.txt"
$Users = Import-Csv -Delimiter ";" -Path $Path #Importiert CSV
$abfrage = Read-Host "Wollen Sie einen Benutzer erstellen oder löschen?" #Abfrage ob Löschen oder erstellen
if($abfrage -eq "erstellen"){ #Wenn die Abfrage, erstellen entspricht, wird ein Benutzer erstellt.
foreach($User in $Users){ #Benutzer werden vom CSV in Variabeln gesetzt
$Firstname = $User.Firstname
$Lastname = $User.Lastname
$Password = $User.Password
$Abteilung = $User.Abteilung
$Displayname = $User.Firstname + " " + $User.Lastname
$OU = "Ou=$Abteilung, OU=Benutzer, Ou=skittle, DC=skittle, DC=ch" #Pfad vom AD wo User erstellt werden soll
New-Aduser -Name "$Displayname" -GivenName "$Firstname" -Surname "$Lastname" -DisplayName "$Displayname" -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -Force) -Path $OU -Enabled $true
New-ADGroup "$Abteilung" -Path "OU=Gruppen, Ou=skittle, DC=skittle, DC=ch" -GroupCategory Security -GroupScope Global -PassThru Verbose
Add-ADGroupMember -Identity $Abteilung -Members $Displayname
New-Item $ErstelltLog #Logfile wird erstellt
Set-Content $ErstelltLog "Der Benutzer $Displayname wurde erstellt"
}
}
elseif($abfrage -eq "löschen"){
foreach($User in $Users){ #Benutzer werden vom CSV in Variabeln gesetzt
$Firstname = $User.Firstname
$Lastname = $User.Lastname
$Password = $User.Password
$Abteilung = $User.Abteilung
$Displayname = $User.Firstname + " " + $User.Lastname
$OU = "Ou=$Abteilung, OU=Benutzer, Ou=Soltec, DC=soltec, DC=lan" #Pfad vom AD wo User erstellt werden soll
Remove-ADUser -Identity $Displayname -Confirm:$False
New-Item $DeleteLOG #Logfile wird erstellt
Set-Content $DeleteLOG "Der Benutzer $Diyplayname wurde gelöscht" #Logfile wird erstellt
} #Wenn die Abfrage, löschen entspricht, wird der Benutzer mit dem Displaynamen, der im CSV mit Vornamen und Nachnamen angeben wird, gelöscht.
}
else{ #Wenn es keinem vom beiden entspricht
exit
}