2018-02-09

Windows 7 中無法使用 PowerShell 安裝 IIS?!改用 DISM

這次遇到的問題是在公司的 Windows 7 電腦上,雖然 Windows 7 也是優秀的作業系統,但終究是較早期的產品,對於一些新的工具就得自行安裝或是不支援,今天遇到的狀況就是其中一個例子

因為安裝 Windows feature 的 GUI 持續吐出錯誤 無法完成安裝,所以想試試透過 PowerShell 安裝,結果 import module 就失敗

發現網路相關文章不多,自己紀錄一下囉


無法使用 ServerManager module

  • Import-Module ServerManager
  • Add-WindowsFeature
  1. 錯誤訊息
    • 訊息內容
      Import-Module : The specified module 'ServerManager' was not loaded because no valid module file was found in any module directory.
      At line:1 char:1
      + Import-Module ServerManager
      + ~~~~~~~~~~~~~~~~~~~~~~~~~~~
          + CategoryInfo          : ResourceUnavailable: (ServerManager:String) [Import-Module], FileNotFoundException
          + FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand
      
    • 錯誤截圖

      1error

  2. 問題發生原因

    因為 Windows 7 預設未包含 ServerManager module

解決方式:使用 DISM

  1. 取得所有設定
    dism /online /get-features /format:table 
    

    2modulelist

  2. 啟用 feature
    • 語法
      dism /online /enable-feature /featurename:{目標 feature}
      
    • 範例
      dism /online /enable-feature /featurename:IIS-ASPNET  /featurename:IIS-ISAPIExtensions /featurename:IIS-ISAPIFilter /featurename:IIS-NetFxExtensibility
      

心得

之前我認真覺得 PowerShell 的前景可期,可以透過指令操作 server 執行多數行為,加上不需要 compile 讓使用上非常便利

只是開始使用其他指令工具後,逐漸認為 PowerShell 可能沒有機會贏過其他平台指令,一來是 PowerShell 不僅指令很多還不好記,二來是相關資料沒有統一平台,指令跟範例散落在各處,最後是網頁討論及社群參與太少導致想要用的人找不到適合資源,一來一往就更少人用了

參考資訊

  1. Install Internet Information Services (IIS) on Windows 7

2 則留言:

  1. 完全同意

    請問一下「其他指令工具後」是什麼?

    回覆刪除
    回覆
    1. 這邊的 `其他指令工具` 我用的是 linux 的 bash,但我還沒有使用過 Windows bash ,不知道 bash 在 Windows 上效果如何
      只是覺得 PowerShell 之於 Windows v.s. bash 之於 linux 使用體驗差太多了

      刪除