Hvad er PS1-filformatet?
En .ps1-fil er et script i almindeligt tekstformat skrevet i PowerShell-scriptsproget, udviklet af Microsoft. PowerShell blev lanceret i november 2006 med Windows PowerShell 1.0 som en moderne erstatning for ældre .bat og .cmd batch-scripts, bygget på en objektorienteret shell, der kører på .NET-runtime.
Scripts indeholder sekvenser af cmdlets, funktioner, variabler og kontrolstrukturer. En valgfri #Requires-header øverst specificerer en minimumsversion af PowerShell eller påkrævede moduler, og en param()-blok erklærer scriptparametre. På Windows er eksekvering som standard blokeret - ExecutionPolicy er sat til Restricted, så et script vil ikke køre, før politikken lempes med Set-ExecutionPolicy, eller filen startes via højreklik → Kør med PowerShell.
To aktive grene eksisterer side om side:
- Windows PowerShell 5.1 - indbygget i Windows 10 og 11; bruger som standard UTF-16 LE-kodning; udvikles ikke længere aktivt.
- PowerShell 7 (tidligere PowerShell Core) - tværplatform på Windows, macOS og Linux; bruger som standard UTF-8 uden BOM; vedligeholdes aktivt.
Begge grene læser .ps1-filer identisk. Authenticode-kodesignering (via Set-AuthenticodeSignature) tilføjer en # SIG # Begin signature block-trailer til filen; redigering af filen efterfølgende gør signaturen ugyldig.
Sikkerhed og tryghed
RISIKO: HIGHPS1 er den primære vektor for scripting-malware på Windows. PowerShell kan downloade payloads, omgå UAC, deaktivere antivirus, kryptere filer (ransomware) og lække data. Standard Windows ExecutionPolicy (Restricted) blokerer eksekvering, men angribere omgår rutinemæssigt dette med -ExecutionPolicy Bypass eller ved at kode scripts i Base64 (-EncodedCommand). Advarselstegn: scripts der kører Invoke-WebRequest/IEX (Invoke-Expression), deaktiverer antivirus eller ankommer som vedhæftede filer i e-mails. Sikker praksis: læs altid scriptet i en teksteditor før kørsel; brug PowerShell Script Block Logging (EventID 4104) på virksomhedssystemer. Signerede scripts (Set-AuthenticodeSignature med et betroet certifikat) er sikrere, men ikke immune.
Formatdetaljer
kort fortalt- Adobe PostScript Level 1-fil (.ps) - Sjælden: visse systemer associerer .ps1 med PostScript level 1-filer, som er forskellige fra PowerShell-scripts.
Programmer der åbner PS1-filer
Tekniske detaljer
dyb specifikation| Kodning | UTF-16 LE (Windows PowerShell 5.1 / ISE standard) eller UTF-8 uden BOM (PowerShell 7 standard) |
| Byte order mark | UTF-16 LE BOM (FF FE) almindelig fra ISE; PowerShell 7 udelader BOM som standard |
| Container | Almindelig tekst; ingen binær wrapper |
| MIME-type | application/x-powershell (også text/x-powershell og text/plain) |
| Script-struktur | Cmdlets, funktioner, variabler, kontrolstrukturer; valgfri #Requires og param() blokke |
| Eksekveringspolitik | Blokeret som standard på Windows (Restricted); kræver Set-ExecutionPolicy eller højreklik Kør med PowerShell |
| Kodesignering | Authenticode via Set-AuthenticodeSignature; # SIG # Begin signature block tilføjes som tekst-trailer; redigering af filen gør signaturen ugyldig |
| Runtime | .NET Framework (Windows PowerShell 5.1); .NET 5+ (PowerShell 7) |
| Tværplatform-support | Windows, macOS, Linux - kun PowerShell 7; Windows PowerShell 5.1 er kun til Windows |
| Modulintegration | Scripts kan dot-source .psm1-modulfiler og referere til .psd1-modulmanifester |
| Versionsdirektiv | #Requires -Version X.Y gennemtvinger minimum PowerShell-version; #Requires -Modules gennemtvinger modultilgængelighed |
| Typisk størrelse | 1 KB - 1 MB; de fleste scripts er under 100 KB |
| Relaterede scriptformater | .psm1 (modul), .psd1 (manifest), .ps1xml (type- og formatdata) |
| Udgivet | November 14, 2006 (Windows PowerShell 1.0) |
| Seneste version | PowerShell 7.5 (2025); format itself is plain text with no version field |
| Åben standard | Ja · royaltyfri |
| Specifikation | learn.microsoft.com |
PS1-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om PS1-filer.