我有一個網絡上有幾臺計算機,我想將所有PowerShell模塊放入網絡共享中,以便我可以從任何計算機輕鬆訪問它們。這適用於腳本模塊,但是二進制模塊似乎不起作用。從網絡位置導入PowerShell二進制模塊
Import-Module
語句可以正確無誤地執行,但是當您使用Get-Module
時,它將顯示新導入的二進制模塊不會導出任何Cmdlet。如果我將模塊複製到我的計算機上的本地目錄,它將按預期工作。
有沒有辦法從網絡位置導入二進制模塊?
我有一個網絡上有幾臺計算機,我想將所有PowerShell模塊放入網絡共享中,以便我可以從任何計算機輕鬆訪問它們。這適用於腳本模塊,但是二進制模塊似乎不起作用。從網絡位置導入PowerShell二進制模塊
Import-Module
語句可以正確無誤地執行,但是當您使用Get-Module
時,它將顯示新導入的二進制模塊不會導出任何Cmdlet。如果我將模塊複製到我的計算機上的本地目錄,它將按預期工作。
有沒有辦法從網絡位置導入二進制模塊?
我發現加載PowerShell模塊的最簡單方法是將配置文件添加到$PSHOME
目錄。
我在$PSHOME\powershell.exe.config
創建一個文本文件,把下面的文件中:
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
<runtime>
<loadFromRemoteSources enabled="true"/>
</runtime>
</configuration>
這做了兩兩件事:
對不起,我知道這個問題很舊,但認爲爲PowerShell v3提供答案會很有用。我在PowerShell v3中遇到了同樣的問題,使用Phil的答案能夠解決它 - 只需稍作修改即可。
PowerShell v3已經使用.NET 4.0,所以實際上我只需要loadFromRemoteSources部分。所以我的$PSHOME\powershell.exe.config
看起來像這樣:
<?xml version="1.0"?>
<configuration>
<runtime>
<loadFromRemoteSources enabled="true"/>
</runtime>
</configuration>
簡單!感謝菲爾的指點,會upvote你的答案,但我沒有聲望呢。