Я пытаюсь установить разрешение календаря по умолчанию в Exchange 2016 на прем, доступность только - PullRequest
1 голос
/ 03 мая 2019

Новичок здесь, заранее извините, если это неясно.

Мне нужно установить разрешения календаря по умолчанию для AvailabilityOnly в Exchange 2016, основываясь на членстве в группах в AD.«Я думаю», я получаю перекос, потому что я использую класс AD для извлечения пользователей из группы, но когда я пытаюсь использовать массив для применения изменений в обмен, я продолжаю получать сообщение об ошибке:

параметр «Идентичность».Не удалось преобразовать значение «@ {userPrincipalName=JohnDoe@ourdomain.com}» типа «Deserialized.Selected.Microsoft.ActiveDirectory.Management.ADUser» в тип «Microsoft.Exchange.Configuration.Tasks.MailboxFolderIdParameter".

Как мне избежать / обойти эту ошибку в Powershell 5.0.

Я использую Get-ADGroupMember, затем получаю UserPrincipalName с Get-AdUser, затем упаковываю все userprincipalname в массив, который будет использоваться в свойстве -identity set-mailboxfolderpermission.

Я получаю несколько пользователей из разных групп и упаковываю их в массив следующим образом ...

$Array1 = Get-ADGroupMember -Identity "AD Group1" | %{get-aduser $_.SamAccountName | select userPrincipalName} 

$Array2 = Get-ADGroupMember -Identity "AD Group2" | %{get-aduser $_.SamAccountName | select userPrincipalName} 

$upn=array1+array2

во время тестирования я печатаю, чтобы убедиться, что получаю строкихочу.

$upn

user1@ourdomain.com

user2@ourdomain.com

user3@ourdomain.com

Пока все хорошо.

Когда я пытаюсь обновить учетные записи следующим образом ...

Foreach ($employee in $upn) {
    Set-MailboxFolderPermission -AccessRights AvailabilityOnly *-Identity $employee* -User default
}

, что снова возвращает ошибку

параметр «Идентичность».Невозможно преобразовать значение «@ {userPrincipalName=JohnDoe@ourdomain.com}» типа «Deserialized.Selected.Microsoft.ActiveDirectory.Management.ADUser» в тип «Microsoft.Exchange.Configuration.Tasks.MailboxFolderIdParameter".

1 Ответ

0 голосов
/ 03 мая 2019

Параметр -Identity ожидает имя папки.Имя папки должно быть следующим::

ForEach ($employee in $upn) {
    Set-MailboxFolderPermissions -Identity ${employee}:\Calendar -AccessRights AvailabilityOnly -User Default

}

* {} не является необходимым, но помогает четко определить, что является переменной.

https://docs.microsoft.com/en-us/powershell/module/exchange/mailboxes/set-mailboxfolderpermission?view=exchange-ps

...