无法将dll添加到32位PowerShell

时间:2015-05-26 00:08:13

标签: powershell exchange-server-2007

我正在尝试为32位Powershell添加Exchange 2007 SnapIn(Microsoft.Exchange.Management.PowerShell.Admin),但在安装dll文件时似乎遇到了一些问题。

这些是我为了注册SnapIns而运行的命令

PS C:\Program Files\Microsoft\Exchange Server\Bin> $snapinPath = 'Microsoft.Exchange.Management.PowerShell.Support.dll'
PS C:\Program Files\Microsoft\Exchange Server\Bin> C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe /i $snapinPath

以上作品没有问题。然后我使用以下命令安装主SnapIn:

PS C:\Program Files\Microsoft\Exchange Server\Bin> $snapinPath = 'Microsoft.Exchange.PowerShell.Configuration.dll'
PS C:\Program Files\Microsoft\Exchange Server\Bin> C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe /i $snapinPath
  

Microsoft(R).NET Framework安装实用程序,版本2.0.50727.5483   版权所有(c)Microsoft Corporation。保留所有权利。

     

初始化安装时发生异常:   System.BadImageFormatException:无法加载文件或程序集'Microsoft.Exchange.PowerShell.Configuration,Version = 8。   0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。试图加载格式不正确的程序..

我不确定我在这里缺少什么。这是一个全新的Exchange 2007安装,所以没有任何东西应该被破坏。

1 个答案:

答案 0 :(得分:0)

我的问题是我使用的是64位版本的Microsoft.Exchange.PowerShell.Configuration.dll。

我需要32位版本。因为它不允许我安装32位版本,所以我解压缩了32位版本的交换机的安装文件,并将setup \ serverroles \ common文件夹复制到C:\ Program Files \ Microsoft \ Exchange Server,并且将其重命名为Bin32。

最后阶段是复制此注册表项:

  

HKEY_LOCAL_MACHINE \ SOFTWARE \微软\ PowerShell的\ 1 \ PowerShellSnapIns \ Microsoft.Exchange.Management.PowerShell.Admin

到以下位置:

  

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \微软\ PowerShell的\ 1 \ PowerShellSnapIns \ Microsoft.Exchange.Management.PowerShell.Admin

然后更改密钥中的任何路径以指向新的Bin32文件夹。

此时,应该可以将Microsoft.Exchange.Management.Powershell.Admin管理单元加载到32位Powershell中(非常适合依赖于32位库的IIS应用程序)。