Rozwiązania zadań laboratoryjnych – PowerShell

Poniżej znajdują się kompletne rozwiązania wszystkich 10 zadań laboratoryjnych z zakresu programowania w PowerShell. Każde rozwiązanie zawiera działający kod wraz z wyjaśnieniem działania oraz przykładem uruchomienia.

Zadanie 1: Kalkulator średniej ocen studenta

Rozwiązanie: Skrypt pobiera od użytkownika oceny (liczby 2-6), zapisuje je do tablicy, oblicza średnią arytmetyczną i wyświetla wynik zaliczenia.
Opis działania:
Plik rozwiązania: Pobierz 03_powershell_z01.ps1

Uruchomienie:
powershell -ExecutionPolicy Bypass -File 03_powershell_z01.ps1

Wprowadź oceny (2-6), wpisz "koniec" aby zakończyć

Zadanie 2: Monitor procesów systemowych

Rozwiązanie: Skrypt pobiera listę procesów, sortuje według zużycia pamięci i wyświetla TOP 10 najbardziej zasobożernych procesów.
Opis działania:
Plik rozwiązania: Pobierz 03_powershell_z02.ps1

Uruchomienie:
powershell -ExecutionPolicy Bypass -File 03_powershell_z02.ps1

Zadanie 3: Parser pliku logów systemowych

Rozwiązanie: Skrypt odczytuje plik logów, filtruje wpisy ERROR i generuje statystyki z użyciem tablicy mieszającej.
Opis działania:
Plik rozwiązania: Pobierz 03_powershell_z03.ps1

Uruchomienie:
powershell -ExecutionPolicy Bypass -File 03_powershell_z03.ps1

Automatycznie tworzy przykładowy plik logów jeśli nie istnieje

Zadanie 4: Automatyczny kreator kopii zapasowych

Rozwiązanie: Skrypt obsługuje dwa tryby: backup (tworzenie archiwum zip) i restore (odtwarzanie z archiwum).
Opis działania:
Plik rozwiązania: Pobierz 03_powershell_z04.ps1

Uruchomienie:
.\03_powershell_z04.ps1 -Tryb backup -Źródło "C:\katalog" -Cel "C:\Backup"
.\03_powershell_z04.ps1 -Tryb restore -Źródło "C:\Backup\backup.zip" -Cel "C:\Odtworzone"

Zadanie 5: Generator bezpiecznych haseł

Rozwiązanie: Skrypt generuje bezpieczne hasła z wykorzystaniem wielkich liter, małych liter, cyfr i znaków specjalnych.
Opis działania:
Plik rozwiązania: Pobierz 03_powershell_z05.ps1

Uruchomienie:
.\03_powershell_z05.ps1
.\03_powershell_z05.ps1 -Długość 24

Zadanie 6: Menedżer usług systemowych

Rozwiązanie: Skrypt zarządza usługami Windows: list, start, stop z zabezpieczeniem usług krytycznych.
Opis działania:
Plik rozwiązania: Pobierz 03_powershell_z06.ps1

Uruchomienie:
.\03_powershell_z06.ps1 -Akcja list
.\03_powershell_z06.ps1 -Akcja start -NazwaUsługi "Spooler"
.\03_powershell_z06.ps1 -Akcja stop -NazwaUsługi "Spooler"

Zadanie 7: Konwerter jednostek miar

Rozwiązanie: Skrypt konwertuje jednostki długości, temperatury i wagi z obsługą wielu formatów jednostek.
Opis działania:
Plik rozwiązania: Pobierz 03_powershell_z07.ps1

Uruchomienie:
.\03_powershell_z07.ps1 -Wartość 1 -ZJednostki m -DoJednostki stopa
.\03_powershell_z07.ps1 -Wartość 100 -ZJednostki celsius -DoJednostki fahrenheit
.\03_powershell_z07.ps1 -Wartość 1 -ZJednostki kg -DoJednostki funty

Zadanie 8: System logowania

Rozwiązanie: Moduł PowerShell z funkcjami do logowania zdarzeń w trzech poziomach (INFO, WARNING, ERROR).
Opis działania:
Plik rozwiązania: Pobierz 03_powershell_z08.ps1 (moduł)

Uruchomienie:
Import-Module .\03_powershell_z08.ps1
Write-LogInfo -Komunikat "Test"
Write-LogWarning -Komunikat "Ostrzeżenie"
Write-LogError -Komunikat "Błąd"

Zadanie 9: Masowa zmiana nazw plików

Rozwiązanie: Skrypt transformuje nazwy plików w trybie lowercase, uppercase, prefix lub replace.
Opis działania:
Plik rozwiązania: Pobierz 03_powershell_z09.ps1

Uruchomienie:
.\03_powershell_z09.ps1 -Katalog "C:\test" -Tryb lowercase
.\03_powershell_z09.ps1 -Katalog "C:\test" -Tryb lowercase -Preview
.\03_powershell_z09.ps1 -Katalog "C:\test" -Tryb prefix -Prefix "IMG_"

Zadanie 10: Automatyczny instalator środowiska

Rozwiązanie: Skrypt konfiguruje środowisko pracy: tworzy katalogi, sprawdza narzędzia, konfiguruje profil PowerShell.
Opis działania:
Plik rozwiązania: Pobierz 03_powershell_z10.ps1

Uruchomienie:
.\03_powershell_z10.ps1
(Uruchom jako administrator dla pełnej funkcjonalności)

Uwagi końcowe