2011-01-13 46 views
2

爲了便於腳本移植,我需要在PowerShell腳本中動態加載管理單元。這很容易在PowerShell v2中使用Load-Module函數完成。我需要在一臺機器上運行這個特定的腳本,出於各種原因,我不想安裝PowerShell v2,但有v1。加載模塊等同於PowerShell v1

在PowerShell v1中是否有相當於Load-Module的?

+0

您可能想嘗試http://serverfault.com/ – Rune 2011-01-13 18:44:13

回答

3

你的意思是Import-Module?如果是這樣,那麼它取決於模塊是如何定義的。如果它是一個snapin DLL,那麼snapin需要安裝在V1機器上,然後你會使用Add-PSSnapin。如果它位於.psm1文件中,那麼您需要將該文件重命名爲.ps1,然後您可以嘗試點擊該文件,例如. .\mymodule.ps1。但是,如果它使用任何類似Export-ModuleMember的v2功能,則需要對其進行註釋。而v1不知道如何處理.psd1文件。

+0

我不希望在v1機器上安裝管理單元。有沒有辦法在v1中動態加載管理單元? – friism 2011-01-13 17:46:36

1

Import-Module加載模塊,模塊是V2專用功能。

PowerShell V1具有用.NET語言(C#,VB,...)編寫的「管理單元」,但不包含PowerShell腳本,並加載到與Add-PSSnapin(管理單元在V2中受支持的會話中,但是模塊具有超級管理單元功能,因此可以使用模塊,除非無法升級到V2)。