Vad är filformatet PS1?
En .ps1-fil är ett skript i klartext skrivet i skriptspråket PowerShell, utvecklat av Microsoft. PowerShell lanserades i november 2006 med Windows PowerShell 1.0 som en modern ersättare för äldre .bat och .cmd-batchskript, byggt på ett objektorienterat skal som körs på .NET-runtime.
Skript innehåller sekvenser av cmdlets, funktioner, variabler och kontrollflödessatser. Ett valfritt #Requires-huvud högst upp anger en minsta PowerShell-version eller nödvändiga moduler, och ett param()-block deklarerar skriptparametrar. På Windows är körning blockerad som standard - ExecutionPolicy är inställd på Restricted, så ett skript körs inte förrän policyn lättas med Set-ExecutionPolicy eller filen startas via högerklick → Kör med PowerShell.
Två aktiva grenar existerar sida vid sida:
- Windows PowerShell 5.1 - inbyggt i Windows 10 och 11; använder UTF-16 LE-kodning som standard; utvecklas inte längre aktivt.
- PowerShell 7 (tidigare PowerShell Core) - plattformsoberoende på Windows, macOS och Linux; använder UTF-8 utan BOM som standard; underhålls aktivt.
Båda grenarna läser .ps1-filer identiskt. Authenticode-kodsignering (via Set-AuthenticodeSignature) lägger till ett # SIG # Begin signature block-släp i filen; om filen redigeras efteråt ogiltigförklaras signaturen.
Säkerhet & trygghet
RISK: HIGHPS1 är den främsta vektorn för skadlig kod via skript i Windows. PowerShell kan ladda ner skadliga filer, kringgå UAC, inaktivera antivirus, kryptera filer (ransomware) och extrahera data. Standardinställningen för Windows ExecutionPolicy (Restricted) blockerar körning, men angripare kringgår rutinmässigt detta med -ExecutionPolicy Bypass eller genom att koda skript i Base64 (-EncodedCommand). Varningstecken: skript som kör Invoke-WebRequest/IEX (Invoke-Expression), inaktiverar antivirus eller anländer som e-postbilagor. Säker praxis: läs alltid skriptet i en textredigerare innan du kör det; använd PowerShell Script Block Logging (EventID 4104) på företagssystem. Signerade skript (Set-AuthenticodeSignature med ett betrott certifikat) är säkrare men inte immuna.
Formatdetaljer
i ett nötskal- Adobe PostScript Level 1-fil (.ps) - Sällsynt: vissa system associerar .ps1 med PostScript nivå 1-filer, vilket är skilt från PowerShell-skript.
Program som öppnar PS1-filer
Tekniska detaljer
djup specifikation| Kodning | UTF-16 LE (standard i Windows PowerShell 5.1 / ISE) eller UTF-8 utan BOM (standard i PowerShell 7) |
| Byte order mark | UTF-16 LE BOM (FF FE) är vanligt från ISE; PowerShell 7 utelämnar BOM som standard |
| Container | Klartext; inget binärt hölje |
| MIME-typ | application/x-powershell (även text/x-powershell och text/plain) |
| Skriptstruktur | Cmdlets, funktioner, variabler, kontrollflöde; valfria #Requires- och param()-block |
| Körningspolicy | Blockerad som standard på Windows (Restricted); kräver Set-ExecutionPolicy eller högerklick Kör med PowerShell |
| Kodsignering | Authenticode via Set-AuthenticodeSignature; # SIG # Begin signature block läggs till som ett släp i klartext; redigering av filen ogiltigförklarar signaturen |
| Runtime | .NET Framework (Windows PowerShell 5.1); .NET 5+ (PowerShell 7) |
| Plattformsoberoende stöd | Windows, macOS, Linux - endast PowerShell 7; Windows PowerShell 5.1 är endast för Windows |
| Modulintegration | Skript kan «dot-sourca» .psm1-modulfiler och referera till .psd1-modulmanifest |
| Versionsdirektiv | #Requires -Version X.Y tvingar fram lägsta PowerShell-version; #Requires -Modules tvingar fram modultillgänglighet |
| Typisk storlek | 1 KB - 1 MB; de flesta skript är under 100 KB |
| Relaterade skriptformat | .psm1 (modul), .psd1 (manifest), .ps1xml (typ- och formatdata) |
| Släppt | November 14, 2006 (Windows PowerShell 1.0) |
| Senaste version | PowerShell 7.5 (2025); format itself is plain text with no version field |
| Öppen standard | Ja · royaltyfri |
| Specifikation | learn.microsoft.com |
PS1-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om PS1-filer.