Microsoft.Exchange.Management.PowerShell.Admin(Mic

2019-08-16 17:40发布

我使用的是服务器上的Microsoft.Exchange.Management.PowerShell.Admin有麻烦。 服务器未运行Exchange 2007中的一个,这是一个远程服务器(在同一区域)。 我无法弄清楚如何添加管理单元的PowerShell的 - Microsoft.Exchange.Management.PowerShell.Admin。 是否有可能只是得到从Exchange 2007服务器的dll文件,并将其复制到我的代码运行的服务器?

可有人请解释什么,我需要做的就是我的代码运行?

那我现在得到的例外是:“否Windows PowerShell管理单元可用于版本1”。 这是生成错误的代码:

public void CreateMailBox(User user)
        {            
            //Create a runspace for your cmdlets to run and include the Exchange Management SnapIn...

            RunspaceConfiguration runspaceConf = RunspaceConfiguration.Create();
            PSSnapInException PSException = null;
            PSSnapInInfo info = runspaceConf.AddPSSnapIn("Microsoft.Exchange.Management.PowerShell.Admin", out PSException);
            Runspace runspace = RunspaceFactory.CreateRunspace(runspaceConf);

            runspace.Open();

            Pipeline pipeline = runspace.CreatePipeline();
            Command command = new Command("New-Mailbox");

            command.Parameters.Add("Name", user.UserName);

....

该错误与PSSnapInfo信息行未来= runspaceConf .....我使用.NET 3.5

Answer 1:

这也取决于代码是如何在VS 2010(x86或x64)编译。 如果要加载64位的Exchange Server管理单元,你必须使用x64编译。

您可以使用$ PsVersionTable检查,如果PowerShell是版本2.0(应该)



Answer 2:

我怀疑这是否足以只是抓住了一个DLL。 而且,即使它仅仅是一个DLL,将对管理单元支持远程操作? Eithe方式,你仍然需要让PowerShell中看到它如“安装”的管理单元:

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

如果要远程做到这一点你碰巧使用的PowerShell 2.0,然后尝试远程处理功能。 它可能会更好,通过远程会话到Exchange服务器运行管理单元。



Answer 3:

我相信,在Exchange 2007管理单元是一个32位的DLL。 我不是一个专业的程序员,但如何来创建你的程序作为一个32位应用程序如何?

如果你建立你的应用程序为32位,那么它将使用32位PowerShell引擎,并能够正确加载该管理单元我想。

现在,我建议不要试图将DLL复制到其他服务器。 你应该在那里你开发你的应用程序在服务器上安装Exchange管理工具。

希望这有助于...如果没有,下面发表评论。



Answer 4:

这个严重混淆。

Exchange 2007的SP2安装,说它有PowerShell的2.0版的支持,但事实却并非如此。

仍显示为低于1.0,而不是2.0外观一个PSVersion:

名称:microsoft.exchange.management.powershell.admin PSVersion:1.0说明:Exchange服务器管理任务



文章来源: Microsoft.Exchange.Management.PowerShell.Admin