簡體   English   中英

通過ASP.NET下載powershell(.ps1)文件

[英]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。

將其他靜態MIME類型添加到IIS( .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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM