今天遇到的一个问题,其实以前也遇到过,就是找了半天文档也没有解决。具体出错信息如下:
PS C:\> Import-Module MSOnline
Import-Module : Could not load file or assembly 'file:///C:\Program
Files\WindowsPowerShell\Modules\MSOnline\1.1.183.17\Microsoft.Online.Administration.Automation.PSModule.dll' or one of
its dependencies. An attempt was made to load a program with an incorrect format.
At line:1 char:1
创新互联公司-专业网站定制、快速模板网站建设、高性价比乐陵网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式乐陵网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖乐陵地区。费用合理售后完善,十多年实体公司更值得信赖。
+ CategoryInfo : InvalidOperation: (:) [Import-Module], BadImageFormatException
+ FullyQualifiedErrorId : FormatXmlUpdateException,Microsoft.PowerShell.Commands.ImportModuleCommand
![](/upload/otherpic49/7472219814a51e465f4a9bdac902942e.png)
在winndows 10以后都是自动安装Windows Management framework 5.1
官网给的参考资料就是:
https://docs.microsoft.com/en-us/office365/enterprise/powershell/connect-to-office-365-powershell
需要安装的一个组件是:Microsoft Online Services Sign-in Assistant for IT Professionals RTW,这个我也安装了。
然后就是运行命令:install-module -name AzureAD
这个命令也是运行成功的,但是一运行 import-module MSOnline就会出错。
我去这里 C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Modules 检查了下,没有下载的模块,但是发现这种在线直接安装的模块都放在C:\Program Files (x86)\WindowsPowerShell\Modules
最笨的办法就是把C:\Program Files (x86)\WindowsPowerShell\Modules所有文件拷到 C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Modules
然后再次运行,发现还是失败,我都快被气晕了。框架也有,那个认证的组件也安装了,还是不行呢。因为我习惯用POWERSHELL ISE来干活,索性就打开ISE再整一遍,其中有一个说法是把Set-ExecutionPolicy 改成Unrestricted
然后我就在ISE里一顿操作猛如虎,然后问题就解决了。其实回想起来还是POWERSHELL版本引起的,系统默认给安装了64位的和X86的,混在一起乱七八糟的。反正能用了就行了,我也不纠节为啥那个POWERSHELL X64就是不能用了。