首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Exchange 2010 - Powershell删除代表发送权限

Exchange 2010 - Powershell删除代表发送权限
EN

Stack Overflow用户
提问于 2015-03-10 15:05:47
回答 1查看 3.5K关注 0票数 0

我正在尝试运行下面的命令来删除e Send代表权限,但是我得到了一个异常,它删除了所有有访问权限的用户,而不是我在脚本中指定的用户。

代码语言:javascript
复制
$owner = "lpeter" 
$remove = "jdoe"

$grantlist = Get-Mailbox $owner -DomainController tordc01 | select -ExpandProperty GrantSendOnB

$grantlist = $grantlist |?{$_.Name -ne $remove} 
Set-Mailbox $owner -GrantSendOnBehalfTo $null -DomainController tordc01
$grantlist | %{
    Set-Mailbox $owner -GrantSendOnBehalfTo @{Add=$_.Name} -Confirm $true
} -DomainController tordc01

这是一个例外:

代码语言:javascript
复制
ForEach-Object : Cannot bind parameter 'Process'. Cannot convert the
"-DomainController" value of type "System.String" to type
"System.Management.Automation.ScriptBlock". At line:1 char:15
+ $grantlist | % <<<< {Set-Mailbox $owner -GrantSendOnBehalfTo @{Add=$_.Name} -Confirm $true} -DomainController tordc01

     + CategoryInfo          : InvalidArgument: (:) [ForEach-Object], ParameterBindingException
     + FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.PowerShell.Commands.ForEachObjectCommand
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-10 15:31:51

异常非常不言自明,您正在尝试将-DomainController参数提供给ForEach-Object,而不是Set-Mailbox

将最后一条语句更改为:

代码语言:javascript
复制
$grantlist | %{
    Set-Mailbox $owner -GrantSendOnBehalfTo @{Add=$_.Name} -Confirm:$true -DomainController tordc01
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28967201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档