0

当我从 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、exchmem.dll、msvcr80.dll 等)。

更奇怪的是,在我看来,几天前它运行良好(但我不确定帐户配置是否不同)。

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

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

提前感谢您的帮助。

4

1 回答 1

0

重新启动用于我的 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 System Manager (v. 6.5.6944.0),另一个包含 Exchange Management Console (Exchange Server 2007 v. 08.01.0240.006)

于 2011-02-17T11:15:08.737 回答