Hva er PS1-filformatet?
En .ps1-fil er et skript i ren tekst skrevet i skriptspråket PowerShell, utviklet av Microsoft. PowerShell ble lansert i november 2006 med Windows PowerShell 1.0 som en moderne erstatning for eldre .bat og .cmd batch-skript, bygget på et objektorientert skall som kjører på .NET-runtimen.
Skript inneholder sekvenser av cmdlets, funksjoner, variabler og kontrollflyt-setninger. En valgfri #Requires-header øverst spesifiserer en minimumsversjon av PowerShell eller nødvendige moduler, og en param()-blokk deklarerer skriptparametere. På Windows er kjøring blokkert som standard - ExecutionPolicy er satt til Restricted, så et skript vil ikke kjøre før policyen er lempet på med Set-ExecutionPolicy eller filen startes via høyreklikk → Kjør med PowerShell.
To aktive grener eksisterer side om side:
- Windows PowerShell 5.1 - innebygd i Windows 10 og 11; bruker UTF-16 LE-koding som standard; utvikles ikke lenger aktivt.
- PowerShell 7 (tidligere PowerShell Core) - plattformuavhengig på Windows, macOS og Linux; bruker UTF-8 uten BOM som standard; vedlikeholdes aktivt.
Begge grenene leser .ps1-filer identisk. Authenticode-kodesignering (via Set-AuthenticodeSignature) legger til en # SIG # Begin signature block-hale i filen; redigering av filen i etterkant gjør signaturen ugyldig.
Sikkerhet og trygghet
RISIKO: HIGHPS1 er den fremste vektoren for skadelig programvare via skript på Windows. PowerShell kan laste ned nyttelast, omgå UAC, deaktivere antivirus, kryptere filer (løsepengevirus) og eksfiltrere data. Standard Windows ExecutionPolicy (Restricted) blokkerer kjøring, men angripere omgår dette rutinemessig med -ExecutionPolicy Bypass eller ved å kode skript i Base64 (-EncodedCommand). Røde flagg: skript som kjører Invoke-WebRequest/IEX (Invoke-Expression), deaktiverer antivirus eller ankommer som e-postvedlegg. Sikker praksis: les alltid skriptet i en tekstredigerer før kjøring; bruk PowerShell Script Block Logging (EventID 4104) på bedriftssystemer. Signerte skript (Set-AuthenticodeSignature med et klarert sertifikat) er sikrere, men ikke immune.
Formatdetaljer
i et nøtteskall- Adobe PostScript Level 1-fil (.ps) - Sjelden: noen systemer assosierer .ps1 med PostScript nivå 1-filer, som er adskilt fra PowerShell-skript.
Programmer som åpner PS1-filer
Tekniske detaljer
dyp spesifikasjon| Koding | UTF-16 LE (standard for Windows PowerShell 5.1 / ISE) eller UTF-8 uten BOM (standard for PowerShell 7) |
| Byte order mark | UTF-16 LE BOM (FF FE) er vanlig fra ISE; PowerShell 7 utelater BOM som standard |
| Beholder | Ren tekst; ingen binær innpakning |
| MIME-type | application/x-powershell (også text/x-powershell og text/plain) |
| Skriptstruktur | Cmdlets, funksjoner, variabler, kontrollflyt; valgfrie #Requires- og param()-blokker |
| Kjøringspolicy | Blokkert som standard på Windows (Restricted); krever Set-ExecutionPolicy eller høyreklikk «Kjør med PowerShell» |
| Kodesignering | Authenticode via Set-AuthenticodeSignature; # SIG # Begin signature block lagt til som teksthale; redigering av filen ugyldiggjør signaturen |
| Runtime | .NET Framework (Windows PowerShell 5.1); .NET 5+ (PowerShell 7) |
| Plattformstøtte | Windows, macOS, Linux - kun PowerShell 7; Windows PowerShell 5.1 er kun for Windows |
| Modulintegrasjon | Skript kan «dot-source» .psm1-modulfiler og referere til .psd1-modulmanifester |
| Versjonsdirektiv | #Requires -Version X.Y håndhever minimumsversjon av PowerShell; #Requires -Modules håndhever tilgjengelighet av moduler |
| Typisk størrelse | 1 KB - 1 MB; de fleste skript er under 100 KB |
| Relaterte skriptformater | .psm1 (modul), .psd1 (manifest), .ps1xml (type- og formatdata) |
| Utgitt | November 14, 2006 (Windows PowerShell 1.0) |
| Siste versjon | PowerShell 7.5 (2025); format itself is plain text with no version field |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | learn.microsoft.com |
PS1-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om PS1-filer.