我正在尝试通过托管代码运行 Exchange命令行管理程序脚本。
我们的PowerShell版本是第4版。
我正在尝试使用runspaceConfiguration.AddPSSnapin()
方法添加交换SnapIn Microsoft.Exchange.Management.Powershell.E2010
,但是这行失败了,给出了:
没有为Powershell版本4注册管理单元。
快速Get-PSSnapIn -registered
显示 SnapIn 已安装但已注册到PS版本1。
在 regEdit 中,我找到了snapIn for PowerShell v1的注册表项,使用导出功能编写密钥脚本,将目标版本更改为4并运行已创建的导出命令新密钥' 4'在PowerShell下按预期方式,复制了snapin详细信息。但是,我仍然得到了' 没有注册Powershell版本4的快照。',即使注册表中有密钥。
我有什么其他方法可以将snapin注册到PowerShell版本4吗?
感谢您的时间。
答案 0 :(得分:0)
你是对的,因为这是一个32/64位的构建问题。在VS中将目标构建设置为x64并重新部署之后,所有这些都神奇地工作得很好。 在这种情况下,关于Powershell版本的错误消息是一个巨大的Red Herring。