Skrypty PowerShell do zarządzania systemem Windows Server
Windows Server

Skrypty PowerShell do zarządzania systemem Windows Server , part2

Oto kolejne przydatne skrypty PowerShell, które mogą być użyteczne w codziennej administracji Windows Server:

1. Skrypt do sprawdzania i restartowania usług

Czasami może wystąpić potrzeba sprawdzenia stanu usługi oraz jej ponownego uruchomienia w razie potrzeby. Poniższy skrypt sprawdza stan usługi, a jeśli nie działa, uruchamia ją:

# Zmienna z nazwą usługi
$serviceName = "wuauserv"

# Pobranie statusu usługi
$service = Get-Service -Name $serviceName

if ($service.Status -ne "Running") {
    Write-Host "Usługa $serviceName jest zatrzymana. Próba jej uruchomienia..."
    Start-Service -Name $serviceName
    Write-Host "Usługa $serviceName została uruchomiona."
} else {
    Write-Host "Usługa $serviceName już działa."
}

2. Skrypt do tworzenia użytkowników w Active Directory z pliku CSV

Skrypty PowerShell do zarządzania systemem Windows Server
Skrypty PowerShell do zarządzania systemem Windows Server

Skrypt poniżej pozwala na masowe dodawanie użytkowników do Active Directory na podstawie danych z pliku CSV. Dzięki temu administratorzy mogą szybko utworzyć wielu użytkowników:

# Ścieżka do pliku CSV
$csvPath = "C:\ścieżka\do\plik.csv"

# Wczytanie danych z pliku CSV
$users = Import-Csv -Path $csvPath

# Tworzenie użytkowników
foreach ($user in $users) {
    $password = ConvertTo-SecureString $user.Password -AsPlainText -Force
    New-ADUser -SamAccountName $user.Username -UserPrincipalName "$($user.Username)@domain.com" -Name $user.Name -GivenName $user.GivenName -Surname $user.Surname -Enabled $true -AccountPassword $password -PasswordNeverExpires $true -Path "CN=Users,DC=domain,DC=com"
    Write-Host "Użytkownik $($user.Username) został utworzony."
}

Plik CSV powinien zawierać kolumny takie jak: Username, Password, Name, GivenName, Surname.

3. Skrypt do eksportu listy zainstalowanych programów

PowerShell pozwala na łatwe wyeksportowanie listy zainstalowanych programów na komputerze lub serwerze. Poniższy skrypt zapisuje listę aplikacji do pliku tekstowego:

# Eksportowanie listy zainstalowanych programów do pliku tekstowego
Get-WmiObject -Class Win32_Product | Select-Object Name, Version | Out-File "C:\ścieżka\do\plik.txt"
Write-Host "Lista zainstalowanych programów została zapisana."

4. Skrypt do monitorowania logów zdarzeń systemowych

Skrypt ten sprawdza logi zdarzeń systemowych w celu wykrycia krytycznych błędów. Używa Event Viewer do uzyskania informacji o błędach i zapisu ich do pliku:

# Pobranie zdarzeń krytycznych
Get-EventLog -LogName System -EntryType Error | Select-Object TimeGenerated, Message | Out-File "C:\ścieżka\do\bladów.txt"
Write-Host "Zdarzenia krytyczne zostały zapisane."

5. Skrypt do zbierania informacji o systemie

PowerShell może zbierać informacje o systemie operacyjnym, pamięci, procesorze i dyskach twardych. Oto skrypt, który zbiera podstawowe dane o serwerze:

# Zbieranie informacji o systemie
$os = Get-WmiObject -Class Win32_OperatingSystem
$cpu = Get-WmiObject -Class Win32_Processor
$memory = Get-WmiObject -Class Win32_PhysicalMemory
$disks = Get-WmiObject -Class Win32_LogicalDisk

# Zapis danych do pliku tekstowego
$systemInfo = @"
Informacje o systemie:
---------------------------------
OS: $($os.Caption) $($os.Version)
CPU: $($cpu.Name)
Pamięć: $([math]::round($memory.Capacity / 1GB, 2)) GB
Dyski:
"@

$disks | ForEach-Object {
    $systemInfo += "Dysk $($_.DeviceID) - $($_.Size / 1GB) GB"
}

$systemInfo | Out-File "C:\ścieżka\do\informacje.txt"
Write-Host "Informacje o systemie zostały zapisane."

6. Skrypt do monitorowania dostępności serwisów zdalnych

Jeśli zarządzasz wieloma serwerami, pomocny może być skrypt monitorujący dostępność usług zdalnych (np. HTTP, HTTPS):

# Sprawdzenie dostępności serwera na porcie 80 (HTTP)
$server = "serwer.domain.com"
$port = 80
Test-NetConnection -ComputerName $server -Port $port

Skrypt ten sprawdza, czy port 80 (HTTP) jest otwarty na serwerze serwer.domain.com. Może być użyteczny do monitorowania dostępności usług sieciowych.

Czytaj  Odinstalowywanie zbędnych aplikacji w Windows 11: Zwiększ wydajność w grach

7. Skrypt do usuwania użytkowników z Active Directory

Skrypt ten usuwa użytkowników z Active Directory na podstawie listy z pliku CSV. Jest to przydatne w przypadku usuwania nieaktywnych kont:

# Ścieżka do pliku CSV
$csvPath = "C:\ścieżka\do\plik.csv"

# Wczytanie danych z pliku CSV
$users = Import-Csv -Path $csvPath

# Usuwanie użytkowników
foreach ($user in $users) {
    Remove-ADUser -Identity $user.Username -Confirm:$false
    Write-Host "Użytkownik $($user.Username) został usunięty."
}

8. Skrypt do tworzenia punktów przywracania systemu

PowerShell może być użyteczny do tworzenia punktów przywracania systemu. Poniższy skrypt umożliwia stworzenie punktu przywracania:

# Tworzenie punktu przywracania systemu
Checkpoint-Computer -Description "Punkt przywracania przed aktualizacją" -RestorePointType "MODIFY_SETTINGS"
Write-Host "Punkt przywracania systemu został utworzony."

9. Skrypt do sprawdzania stanu zabezpieczeń systemu

Ten skrypt sprawdza, czy funkcje zabezpieczeń systemu są włączone, np. zapora Windows, BitLocker, itp.:

# Sprawdzenie statusu zapory Windows
$firewall = Get-NetFirewallProfile | Select-Object Name, Enabled
Write-Host "Status zapory Windows:"
$firewall

# Sprawdzenie statusu BitLocker
$bitlocker = Get-BitLockerVolume
Write-Host "Status BitLocker:"
$bitlocker

10. Skrypt do tworzenia kopii zapasowej rejestru systemowego

Skrypt ten tworzy kopię zapasową rejestru systemowego, co jest przydatne w przypadku modyfikacji rejestru:

# Tworzenie kopii zapasowej rejestru
$backupPath = "C:\Backup\registry_backup.reg"
reg export "HKLM\Software" $backupPath /y
Write-Host "Kopia zapasowa rejestru została stworzona."

Podsumowanie

Skrypty PowerShell to potężne narzędzie dla administratorów Windows Server, które pozwala na automatyzację i uproszczenie wielu procesów zarządzania serwerem. Dzięki skryptom można zarządzać użytkownikami, monitorować system, instalować oprogramowanie, tworzyć kopie zapasowe oraz wykonywać wiele innych zadań, co pozwala zaoszczędzić czas i zwiększyć wydajność pracy w administracji systemami Windows Server.

Polecane wpisy
Szyfrowanie danych w transporcie za pomocą STARTTLS w Windows Server
Szyfrowanie danych w transporcie za pomocą STARTTLS w Windows Server

Szyfrowanie danych w transporcie za pomocą STARTTLS w Windows Server Bezpieczeństwo danych przesyłanych w sieci jest jednym z najistotniejszych zagadnień Czytaj dalej