0
Я пытаюсь выполнить приведенную ниже команду, чтобы удалить разрешение e Send On Behalf, но я получаю исключение, и он удаляет всех пользователей, имеющих доступ, вместо один я указываю в моем сценарииExchange 2010 - Powershell удалить Отправить по имени
$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
здесь является исключением:
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
Вот й исключение я получаю сейчас, после изменения последнего утверждения Позиционный параметр не может быть найден, который принимает аргумент «True». + CategoryInfo: InvalidArgument: (:) [Set-Mailbox], ParameterBindingException + FullyQualifiedErrorId: PositionalParameterNotFound, Set-Mailbox – Nazim
Измените '-Confirm $ true' на' -Confirm: $ true'. Используйте '-Confirm: $ false', если вы хотите избежать подтверждения того, что каждый добавленный пользователь добавлен –