2012-08-17 18 views
1

我已經將所有的powershell函數寫入了ps1文件。如何將powershell模塊發佈到生產環境?

在另一個ps1文件中,它是來源點,函數被調用。

當我尋找更好的方法時,我開始知道將所有功能作爲模塊(.psm1)是更好的選擇。

但是對於.ps1文件,我可以簡單地將它放在一個文件夾中併發送它。

使用.psm1文件,它說我必須將其添加到特定的位置,以便它可以導入。

如何向客戶提供.psm1文件呢?我們是否應該指導他們在使用前複製到提及的位置? (如果我們不通過msi發貨)

回答

3

從技術上講,您可以通過路徑導入psm1文件,但這不是最好的用戶體驗。如果您將該文件放在$ home \ documents \ WindowsPowerShell \ Modules或$ pshome \ Modules下的文件夾中,則用戶可以僅基於psm1文件的名稱導入。最後,您可以將psm1文件放在您想要的任何位置,並且如果修改了PSModulePath環境變量以包含該目錄,PowerShell將搜索該目錄中的模塊。

+0

至於他的問題的具體部分的一部分,據我所知這並不是真的需要。您可以運行導入模塊modulepath.psm1而不是點源。但是,您可以將Export-ModuleMember cmdlet添加到PSM1文件。如果這樣做,您將不得不導出每個想要導入的成員。如果省略export-modulemember,它將默認導出PSM1中的每個模塊。 – 2012-08-17 13:15:49

+0

如果省略'Export-ModuleMember',它將導出每個函數,但不導出任何變量。 – 2012-08-17 16:02:43