Попытка придумать способ добавить пользователей с правами отправки как в почтовый ящик, а также добавить их с полными правами доступа в группу безопасности. На данный момент я делаю это с помощью команды ниже ...

$User = "UserEmail"
$Mailbox = "MailboxEmail"
$MailboxAccess = "SecurityGroup"
Add-RecipientPermission -Identity $Mailbox -AccessRights SendAs -Trustee $User -Confirm:$false
Add-DistributionGroupMember -Identity $MailboxAccess -Member $User -Confirm:$false -BypassSecurityGroupManagerCheck

Но знайте, что это не самый быстрый способ, потому что я должен вручную найти почтовые ящики на портале администратора O365. Пытался что-то вроде ниже ...

$User = "UserEmail"
$Mailbox = Get-Mailbox -RecipientTypeDetails SharedMailbox -Anr *MailboxName* | Select-Object PrimarySmtpAddress
$MailboxAccess = Get-Group -Anr *SecurityGroupName* | Select-Object WindowsEmailAddress
Add-RecipientPermission -Identity $Mailbox -AccessRights SendAs -Trustee $User -Confirm:$True
Add-DistributionGroupMember -Identity $MailboxAccess -Member $User -Confirm:$True -BypassSecurityGroupManagerCheck

Но это не удается, поскольку командлеты не поддерживают конвейерную передачу. Довольно плохо знаком с Powershell, поэтому любая помощь / совет будет высоко ценится.

редактировать

Сообщение об ошибке, полученное при запуске ...

PS C:\WINDOWS\System32\WindowsPowerShell\v1.0> Add-RecipientPermission -Identity
 $Mailbox -AccessRights SendAs -Trustee $User -Confirm:$True
Cannot process argument transformation on parameter 'Identity'. Cannot convert
value "@{PrimarySmtpAddress=*EmailAddress*}" to type
"Microsoft.Exchange.Configuration.Tasks.RecipientIdParameter". Error: "Cannot
convert hashtable to an object of the following type:
Microsoft.Exchange.Configuration.Tasks.RecipientIdParameter.
Hashtable-to-Object conversion is not supported in restricted language mode or
a Data section."
    + CategoryInfo          : InvalidData: (:) [Add-RecipientPermission], Para
   meterBindin...mationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Add-Recipie
   ntPermission
    + PSComputerName        : outlook.office365.com

Также попытался запустить его без дополнительных Select-Objects в конце и все равно получить похожее ...

    PS C:\WINDOWS\System32\WindowsPowerShell\v1.0> Add-RecipientPermission -Identity  
 $Mailbox -AccessRights SendAs -Trustee $User -Confirm:$True  
Cannot process argument transformation on parameter 'Identity'. Cannot convert  
value "*EmailDisplayName*" to type  
"Microsoft.Exchange.Configuration.Tasks.RecipientIdParameter". Error: "Cannot  
convert hashtable to an object of the following type:  
Microsoft.Exchange.Configuration.Tasks.RecipientIdParameter.  
Hashtable-to-Object conversion is not supported in restricted language mode or  
a Data section."  
    + CategoryInfo          : InvalidData: (:) [Add-RecipientPermission], Para  
   meterBindin...mationException  
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Add-Recipie  
   ntPermission  
    + PSComputerName        : outlook.office365.com  

1 ответ1

0

Глядя на пример, показанный на странице TechNet в Add-RecipientPermission, видно, что вы можете указать простое строковое значение для параметра -Identity ; это не нуждается в причудливом объекте. В статье также говорится (в таблице параметров), что вы можете использовать любое имя, однозначно идентифицирующее принципала, даже отображаемое имя. То же самое касается Add-DistributionGroupMember.

Следовательно, вам не нужно использовать Get-Mailbox или Get-Group чтобы найти адрес электронной почты получателя; Вы можете просто использовать свой первый скрипт и указать удобочитаемое имя.

Однако если вы хотите использовать эти командлеты, вам нужно получить простой адрес электронной почты из объекта с одним свойством, возвращаемого функцией select . Например, вы бы $MailboxAccess.WindowsEmailAddress вместо $MailboxAccess . Возможно, вам даже придется вызвать ToString() для этого значения, если это еще один объект .NET, который автоматически не преобразуется во что-то пригодное для использования.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .