This commit is contained in:
Jonas Aeschlimann 2024-08-20 16:03:42 +02:00
parent 051b98eeb1
commit 7c023e37a9
6 changed files with 106 additions and 3 deletions

Binary file not shown.

View File

@ -1,4 +1,4 @@
# Aufgabe 5: Active Directory erste Schritte (2 Punkt) # Aufgabe 5: Active Directory erste Schritte (4 Punkt)
Für diese Aufgabe müssen Sie wissen, wie man Freigaben und Berechtigungen unter Windows verwendet. Falls Ihnen der Unterschied zwischen Freigabe- und NTFS-Berechtigungen nicht bekannt ist, Fragen Sie Ihre Klassenkameraden oder lesen Sie es im Internet nach. Falls Sie nicht sicher sind, Fragen Sie die Lehrperson. Für diese Aufgabe müssen Sie wissen, wie man Freigaben und Berechtigungen unter Windows verwendet. Falls Ihnen der Unterschied zwischen Freigabe- und NTFS-Berechtigungen nicht bekannt ist, Fragen Sie Ihre Klassenkameraden oder lesen Sie es im Internet nach. Falls Sie nicht sicher sind, Fragen Sie die Lehrperson.
@ -6,7 +6,7 @@ Für diese Aufgabe müssen Sie wissen, wie man Freigaben und Berechtigungen unte
> >
> Im Ordner resources finden Sie verschiedene PowerShell Skripte, mit dem Sie diese Aufgabe beschleunigen können. Dieses Skript wurde einst von einem sehr guten Schüler erstellt, es fehlen aber noch Einstellungen. Kannst Du das PS-File verbessern? Falls ja zeig deine Idee dem Lehrer. > Im Ordner resources finden Sie verschiedene PowerShell Skripte, mit dem Sie diese Aufgabe beschleunigen können. Dieses Skript wurde einst von einem sehr guten Schüler erstellt, es fehlen aber noch Einstellungen. Kannst Du das PS-File verbessern? Falls ja zeig deine Idee dem Lehrer.
## User und Gruppen anlegen (0.5 Punkt) ## User und Gruppen anlegen (1 Punkt)
@ -48,7 +48,7 @@ Sie müssen wissen, wie UNC-Pfade aufgebaut sind und verwendet werden können
## Ordner und Freigaben erstellen + ABE aktivieren (1 Punkt) ## Ordner und Freigaben erstellen + ABE aktivieren (3 Punkt)
- Erstellen Sie die Ordner- und Freigabestruktur wie in der Tabelle aufgeführt - Erstellen Sie die Ordner- und Freigabestruktur wie in der Tabelle aufgeführt

View File

@ -0,0 +1,40 @@
$Path = Read-Host -Prompt "Enter the folder path" #fragt den Pfad vom CSV ab
$Users = Import-Csv -Delimiter ";" -Path $Path #Importiert CSV
$abfrage = Read-Host "Wollen Sie die Berechtigungen im CSV übernehmen? [Y]"
function smbcreate {
if(!(Get-SMBShare -Name $Name -ea 0)){
Write-Host -ForegroundColor Red "Creating Share $Name & NTFS permissions $Permission for $Abteilung on $Path as $Remote"
New-SMBShare -Name "$Name" -Path $Path
Grant-SmbShareAccess -Name $Name -AccountName Jeder -AccessRight Full
$acl = Get-Acl $Remote
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("$Abteilung","$Permission","Allow")
$acl.SetAccessRule($AccessRule)
$acl | Set-Acl $Remote
Write-Host -ForegroundColor Green "Sucess $Name created"
}
else{
Write-Host -ForegroundColor Red "Share does exist, creating NTFS permission $Permission for $Abteilung on $Remote"
$acl = Get-Acl $Remote
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("$Abteilung","$Permission","Allow")
$acl.SetAccessRule($AccessRule)
$acl | Set-Acl $Remote
Write-Host -ForegroundColor Green "Sucess NTFS on $Name"
}
}
if($abfrage -eq "Y"){
foreach($User in $Users){
$Path = $User.FreigabePfad
$Name = $User.FreigabeName
$Permission = $User.Berechtigung
$Abteilung = "SKITTLE\" + $User.Abteilung
$Remote = "\\ws1\" + $Name smbcreate
}
}
else{exit}

View File

@ -0,0 +1,63 @@
#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
}