Co to jest format pliku PS1?
Plik .ps1 to skrypt tekstowy napisany w języku skryptowym PowerShell, opracowanym przez firmę Microsoft. PowerShell zadebiutował w listopadzie 2006 roku wraz z Windows PowerShell 1.0 jako nowoczesny następca starszych skryptów wsadowych .bat i .cmd, zbudowany na obiektowej powłoce działającej w środowisku uruchomieniowym .NET.
Skrypty zawierają sekwencje cmdletów, funkcji, zmiennych i instrukcji sterujących. Opcjonalny nagłówek #Requires na górze określa minimalną wersję PowerShell lub wymagane moduły, a blok param() deklaruje parametry skryptu. W systemie Windows wykonywanie jest domyślnie blokowane - zasada ExecutionPolicy jest ustawiona na Restricted, więc skrypt nie zostanie uruchomiony, dopóki zasada nie zostanie złagodzona za pomocą Set-ExecutionPolicy lub plik nie zostanie uruchomiony poprzez prawy przycisk myszy → Uruchom za pomocą programu PowerShell.
Istnieją dwie aktywne gałęzie rozwijane równolegle:
- Windows PowerShell 5.1 - wbudowany w Windows 10 i 11; domyślnie używa kodowania UTF-16 LE; nie jest już aktywnie rozwijany.
- PowerShell 7 (dawniej PowerShell Core) - wieloplatformowy (Windows, macOS, Linux); domyślnie używa UTF-8 bez BOM; aktywnie utrzymywany.
Obie gałęzie odczytują pliki .ps1 w identyczny sposób. Podpisywanie kodu Authenticode (przez Set-AuthenticodeSignature) dołącza blok # SIG # Begin signature block na końcu pliku; edycja pliku po podpisaniu unieważnia sygnaturę.
Bezpieczeństwo
RYZYKO: HIGHPS1 to najczęstszy wektor złośliwego oprogramowania skryptowego w Windows. PowerShell może pobierać ładunki (payloads), omijać UAC, wyłączać antywirusy, szyfrować pliki (ransomware) i wykradać dane. Domyślna zasada Windows ExecutionPolicy (Restricted) blokuje wykonanie, ale atakujący rutynowo ją omijają za pomocą -ExecutionPolicy Bypass lub kodując skrypty w Base64 (-EncodedCommand). Sygnały ostrzegawcze: skrypty uruchamiające Invoke-WebRequest/IEX (Invoke-Expression), wyłączające antywirusy lub przychodzące jako załączniki e-mail. Bezpieczna praktyka: zawsze czytaj skrypt w edytorze tekstu przed uruchomieniem; w systemach korporacyjnych używaj PowerShell Script Block Logging (EventID 4104). Podpisane skrypty (Set-AuthenticodeSignature z zaufanym certyfikatem) są bezpieczniejsze, ale nie całkowicie odporne.
Szczegóły formatu
w pigułce- Plik Adobe PostScript Level 1 (.ps) - Rzadkie: niektóre systemy kojarzą .ps1 z plikami PostScript poziomu 1, co jest niezależne od skryptów PowerShell.
Programy otwierające pliki PS1
Szczegóły techniczne
specyfikacja| Kodowanie | UTF-16 LE (domyślne dla Windows PowerShell 5.1 / ISE) lub UTF-8 bez BOM (domyślne dla PowerShell 7) |
| BOM (Byte order mark) | UTF-16 LE BOM (FF FE) powszechny w ISE; PowerShell 7 domyślnie pomija BOM |
| Kontener | Zwykły tekst; brak binarnego opakowania |
| Typ MIME | application/x-powershell (również text/x-powershell i text/plain) |
| Struktura skryptu | Cmdlety, funkcje, zmienne, sterowanie przepływem; opcjonalne bloki #Requires i param() |
| Zasady wykonywania | Domyślnie blokowane w Windows (Restricted); wymaga Set-ExecutionPolicy lub prawego przycisku Uruchom za pomocą programu PowerShell |
| Podpisywanie kodu | Authenticode przez Set-AuthenticodeSignature; blok # SIG # Begin signature block dołączany jako tekstowa końcówka; edycja pliku unieważnia podpis |
| Środowisko uruchomieniowe | .NET Framework (Windows PowerShell 5.1); .NET 5+ (PowerShell 7) |
| Wsparcie wieloplatformowe | Windows, macOS, Linux - tylko PowerShell 7; Windows PowerShell 5.1 działa tylko w Windows |
| Integracja z modułami | Skrypty mogą importować pliki modułów .psm1 (dot-sourcing) i odwoływać się do manifestów .psd1 |
| Dyrektywa wersji | #Requires -Version X.Y wymusza minimalną wersję PowerShell; #Requires -Modules wymusza dostępność modułów |
| Typowy rozmiar | 1 KB - 1 MB; większość skryptów poniżej 100 KB |
| Powiązane formaty skryptów | .psm1 (moduł), .psd1 (manifest), .ps1xml (dane o typach i formatowaniu) |
| Wydano | November 14, 2006 (Windows PowerShell 1.0) |
| Najnowsza wersja | PowerShell 7.5 (2025); format itself is plain text with no version field |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | learn.microsoft.com |
Konwersje PS1
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki PS1.