Nawigacja bloga

Najnowsze posty

Windows 10 bez TPM 2.0: co zrobić w 2026?
Windows 10 bez TPM 2.0: co zrobić w 2026?
124 wyświetlenia 0 Lubię

Co zrobić z komputerem bez TPM 2.0 po końcu wsparcia Windows 10: BIOS, Rufus, ESU, wymiana i ryzyka obejść.

Czytaj więcej
Windows 10 vs Windows 11: czy warto aktualizować w 2026?
Windows 10 vs Windows 11: czy warto aktualizować w 2026?
107 wyświetlenia 0 Lubię

Porównanie Windows 10 i Windows 11 w 2026: wsparcie, wymagania, bezpieczeństwo, koszt i praktyczne drzewo decyzyjne.

Czytaj więcej
Migracja z Windows 10 do Windows 11 krok po kroku
Migracja z Windows 10 do Windows 11 krok po kroku
116 wyświetlenia 0 Lubię

Praktyczny proces migracji z Windows 10 do Windows 11: checklisty, aktualizacja w miejscu, czysta instalacja i...

Czytaj więcej
Windows 10 ESU cena 2026: co to jest i jak kupić?
Windows 10 ESU cena 2026: co to jest i jak kupić?
115 wyświetlenia 0 Lubię

Cennik Windows 10 ESU, zastosowania i aktywacja krok po kroku dla komputerów pozostających na Windows 10.

Czytaj więcej
Windows 10 koniec wsparcia: co dalej w 2026 roku?
Windows 10 koniec wsparcia: co dalej w 2026 roku?
115 wyświetlenia 0 Lubię

Windows 10 zakończył wsparcie. Sprawdź trzy realne opcje: migracja do Windows 11, ESU albo ryzyko bez aktualizacji.

Czytaj więcej

PowerShell — automatyzacja zarządzania Windows Server dla administratorów

221 Odsłony 0 Polubiony
 

PowerShell to zaawansowana powłoka wiersza poleceń i język skryptowy od Microsoftu, który zrewolucjonizował sposób zarządzania infrastrukturą IT. Dla administratorów Windows Server to absolutnie niezbędne narzędzie — pozwala automatyzować powtarzalne zadania, zarządzać setkami serwerów jednocześnie i wykonywać w minuty operacje, które ręcznie zajmowałyby godziny.

Czym jest PowerShell i dlaczego każdy administrator powinien go znać?

PowerShell to znacznie więcej niż zwykły wiersz poleceń. To obiektowy język skryptowy oparty na platformie .NET, który pozwala na interakcje z praktycznie każdym elementem ekosystemu Windows — od systemu plików, przez rejestr, po Active Directory, Hyper-V i usługi chmurowe Azure.

  • Obiektowość — PowerShell operuje na obiektach .NET, nie na tekście.
  • Potoki (pipeline) — wyniki jednego polecenia można przekazać do następnego.
  • Cmdlety — polecenia Czasownik-Rzeczownik (Get-Process, Set-Service).
  • Zdalny dostęp — zarządzanie wieloma serwerami jednocześnie.
  • Rozszerzalność — moduły dla AD, Exchange, SQL Server, Azure.

PowerShell vs CMD vs Bash

CechaCMDBashPowerShell 7
Typ danychTekstTekstObiekty .NET
WieloplatformowośćTylko WindowsLinux/macOSWindows, Linux, macOS
Zarządzanie ADOgraniczoneBrakPełne moduły
Zdalne zarządzaniePsExecSSHWinRM + SSH + PSRemoting
Obsługa błędówKody wyjściatrapTry/Catch/Finally

Dla administratora Windows Server 2022 czy Windows Server 2025 PowerShell to optymalne narzędzie.

Instalacja PowerShell 7 na Windows Server

winget install --id Microsoft.PowerShell --source winget
iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI -Quiet"

Po instalacji: pwsh --version. PS 7 współistnieje z PS 5.1.

Podstawowe cmdlety

Procesy i usługi

Get-Process | Where-Object { $_.WorkingSet64 -gt 100MB } | Sort-Object WorkingSet64 -Descending Restart-Service -Name "Spooler" -Force Get-Service -Name "DNS","NTDS","W3SVC" | Format-Table Name, Status, StartType

Pliki

Get-ChildItem -Path "C: Logs" -Recurse -File | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } | Remove-Item -Force

System

Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version, FreePhysicalMemory Get-CimInstance Win32_LogicalDisk | Select-Object DeviceID, @{N='FreeGB';E={[math]::Round($_.FreeSpace/1GB,2)}} Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10

Skryptowanie — zmienne, pętle, funkcje

$servers = @("DC01", "SQL01", "WEB01", "FILE01") $freeSpace = (Get-CimInstance Win32_LogicalDisk -Filter "DeviceID='C:'").FreeSpace / 1GB if ($freeSpace -lt 10) { Write-Warning "KRYTYCZNIE: Mniej niż 10 GB!" } elseif ($freeSpace -lt 50) { Write-Warning "Mniej niż 50 GB wolnego." } else { Write-Host "OK: $([math]::Round($freeSpace,2)) GB wolnego." -ForegroundColor Green } foreach ($server in $servers) { $status = Invoke-Command -ComputerName $server -ScriptBlock { Get-Service "W32Time" | Select-Object Status } Write-Host "$server - W32Time: $($status.Status)" }
function Test-ServerHealth { [CmdletBinding()] param([Parameter(Mandatory,ValueFromPipeline)][string[]]$ComputerName, [int]$CpuThreshold=80) process { foreach ($c in $ComputerName) { $cpu = (Get-CimInstance -ComputerName $c Win32_Processor | Measure-Object LoadPercentage -Average).Average [PSCustomObject]@{ Server=$c; CpuPct=$cpu; Alert=$cpu -gt $CpuThreshold } } } } "DC01","SQL01" | Test-ServerHealth | Format-Table

Zarządzanie Active Directory

Active Directory to serce każdej infrastruktury Windows:

Install-WindowsFeature -Name RSAT-AD-PowerShell Get-ADUser -Filter {LastLogonDate -lt $((Get-Date).AddDays(-90)) -and Enabled -eq $true} -Properties LastLogonDate | Export-Csv "InactiveUsers.csv" Import-Csv "NewUsers.csv" | ForEach-Object { New-ADUser -Name "$($_.FirstName) $($_.LastName)" -SamAccountName $_.Username -Enabled $true -ChangePasswordAtLogon $true } Search-ADAccount -LockedOut | ForEach-Object { Unlock-ADAccount -Identity $_.SamAccountName }

Zarządzanie Hyper-V

Moduł Hyper-V pozwala zarządzać VM z konsoli:

Get-VM | Format-Table Name, State, CPUUsage, MemoryAssigned, Uptime New-VM -Name "WebServer01" -MemoryStartupBytes 4GB -NewVHDPath "D: VMs WebServer01.vhdx" -NewVHDSizeBytes 60GB -Generation 2 Set-VM -Name "WebServer01" -ProcessorCount 4 -DynamicMemory -MemoryMinimumBytes 2GB -MemoryMaximumBytes 8GB Checkpoint-VM -Name "WebServer01" -SnapshotName "Pre-Update" Get-VM | Where-Object { $_.State -eq 'Off' } | Start-VM

Zdalne zarządzanie — PSRemoting

Enable-PSRemoting -Force Enter-PSSession -ComputerName "DC01" -Credential (Get-Credential) $results = Invoke-Command -ComputerName @("DC01","SQL01","WEB01") -ScriptBlock { [PSCustomObject]@{ Server=$env:COMPUTERNAME; Uptime=((Get-Date)-(gcim Win32_OperatingSystem).LastBootUpTime).Days; FreeGB=[math]::Round((gcim Win32_LogicalDisk -Filter "DeviceID='C:'").FreeSpace/1GB,2) } } $results | Format-Table

Harmonogram zadań

$action = New-ScheduledTaskAction -Execute "pwsh.exe" -Argument "-File C: Scripts DailyReport.ps1" $trigger = New-ScheduledTaskTrigger -Daily -At "06:00AM" Register-ScheduledTask -TaskName "Daily Report" -Action $action -Trigger $trigger -Principal (New-ScheduledTaskPrincipal -UserId "SYSTEM" -RunLevel Highest)

Bezpieczeństwo — Execution Policy i JEA

Get-ExecutionPolicy -List Set-ExecutionPolicy RemoteSigned -Scope LocalMachine # JEA New-PSRoleCapabilityFile -Path "HelpDesk.psrc" -VisibleCmdlets @('Restart-Service','Get-Service','Unlock-ADAccount') Start-Transcript -Path "C: PSTranscripts session.txt"

Gotowe skrypty

Monitor serwerów

@("DC01","SQL01","WEB01") | ForEach-Object { [PSCustomObject]@{ Server=$_; Status=if(Test-Connection $_ -Count 2 -Quiet){"ONLINE"}else{"OFFLINE"} } } | Format-Table

Czyszczenie dysków

@("C: Windows Temp","C: inetpub logs") | ForEach-Object { if (Test-Path $_) { Get-ChildItem $_ -Recurse -File | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } | Remove-Item -Force -EA SilentlyContinue } }

Często zadawane pytania (FAQ)

Co to jest PowerShell?

Zaawansowana powłoka i język skryptowy Microsoftu do automatyzacji administracji Windows, Active Directory, Hyper-V, Exchange i Azure.

Jak uruchomić PowerShell jako administrator?

Win+X → Terminal (Admin) w Windows 11, lub PPM na ikonę → Uruchom jako administrator.

PowerShell 5.1 vs 7?

PS 5.1 = .NET Framework, tylko Windows. PS 7 = .NET 8, wieloplatformowy. Uruchamiaj pwsh (PS7) vs powershell (PS 5.1).

Czy PowerShell jest bezpieczny?

Tak — Execution Policy, JEA, Constrained Language Mode, Script Block Logging.

Jak się nauczyć?

Get-Help, Get-Command, Get-Member. Ćwicz na VM Hyper-V. Kurs "PowerShell 101" na learn.microsoft.com.

Potrzebujesz licencji Windows Server?

Oryginalne klucze z dostawą e-mailem w 1–3 min.

Windows Server 2022 Windows Server 2025 Windows Server 2019

Artykuł zaktualizowany: marzec 2026 | Autor: Zespół KluczeSoft

Polecane produkty

Najczęściej zadawane pytania

Ile licencji CAL potrzebuję?

Tyle ile masz użytkowników (User CAL) lub urządzeń (Device CAL) łączących się z serwerem — zależy od modelu licencjonowania.

Czym się różni Windows Server Standard od Datacenter?

Datacenter pozwala na nieograniczoną liczbę maszyn wirtualnych. Standard obejmuje maksymalnie 2 VM na licencję.

Czy Windows Server wymaga osobnych licencji dostępowych?

Tak, oprócz licencji serwerowej potrzebujesz licencji CAL (Client Access License) dla każdego użytkownika lub urządzenia.

 

Masz pytanie do tego artykułu?

Zespół KluczeSoft chętnie odpowie. Pomagamy w wyborze licencji Microsoft, faktur KSeF i zakupach B2B.

Skontaktuj się Centrum pomocy
z VAT
🛒 Do koszyka

Szanujemy Twoją prywatność. Pliki cookie analityczne i marketingowe (Google, Meta, PostHog) – tylko za Twoją zgodą. Używamy cookies do analityki i marketingu. Polityka prywatności ·