将Powershell SnapIn注册到Powershell的特定版本

时间:2016-02-16 12:01:14

标签: powershell pssnapin

我正在尝试通过托管代码运行 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吗?

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

你是对的,因为这是一个32/64位的构建问题。在VS中将目标构建设置为x64并重新部署之后,所有这些都神奇地工作得很好。 在这种情况下,关于Powershell版本的错误消息是一个巨大的Red Herring。