五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網 > 365文章 > Import-Module ServerManager : 未能加載指定的模塊“ServerManager” (通過Setup Factory調用PowerShell的腳本)

Import-Module ServerManager : 未能加載指定的模塊“ServerManager” (通過Setup Factory調用PowerShell的腳本)

文章來源:365jz.com     點擊數(shù):1449    更新時間:2017-05-03 10:54   參與評論
Import-Module ServerManager Import-Module : 未能加載指定的模塊“ServerManager”,因為在任何模塊目錄中都沒有找到有效模塊文件...(通過Setup Factory調用PowerShell的腳本)
操作系統(tǒng): Windows server 2008 R2(64位)

C:\Windows\System32\WindowsPowerShell\v1.0\Modules 下有ServerManager的東東,可是還是找不到。

解決這個問題,需要2步:

1、Powershell中的執(zhí)行策略(Execution Policy)
原因一個是因為Powershell默認的執(zhí)行策略是Restricted,即可以運行單條命令,但不能運行腳本,包括格式和配置文件 (.ps1xml)、模塊腳本文件 (.psm1) 和 Windows PowerShell 配置文件 (.ps1)、以及.bat文件。 解決方案是把執(zhí)行策略改得寬松一點,比如RemoteSigned或者Unrestricted。在Powershell中運行以下命令即可: Set-ExecutionPolicy RemoteSigned 或 Set-ExecutionPolicy Unrestricted或-ExecutionPolicy RemoteSigned

2、64位操作系統(tǒng)和32位操作系統(tǒng)的關系

CMD ,64位操作系統(tǒng)有兩個。一個是:C:\Windows\System32\CMD.exe(這個是64位的CMD,盡管名字叫System32);一個是C:\Windows\SysWOW64\CMD.exe(這個是32位的CMD.SysWOW64文件夾下的東西是64位操作系統(tǒng)為運行32位的應用程序而準備的)。

可是我編譯生成的.exe是32位的,通過Setup Factory的File.Run(...)或者Shell.Execute(...),會調用C:\Windows\SysWOW64\CMD.exe(32位的CMD)。而ServerManager Module只有64為才有

所以改為編譯成64位的就好了。

附(運行的腳本):

InstallDotNET.bat

@echo on
cd C:\Windows\System32\WindowsPowerShell\v1.0
powershell -ExecutionPolicy "UnRestricted" -File C:\InstallDotNET.ps1

InstallDotNET.ps1

import-module ServerManager
Add-WindowsFeature NET-Framework
exit

特別感謝(他們的博客最終給了我解決方案):

http://www.tuicool.com/articles/RvqqI3

Powershell是一個很強大的工具,可用于取代傳統(tǒng)的批處理(Batch)。但在默認情況下,Powershell是不允許運行腳本文件的,(可能是出于安全原因的考慮吧)。直接用Powershell運行腳本文件會產生以下錯誤:

PS C:\Users\liang.huang.QUNARSERVERS\Envs> Import-Module ServerManager
Import-Module : 未能加載指定的模塊“ServerManager”,因為在任何模塊目錄中都沒有找到有效模塊文件。
所在位置 行:1 字符: 14
+ Import-Module < < < < ServerManager
+ CategoryInfo : ResourceUnavailable: (ServerManager:String) [Import-Module], FileNotFoundException
+ FullyQualifiedErrorId : Modules_ModuleNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

這是因為Powershell默認的執(zhí)行策略是Restricted,即可以運行單條命令,但不能運行腳本,包括格式和配置文件 (.ps1xml)、模塊腳本文件 (.psm1) 和 Windows PowerShell 配置文件 (.ps1)。 解決方案是把執(zhí)行策略改得寬松一點,比如RemoteSigned或者Unrestricted。在Powershell中運行以下命令即可: Set-ExecutionPolicy RemoteSigned

然后系統(tǒng)會提示: 執(zhí)行策略更改 執(zhí)行策略可以防止您執(zhí)行不信任的腳本。更改執(zhí)行策略可以會使您面臨 about_Execution_Policies 幫助主題中所述的安全風險。是否要更改執(zhí)行策略? 輸入“Y”就可以使新的策略生效了。


http://blog.csdn.net/leon110/article/details/6203380

一個很偏門的問題, C# 調用Powershell腳本,但是在Import-module的時候找不到servermanager module。

操作系統(tǒng)是windows server 2008 R2

但是如果直接執(zhí)行腳本能找到該模塊,而且在Module的目錄下也能看到。

"the specified module server manager was not loaded because no valid module was found in any module directory"

這個問題我花費6個小時的時間,終于找到了問題的根源。

原因是ServerManager Module等幾個module只有在64位系統(tǒng)上才有。

而我的C#程序編譯成了32位,所以才找不到。

如對本文有疑問,請?zhí)峤坏浇涣髡搲瑥V大熱心網友會為你解答??! 點擊進入論壇

發(fā)表評論 (1449人查看,0條評論)
請自覺遵守互聯(lián)網相關的政策法規(guī),嚴禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學習

業(yè)務咨詢

· 技術支持
· 服務時間:9:00-18:00
365建站網二維碼

Powered by 365建站網 RSS地圖 HTML地圖

copyright © 2013-2024 版權所有 鄂ICP備17013400號