在 Windows PowerShell 指令碼中建立模組

已完成

您可以建立模組來儲存函式,並在指令碼之間共用這些函式。 將函式放入模組之後,這些函式就如同 Cmdlet 一樣可供探索。 此外,如同 Windows 隨附的模組,您所建立的模組也會在需要函式時自動載入。

注意

最佳做法是,您應該在模組中命名函數,其命名結構類似於 Cmdlet 命名慣例。 例如,您會使用動詞名詞格式。

注意

模組中的函數可以包含可使用 Get-Help 探索的註解型說明。 若要支援此功能,您必須在每個函數中包含說明資訊。

在許多案例下,您已在 Windows PowerShell 指令碼檔案中擁有函數。 若要將只包含函式的腳本檔案轉換成模組,請使用 .psm1 擴展名重新命名它。 檔案中不需要任何結構變更。

Windows PowerShell 會使用 $PSModulePath 環境變數來定義模組的載入路徑。 在 Windows PowerShell 5.0 中,列出下列路徑:

  • C:\Users\UserID\Documents\WindowsPowerShell\Modules
  • C:\Program Files\WindowsPowerShell\Modules
  • C:\Windows\System32\WindowsPowerShell\1.0\Modules

Windows PowerShell 7 包括下列其他路徑:

  • C:\Program Files\PowerShell\Modules
  • C:\Program Files\PowerShell\7\Modules

注意

如果您將模組儲存在 C:\Users\UserID\Document\WindowsPowerShell\Modules 中,則只能供單一使用者使用。

模組不會直接放在 Modules 目錄中。 相反地,您必須建立與檔案同名的子資料夾,並將檔案放在該資料夾中。 例如,如果您有名為 AdatumFunctions.psm1 的模組,您會將其放在 C:\Program Files\WindowsPowerShell\Modules\AdatumFunctions 中。