Zaawansowane ćwiczenia – Windows Server

Ćwiczenia z automatyzacji i zarządzania środowiskiem domenowym przy użyciu PowerShell i narzędzi administracyjnych.

1. Automatyczne tworzenie kont użytkowników i folderów profili (PowerShell)

W tym ćwiczeniu utworzysz skrypt PowerShell, który zautomatyzuje tworzenie użytkowników domenowych oraz przypisze im foldery profili i odpowiednie uprawnienia.

Plik CSV (users.csv):

FirstName,LastName,Username,OU
Jan,Kowalski,jkowalski,OU=Uczniowie,DC=szkola,DC=lokal
Anna,Nowak,anowak,OU=Uczniowie,DC=szkola,DC=lokal
    

Skrypt PowerShell:

Import-Csv .\users.csv | ForEach-Object {
    $UserPrincipalName = "$($_.Username)@szkola.lokal"
    New-ADUser -Name "$($_.FirstName) $($_.LastName)" `
               -GivenName $_.FirstName `
               -Surname $_.LastName `
               -SamAccountName $_.Username `
               -UserPrincipalName $UserPrincipalName `
               -Path $_.OU `
               -AccountPassword (ConvertTo-SecureString "Haslo123!" -AsPlainText -Force) `
               -Enabled $true

    $folder = "D:\\ProfileShare\\$($_.Username)"
    New-Item -ItemType Directory -Path $folder
    $acl = Get-Acl $folder
    $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("$($_.Username)", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow")
    $acl.SetAccessRule($rule)
    Set-Acl -Path $folder -AclObject $acl
}
    
Zadanie dodatkowe: Rozszerz skrypt o przypisanie użytkownika do grupy "Uczniowie" i utworzenie skrótu na pulpicie.

2. Konfiguracja zasad grupy GPO do mapowania dysków sieciowych

W tym zadaniu stworzysz nową zasadę GPO, która automatycznie podłącza dysk sieciowy \naszserwer\udostepnione dla wszystkich uczniów po zalogowaniu się do domeny.

  1. Uruchom konsolę Group Policy Management.
  2. Utwórz nową zasadę GPO: Mapowanie dysków uczniowie.
  3. Skonfiguruj ustawienie: User Configuration > Preferences > Windows Settings > Drive Maps.
  4. Dodaj nowe mapowanie dysku z literą Z:, ścieżką sieciową i ustaw na: Create.
  5. Przypisz zasadę do OU: Uczniowie.
Zadanie dodatkowe: Skonfiguruj filtr WMI, aby zasada dotyczyła tylko komputerów z systemem Windows 10.

3. Monitorowanie logów serwera – zdarzenia krytyczne i skrypt alertowy

Zadaniem jest stworzenie skryptu, który sprawdza dziennik zdarzeń systemowych i wysyła alert e-mail przy wystąpieniu błędu krytycznego.

Get-EventLog -LogName System -EntryType Error -Newest 5 |
Where-Object { $_.EventID -eq 41 -or $_.EventID -eq 1001 } |
ForEach-Object {
  Send-MailMessage -To "admin@szkola.lokal" -From "monitor@szkola.lokal" \
  -Subject "Błąd krytyczny: $($_.EventID)" -Body $_.Message \
  -SmtpServer "smtp.szkola.lokal"
}
    
Zadanie dodatkowe: Zainstaluj harmonogram zadań, który uruchamia ten skrypt co godzinę.