Você perdeu um ponto e vírgula depois de ":\Calendar"
Estou trabalhando na minha instância do Office 365 Exchange com o Powershell e estou tendo problemas com um comando que sei que executei com êxito no passado. Eu quebrei este comando em suas sub-partes e corrijo-as todas bem por si só, mas simplesmente não consigo fazer esse loop ForEach funcionar. O que posso estar perdendo aqui?
PS C:\Users\bsigrist> ForEach ($Mailbox in (Get-Mailbox -RecipientTypeDetails UserMailbox))
{ $cal = $Mailbox.alias+":\Calendar" Set-MailboxFolderPermission -Identity $cal
-User Default -AccessRights LimitedDetails }
At line:1 char:108
+ ... cal = $Mailbox.alias+":\Calendar" Set-MailboxFolderPermission -Identi ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unexpected token 'Set-MailboxFolderPermission' in expression or statement.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordExcep
tion
+ FullyQualifiedErrorId : UnexpectedToken
$cal = $Mailbox.alias+":\Calendar" Set-MailboxFolderPermission -Identity $cal
-User Default -AccessRights LimitedDetails
Isso está sendo enviado como um comando do Powershell, mas acho que você realmente quer que sejam dois comandos. O primeiro comando atribui um valor a $cal
e o segundo comando executa Set-MailboxFolderPermission
.
Como longneck aponta, você pode colocar um ponto-e-vírgula para separar esses comandos. Também discutido nos seguintes locais: