What is MIME type "application/x-powershell"?
A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.
application/x-powershell is a MIME type used for PowerShell scripts in Windows environments. It signals that the file contains commands for automation and system management.
Scripts and modules written for PowerShell are identified with this type. They empower command-line control and automate routine tasks.
Files using this MIME type include PS1, PSM1, and PSD1.
- Script Execution: Enables running complex commands automatically.
- Module Integration: Loads additional sets of commands.
- Configuration Automation: Applies settings and manages system configurations.
For a deeper understanding, visit the Microsoft PowerShell documentation.
Associated file extensions
Usage Examples
HTTP Header
When serving content with this MIME type, set the Content-Type header:
Content-Type: application/x-powershell
HTML
In HTML, you can specify the MIME type in various elements:
<a href="file.dat" type="application/x-powershell">Download file</a>
Server-side (Node.js)
Setting the Content-Type header in Node.js:
const http = require('http');
http.createServer((req, res) => {
res.setHeader('Content-Type', 'application/x-powershell');
res.end('Content here');
}).listen(3000);
Associated file extensions
FAQs
What files use the application/x-powershell MIME type?
This MIME type is primarily associated with Windows PowerShell scripts and modules. Common file extensions include ps1 (scripts), psm1 (modules), and psd1 (data files), which contain commands for system automation.
Will web browsers execute application/x-powershell files?
No, web browsers do not execute PowerShell scripts for security reasons. If a server sends a file with the application/x-powershell header, the browser will typically prompt the user to download the file to their local machine instead of running it.
How do I configure IIS to serve .ps1 files correctly?
By default, IIS may block unknown file types. To allow downloads, open the MIME Types feature in IIS Manager, click "Add...", and set the file extension to .ps1 and the MIME type to application/x-powershell. This ensures users receive the correct headers.
Should I use text/plain or application/x-powershell for scripts?
If you want users to view the code directly in the browser, use text/plain. However, if the intent is for users to download the script for execution on their own machines, application/x-powershell is the specific identifier that signals the file's purpose to the operating system.
How do I add PowerShell support to Apache or Nginx?
For Apache, add AddType application/x-powershell .ps1 to your .htaccess or config file. For Nginx, add application/x-powershell ps1; inside the types { } block in your mime.types file or server configuration.
What are the security risks of serving PowerShell files?
Serving .ps1 files allows anyone with access to download your automation logic, which may reveal internal network details or configuration strategies. Always ensure that sensitive scripts containing credentials are not accessible via the web server.
General FAQ
What is a MIME type?
A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.
MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.
MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.
How do I find the MIME type for a file?
You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.
Why are multiple MIME types listed for one extension?
Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.