diff --git a/01_Instruktionen/Bewertung.xlsx b/01_Instruktionen/Bewertung.xlsx index efcff27..b4f3847 100644 Binary files a/01_Instruktionen/Bewertung.xlsx and b/01_Instruktionen/Bewertung.xlsx differ diff --git a/02_Unterrichtsressourcen/04_Ãœbungen/ADDS DNS Logonserver + DNS Server Verständnischeck Situation.pdf b/02_Unterrichtsressourcen/04_Ãœbungen/ADDS DNS Logonserver + DNS Server Verständnischeck Situation.pdf new file mode 100644 index 0000000..1788413 Binary files /dev/null and b/02_Unterrichtsressourcen/04_Ãœbungen/ADDS DNS Logonserver + DNS Server Verständnischeck Situation.pdf differ diff --git a/02_Unterrichtsressourcen/04_Ãœbungen/ADDS DNS Logonserver Verständnischeck Situation.docx b/02_Unterrichtsressourcen/04_Ãœbungen/ADDS DNS Logonserver Verständnischeck Situation.docx deleted file mode 100644 index e9d1d60..0000000 Binary files a/02_Unterrichtsressourcen/04_Ãœbungen/ADDS DNS Logonserver Verständnischeck Situation.docx and /dev/null differ diff --git a/03_Aufträge/Aufträge/05_Active_Directory_erste_Schritte_custom.md b/03_Aufträge/Aufträge/05_Active_Directory_erste_Schritte_custom.md index 6c1fb2e..4e5ce71 100644 --- a/03_Aufträge/Aufträge/05_Active_Directory_erste_Schritte_custom.md +++ b/03_Aufträge/Aufträge/05_Active_Directory_erste_Schritte_custom.md @@ -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. @@ -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. -## 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 diff --git a/03_Aufträge/Aufträge/resources/Aufgabe05_FolderPermissions.ps1 b/03_Aufträge/Aufträge/resources/Aufgabe05_FolderPermissions.ps1 new file mode 100644 index 0000000..b693447 --- /dev/null +++ b/03_Aufträge/Aufträge/resources/Aufgabe05_FolderPermissions.ps1 @@ -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} \ No newline at end of file diff --git a/03_Aufträge/Aufträge/resources/Aufgabe05_Usercreate.ps1 b/03_Aufträge/Aufträge/resources/Aufgabe05_Usercreate.ps1 new file mode 100644 index 0000000..7cdf462 --- /dev/null +++ b/03_Aufträge/Aufträge/resources/Aufgabe05_Usercreate.ps1 @@ -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 +} + +