当我从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等)。
甚至更奇怪的是,在我看来,它在几天前工作正常(但我不确定帐户配置是否有所不同)。
技术环境如下: 从ASP.NET Web服务应用程序调用PowerShell,该应用程序部署在Win2k3 32bit上。 Exchange服务器是Win2k8 x64。
安迪的想法? PowerShell或服务器配置是否有问题?提前感谢您的帮助。
答案 0 :(得分:0)
重新启动用于我的网络应用程序的应用程序池后,一切正常。
在此之前,我已经解决了这个问题。任何两种PowerShell方法
Remove-MailboxPermission -Identity:$identity -user:'NT AUTHORITY\SELF' –AccessRights:'ReadPermission,FullAccess' -Confirm:$false -DomainController:$domainController
和
Get-MailboxPermission -Identity:$identity -user:'NT AUTHORITY\SELF'
造成了例外。
我不确定如何跟踪根本原因。它可能与here描述的情况有关,因此我们在此计算机上安装了旧版本的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)