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

Skrypty PowerShell do zarządzania systemem Windows Server , part4

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

1. Skrypt do sprawdzania dostępności serwera za pomocą ICMP (ping)

Poniższy skrypt pozwala na sprawdzenie dostępności serwera w sieci za pomocą polecenia ping. Może być przydatny do monitorowania dostępności maszyn w sieci.

# Zmienna z nazwą serwera lub adresem IP
$server = "serwer.domain.com"

# Wykonanie ping na serwerze
Test-Connection -ComputerName $server -Count 4 -ErrorAction SilentlyContinue

if ($?) {
    Write-Host "Serwer $server jest dostępny."
} else {
    Write-Host "Serwer $server jest niedostępny."
}
Skrypty PowerShell do zarządzania systemem Windows Server , part4
Skrypty PowerShell do zarządzania systemem Windows Server , part4

2. Skrypt do zbierania informacji o zainstalowanych aktualizacjach

Ten skrypt umożliwia zebranie informacji o zainstalowanych aktualizacjach na serwerze, co jest szczególnie ważne w procesie utrzymania systemu.

# Zbieranie informacji o zainstalowanych aktualizacjach
Get-HotFix | Select-Object Description, HotFixID, InstalledOn | Format-Table -AutoSize
Write-Host "Informacje o zainstalowanych aktualizacjach zostały zebrane."

3. Skrypt do masowego dodawania użytkowników do grupy w Active Directory

Skrypt ten pozwala na masowe dodanie użytkowników do określonej grupy w Active Directory na podstawie pliku CSV zawierającego nazwy użytkowników.

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

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

# Dodawanie użytkowników do grupy
foreach ($user in $users) {
    Add-ADGroupMember -Identity "Grupa" -Members $user.Username
    Write-Host "Użytkownik $($user.Username) został dodany do grupy."
}

4. Skrypt do monitorowania wykorzystania dysku

Skrypt monitoruje stan dysku twardego i informuje, czy przestrzeń dyskowa spadła poniżej określonego progu.

# Ścieżka do monitorowanego dysku
$disk = Get-PSDrive -Name C

# Określenie progu procentowego
$threshold = 80

# Sprawdzenie wykorzystania dysku
if ($disk.Used / $disk.Maximum -gt $threshold / 100) {
    Write-Host "Ostrzeżenie: Wykorzystanie dysku C: wynosi ponad $threshold%."
} else {
    Write-Host "Wykorzystanie dysku C: jest poniżej $threshold%."
}

5. Skrypt do restartu wielu serwerów

Poniższy skrypt umożliwia zdalne uruchomienie polecenia restartu na wielu serwerach w tym samym czasie. Jest to przydatne w przypadku konieczności przeprowadzenia restartu w środowiskach produkcyjnych.

# Lista serwerów
$servers = @("serwer1", "serwer2", "serwer3")

# Restartowanie serwerów
foreach ($server in $servers) {
    Restart-Computer -ComputerName $server -Force -Credential (Get-Credential)
    Write-Host "Serwer $server został zrestartowany."
}

6. Skrypt do wyświetlania informacji o systemie operacyjnym

Skrypt ten zbiera podstawowe informacje o systemie operacyjnym, takie jak jego wersja, architektura i typ, a następnie wyświetla je na ekranie.

# Zbieranie informacji o systemie operacyjnym
$os = Get-WmiObject -Class Win32_OperatingSystem

# Wyświetlanie informacji
Write-Host "Nazwa systemu: $($os.Caption)"
Write-Host "Wersja systemu: $($os.Version)"
Write-Host "Architektura systemu: $($os.OSArchitecture)"
Write-Host "Typ systemu: $($os.ProductType)"

7. Skrypt do czyszczenia pamięci podręcznej DNS

Czyszczenie pamięci podręcznej DNS może być pomocne w przypadku problemów z rozwiązywaniem nazw. Poniższy skrypt wykonuje to zadanie.

# Czyszczenie pamięci podręcznej DNS
Clear-DnsClientCache
Write-Host "Pamięć podręczna DNS została wyczyszczona."

8. Skrypt do usuwania starych plików logów

Ten skrypt usuwa pliki logów starsze niż określona liczba dni z określonego folderu, co jest pomocne w zarządzaniu przestrzenią dyskową.

# Ścieżka do folderu logów
$logFolder = "C:\Logs"

# Określenie liczby dni
$days = 30

# Usuwanie plików starszych niż określona liczba dni
Get-ChildItem -Path $logFolder | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-$days) } | Remove-Item -Force
Write-Host "Pliki logów starsze niż $days dni zostały usunięte."

9. Skrypt do generowania raportu o użytkownikach i ich grupach w Active Directory

Skrypt ten generuje raport, który pokazuje, w jakich grupach znajdują się użytkownicy w Active Directory.

# Pobieranie wszystkich użytkowników z Active Directory
$users = Get-ADUser -Filter * -Property MemberOf

# Generowanie raportu o grupach
$users | ForEach-Object {
    $userGroups = $_.MemberOf -join ", "
    [PSCustomObject]@{
        Username = $_.SamAccountName
        Groups   = $userGroups
    }
} | Export-Csv -Path "C:\ścieżka\do\raport_użytkownicy.csv" -NoTypeInformation
Write-Host "Raport o użytkownikach i ich grupach został zapisany."

10. Skrypt do sprawdzania, czy Windows Defender jest włączony

Skrypt ten sprawdza, czy Windows Defender jest włączony i czy system jest chroniony przed zagrożeniami.

# Sprawdzenie stanu Windows Defender
$defenderStatus = Get-MpPreference

if ($defenderStatus.DisableRealtimeMonitoring -eq $true) {
    Write-Host "Windows Defender jest wyłączony."
} else {
    Write-Host "Windows Defender jest włączony."
}

11. Skrypt do aktualizacji systemu Windows za pomocą PowerShell

Poniższy skrypt umożliwia zainstalowanie dostępnych aktualizacji systemu Windows przy użyciu Windows Update.

# Sprawdzenie dostępnych aktualizacji
$updates = Get-WindowsUpdate

# Instalacja dostępnych aktualizacji
Install-WindowsUpdate -AcceptAll -AutoReboot
Write-Host "Aktualizacje zostały zainstalowane."

12. Skrypt do sprawdzania dostępności portów na wielu serwerach

Ten skrypt sprawdza dostępność określonych portów na wielu serwerach w tym samym czasie.

# Lista serwerów
$servers = @("serwer1", "serwer2", "serwer3")
$port = 80  # Przykład: HTTP

# Sprawdzenie dostępności portu na serwerach
foreach ($server in $servers) {
    $result = Test-NetConnection -ComputerName $server -Port $port
    Write-Host "$($server): Port $port dostępny: $($result.TcpTestSucceeded)"
}

13. Skrypt do synchronizacji czasu systemowego z serwerem NTP

Jeśli chcesz zsynchronizować czas systemowy z zewnętrznym serwerem NTP, możesz użyć poniższego skryptu.

# Synchronizacja czasu z serwerem NTP
w32tm /config /manualpeerlist:"time.windows.com" /syncfromflags:manual /reliable:YES /update
w32tm /resync
Write-Host "Czas systemowy został zsynchronizowany z serwerem NTP."

14. Skrypt do monitorowania i zbierania informacji o procesach

Ten skrypt zbiera informacje o działających procesach na serwerze, w tym ich identyfikatory PID, użycie CPU i pamięci.

# Zbieranie informacji o procesach
Get-Process | Select-Object Name, Id, CPU, WorkingSet | Format-Table -AutoSize
Write-Host "Informacje o procesach zostały zebrane."

15. Skrypt do tworzenia kopii zapasowej bazy danych SQL

Skrypt ten pozwala na tworzenie kopii zapasowej bazy danych SQL Server przy użyciu PowerShell.

# Zmienna z połączeniem do SQL Server
$serverName = "SQLServerName"
$databaseName = "DatabaseName"
$backupPath = "C:\Backup\DatabaseBackup.bak"

# Tworzenie kopii zapasowej bazy danych
Invoke-Sqlcmd -Query "BACKUP DATABASE [$databaseName] TO DISK = '$backupPath'" -ServerInstance $serverName
Write-Host "Kopiazapasowa bazy danych została utworzona."

Podsumowanie

Skrypty PowerShell to potężne narzędzie do zarządzania systemami Windows Server. Automatyzacja wielu procesów, takich jak monitorowanie, zarządzanie użytkownikami, czy aktualizacje, pozwala administratorom zaoszczędzić czas i zmniejszyć ryzyko błędów. Powiązane z procesami, jak zarządzanie przestrzenią dyskową, bezpieczeństwem czy usługami, skrypty te są niezbędnym elementem efektywnego zarządzania środowiskiem serwerowym.

Czytaj  Active Directory Domain Services (AD DS) – Kompleksowy przewodnik
Polecane wpisy
Dzięki AI: Smartfony i aplikacje mobilne uczą się Twoich preferencji
Dzięki AI: Smartfony i aplikacje mobilne uczą się Twoich preferencji

Rozwój sztucznej inteligencji (AI) wnosi rewolucję do świata smartfonów i aplikacji mobilnych. Dzięki wykorzystaniu zaawansowanych algorytmów uczenia maszynowego, urządzenia mobilne Czytaj dalej

Jakie są najlepsze praktyki w zarządzaniu serwerem Windows Server?
Jakie są najlepsze praktyki w zarządzaniu serwerem Windows Server?

Jakie są najlepsze praktyki w zarządzaniu serwerem Windows Server? Zarządzanie serwerem Windows Server to kluczowy element infrastruktury IT w wielu Czytaj dalej