在 PowerShell 中定義模組

已完成

模組 是組合成單一單元的相關 PowerShell 功能群組。 針對此類別的目的,您可以將它們視為裝載多個 Cmdlet 的容器。 模組可協助將 Cmdlet 組織成可散發的單位。 Microsoft和其他軟體公司提供模組,作為其應用程式和服務的管理工具的一部分。

您可以執行下列命令來檢查可用的模組清單:

Get-Module -ListAvailable

若要使用模組的指令,模組必須載入到目前的 PowerShell 會話中。 這通常會自動進行,但視您的組態而定,可能需要藉由執行 import-Module Cmdlet,明確地載入模組。 某些伺服器產品,例如Microsoft Exchange Server,提供似乎是專用管理命令介面的快捷方式。 不過,這確實是已載入應用程式特定模組的一般PowerShell控制台會話。

自動載入

在 Windows PowerShell 3.0 版和更新版本中,如果您執行屬於該模組一部分的 Cmdlet,模組會自動載入。 如果包含 Cmdlet 的模組位於模組載入路徑下的資料夾,則這可運作。 根據預設,這些資料夾包含 %systemdir%\WindowsPowerShell\v1.0\Modules%userprofiles%\Documents\WindowsPowerShell\Modules。 資料夾清單會儲存在 $env:PSModulePath 環境變數中。 當您依名稱明確匯入模組時,PowerShell 會檢查該環境變數所參考的位置。

針對 PowerShell 7,PSModulePath 包含下列位置:

  • C:\Users\<user>\Documents\PowerShell\Modules
  • C:\Program Files\PowerShell\Modules
  • C:\Program Files\PowerShell\7\Modules
  • C:\Program Files\WindowsPowerShell\Modules
  • C:\WINDOWS\System32\WindowsPowerShell\v1.0\Modules

注意

使用 Windows PowerShell 時,%systemdir%\WindowsPowerShell\v1.0\Modules 的路徑通常會使用 $PSHome 環境變數的組合來參考(這指向 %systemdir%\WindowsPowerShell\v1.0),以及 Modules 路徑(也就是使用 $PSHome\Modules 表示法)。 針對 PowerShell 7.0,$PSHome 環境變數是指 C:\Program Files\PowerShell\7