Jak uruchomić skrypt PowerShell i jak ustawić „execution policy”? Ekspercki przewodnik
Windows 10 Windows 11 Windows 12 Windows Server

Jak uruchomić skrypt PowerShell i jak ustawić „execution policy”? Ekspercki przewodnik

Jak uruchomić skrypt PowerShell i jak ustawić „execution policy”? Ekspercki przewodnik

Wprowadzenie

PowerShell to potężna powłoka skryptowa i język automatyzacji firmy Microsoft, zaprojektowany dla administratorów systemów, inżynierów DevOps i zaawansowanych użytkowników. Jedną z najczęstszych barier dla początkujących (i jednocześnie ważnym aspektem bezpieczeństwa) jest execution policy, czyli polityka wykonywania skryptów. Zrozumienie, jak działa execution policy i jak ją właściwie ustawić, jest kluczowe do bezpiecznego i efektywnego korzystania z PowerShell.

Ten artykuł zawiera kompletny przegląd:

  • jak uruchomić skrypt .ps1,
  • jak działa execution policy,
  • jak ją konfigurować na różnych poziomach,
  • jak obejść ograniczenia,
  • oraz jak zachować bezpieczeństwo w środowiskach produkcyjnych.

1. Co to jest execution policy?

Execution Policy to mechanizm zabezpieczający w PowerShell, który kontroluje, jakie skrypty mogą być uruchamiane i z jakimi uprawnieniami. Nie jest to mechanizm bezpieczeństwa w ścisłym sensie (jak AppLocker czy antywirus), ale raczej prosty system ochrony przed przypadkowym uruchomieniem niezaufanych skryptów.

Rodzaje polityk wykonania:

Nazwa Opis
Restricted Domyślna dla Windows – nie pozwala na żadne skrypty. Tylko polecenia interaktywne.
AllSigned Tylko skrypty podpisane przez zaufanego wydawcę mogą być uruchamiane.
RemoteSigned Lokalne skrypty mogą być uruchamiane, ale zdalne (np. pobrane z Internetu) muszą być podpisane.
Unrestricted Wszystkie skrypty mogą być uruchamiane. Skrypty z Internetu powodują ostrzeżenie.
Bypass Żadne ograniczenia. Brak ostrzeżeń lub blokad. Używany np. w zadaniach automatyzacji.
Undefined Brak ustawionej polityki. Działa wtedy polityka z poziomu wyżej (np. GPO).
Czytaj  PowerShell DSC (Desired State Configuration): Jak używać DSC do automatycznej konfiguracji systemów?

2. Jak sprawdzić aktualną execution policy?

Get-ExecutionPolicy

lub:

Get-ExecutionPolicy -List

Polecenie -List pokaże wartości ustawione na różnych poziomach:

  • MachinePolicy
  • UserPolicy
  • Process
  • CurrentUser
  • LocalMachine

3. Jak ustawić execution policy?

Globalnie dla całego systemu (wymaga administratora):

Set-ExecutionPolicy RemoteSigned -Scope LocalMachine

Dla aktualnego użytkownika:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Tylko dla bieżącej sesji (tymczasowo):

Set-ExecutionPolicy Bypass -Scope Process

Dodatkowa opcja:

Set-ExecutionPolicy RemoteSigned -Force

-Force pomija pytanie o potwierdzenie.

Jak uruchomić skrypt PowerShell i jak ustawić „execution policy”? Ekspercki przewodnik
Jak uruchomić skrypt PowerShell i jak ustawić „execution policy”? Ekspercki przewodnik

4. Uruchamianie skryptów PowerShell

Aby uruchomić skrypt .ps1:

Z poziomu konsoli PowerShell:

.\skrypt.ps1

Jeśli jesteś w innym folderze:

C:\ścieżka\do\skryptu.ps1

Uwaga: Jeśli skrypt nie uruchamia się – najczęściej to problem z execution policy lub prawami.


5. Przykłady użycia różnych polityk

Scenariusz: Automatyzacja w CI/CD

Używaj -Scope Process -ExecutionPolicy Bypass w linii komend skryptu startowego, np.:

powershell -ExecutionPolicy Bypass -File deploy.ps1

Scenariusz: Skrypty firmowe podpisane certyfikatem

Ustaw AllSigned i podpisz wszystkie skrypty firmowym certyfikatem kodu.


6. Jak podpisać własny skrypt?

Jeśli chcesz, aby Twój skrypt był akceptowany w AllSigned:

  1. Uzyskaj certyfikat (np. z MakeCert lub urzędnika).
  2. Podpisz skrypt:
Set-AuthenticodeSignature -FilePath "skrypt.ps1" -Certificate (Get-ChildItem Cert:\CurrentUser\My\XXXXXXXX)
  1. Sprawdź podpis:
Get-AuthenticodeSignature .\skrypt.ps1

7. Problemy i obejścia

Problem: „Running scripts is disabled on this system”

Ten błąd oznacza, że execution policy ustawiona jest na Restricted.

Rozwiązania:

  • Uruchom PowerShell jako administrator.
  • Wprowadź tymczasowe obejście:
powershell -ExecutionPolicy Bypass -File .\skrypt.ps1
  • Zmień politykę dla sesji:
Set-ExecutionPolicy RemoteSigned -Scope Process

8. Polityki GPO (Group Policy)

W środowiskach domenowych, execution policy może być wymuszana przez polityki grupowe.

Ścieżka:
Computer Configuration > Administrative Templates > Windows Components > Windows PowerShell

Tam możesz wymusić AllSigned, RemoteSigned itd., niezależnie od tego, co ustawia użytkownik lokalnie.


9. Alternatywy i bezpieczeństwo

Execution policy NIE JEST:

  • mechanizmem uprawnień,
  • piaskownicą bezpieczeństwa,
  • ochroną przed malware.
Czytaj  Jak uaktualnić do Windows 11 z Windows 10?

Aby uzyskać pełne bezpieczeństwo:

  • Używaj AppLocker do kontroli aplikacji.
  • Używaj SRP (Software Restriction Policies).
  • Ogranicz dostęp do skryptów z sieci/internetu.
  • Używaj kodu podpisanego i zaufanych źródeł.
  • Monitoruj PowerShell przez Event Log, Sysmon i Defender.

10. Jak zautomatyzować konfigurację execution policy?

Skrypt do ustawienia execution policy i sprawdzenia aktualnego stanu:

$desiredPolicy = "RemoteSigned"
$currentPolicy = Get-ExecutionPolicy -Scope LocalMachine

if ($currentPolicy -ne $desiredPolicy) {
    try {
        Set-ExecutionPolicy -ExecutionPolicy $desiredPolicy -Scope LocalMachine -Force
        Write-Host "Polityka wykonania ustawiona na $desiredPolicy."
    } catch {
        Write-Error "Błąd podczas ustawiania execution policy: $_"
    }
} else {
    Write-Host "Polityka wykonania już ustawiona na $desiredPolicy."
}

11. Dobre praktyki

  • Nigdy nie ustawiaj Bypass jako globalnej polityki.
  • Unikaj Unrestricted bez uzasadnienia.
  • Skrypty produkcyjne zawsze powinny być sprawdzone i podpisane.
  • Zawsze loguj uruchomienia skryptów w środowisku korporacyjnym.
  • Rozważ użycie Constrained Language Mode dla nieuprzywilejowanych użytkowników.

Podsumowanie

Zrozumienie i prawidłowe konfigurowanie execution policy w PowerShell to kluczowy krok do bezpiecznego i wydajnego używania tego narzędzia. Daje to nie tylko kontrolę nad tym, co może zostać uruchomione, ale też wpływa na bezpieczeństwo systemu i stabilność automatyzacji w środowiskach firmowych.

Dzięki powyższemu przewodnikowi jesteś gotów zarządzać execution policy na wszystkich poziomach — od pojedynczej sesji, po polityki GPO w dużej organizacji.

Polecane wpisy
Wyłączanie niepotrzebnych funkcji i usług Windows 11, aby zwiększyć wydajność
Wyłączanie niepotrzebnych funkcji i usług Windows 11, aby zwiększyć wydajność

💻 Wyłączanie niepotrzebnych funkcji i usług Windows 11, aby zwiększyć wydajność W systemie Windows 11 znajduje się wiele usług, które Czytaj dalej

Zniknęły mi pliki po aktualizacji Windows 11 – Jak odzyskać utracone dane?
Zniknęły mi pliki po aktualizacji Windows 11 – Jak odzyskać utracone dane?

💾 Zniknęły mi pliki po aktualizacji Windows 11 – Jak odzyskać utracone dane? Aktualizacja systemu operacyjnego to zazwyczaj krok w Czytaj dalej