繁体   English   中英

从C#调用与邮箱相关的PowerShell方法会引发异常

[英]Calling Mailbox related PowerShell methods from C# throws exceptions

当我从C#执行以下PowerShell时

   param(
    [string] $identity,
    [string] $domainController)

$perm = 'FullAccess'
Get-MailboxPermission -Identity $identity -User "NT AUTHORITY\SELF" | where { $_.AccessRights -notLike "*$perm*" } | Add-MailboxPermission  -User "NT AUTHORITY\SELF" -AccessRights $perm -confirm:$False

Set-Mailbox -Identity:$identity -HiddenFromAddressListsEnabled:$true -DomainController:$domainController -confirm:$False

Set-Mailbox -Identity:$identity -AcceptMessagesOnlyFrom:$identity -DomainController:$domainController -confirm:$False

$mbxPermission = Get-MailboxPermission -Identity:$identity -user:'NT AUTHORITY\SELF'
if ($mbxPermission -ne $null)
{
    Remove-MailboxPermission -Identity:$identity -user:'NT AUTHORITY\SELF' –AccessRights:'ReadPermission,FullAccess' -Confirm:$false -DomainController:$domainController
}

我得到一个奇怪的例外:

MapiExceptionLowLevelInitializationFailure:无法加载exrpc32.dll或其依赖的DLL之一(extrace.dll,exhmem.dll,msvcr80.dll等)。

甚至更陌生的事实是,在我看来,几天前它运行良好(但是我不确定帐户配置是否不同)。

技术环境如下:从部署在Win2k3 32bit上的ASP.NET Web服务应用程序调用PowerShell。 Exchange服务器是Win2k8 x64。

安迪的想法? PowerShell出现问题还是服务器配置问题?

在此先感谢您的帮助。

重新启动用于我的Web应用程序的应用程序池后,一切正常。

在这样做之前,我已经隔离了问题。 这两个PowerShell方法中的任何一个

Remove-MailboxPermission -Identity:$identity -user:'NT AUTHORITY\SELF' –AccessRights:'ReadPermission,FullAccess' -Confirm:$false -DomainController:$domainController

Get-MailboxPermission -Identity:$identity -user:'NT AUTHORITY\SELF'

造成异常。

我不确定如何追踪根本原因。 这可能与此处描述的情况有关,因此我们在此计算机上安装了较旧版本的Exchange服务器,但是我不确定如何进行检查。

在“添加/删除程序”中,我看到两个位置:-Microsoft Exchange(17,65 MB)-Microsoft Exchange Server 2007(545 MB)

我认为第一个包含Exchange系统管理器(v。6.5.6944.0),另一个包含Exchange管理控制台(Exchange Server 2007 v。08.01.0240.006)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM