![](/img/trans.png)
[英]Executing powershell .ps1 file on server and viewing results C# asp.net
[英]Download powershell (.ps1) file via ASP.NET
我有一個.ps1
文件,我想鏈接讀者。 不幸的是,導航到該URL只會導致404.如果內存服務,這就像.config
文件一樣被“阻止”,但有一種方法可以在web.config
更改該配置...但我似乎無法通過搜索找到正確的東西。
TL; DR,我如何通過HTTP公開.ps1
powershell腳本,以便它可以訪問( 雖然不可執行 )。
我相信你需要為.ps1添加一個MIME類型。 在IIS管理器中,選擇樹上的服務器節點,然后單擊“ MIME類型”。 然后單擊右側面板上的“添加...”。 對於擴展,請將其設置為.ps1
,並將MIME類型設置為text/plain
。
現在IIS應該提供.ps1文件。
您可以使用MIME類型的application/octet-stream
而不是text/plain
。 使用前者將導致大多數瀏覽器下載它而不是嘗試顯示它。
您也可以為特定的Web應用程序或虛擬目錄執行此操作。 如果您通過web.config執行此操作,它看起來像這樣:
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".ps1" mimeType="text/plain" /><!-- or application/octet-stream -->
</staticContent>
</system.webServer>
</configuration>
我們使用相同的策略與IIS靜態站點資源持續集成 - 執行此操作的powershell如下所示,以防其他人希望為CI編寫此更改腳本。 在詢問未列出或非標准文件類型( sql,ps1等 )時,我們收到了HTTP 404。
.ps1
) Remove-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/staticContent" -name "." -AtElement @{fileExtension='.ps1'}
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/staticContent" -name "." -value @{fileExtension='.ps1';mimeType='text/plain'}
可重入以支持可重復發布的部署/所需狀態等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.