Comando Powershell Exchange Looping não funciona

3

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
    
por bsigrist 14.11.2017 / 17:22

2 respostas

3

Você perdeu um ponto e vírgula depois de ":\Calendar"

    
por 14.11.2017 / 17:47
3

$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:

link

link

    
por 14.11.2017 / 17:31