none
Add Mailbox Folder Script Issue RRS feed

  • Question

  • Bonjour,

    Je suis entrain d'essayer d'éxuter un script qui permet d'ajouter un fichier (controle 2018) et des sous fichier dans ce dernier

    lors de l'execution j'ai l'erreur suivante

    Exception calling "Save" with "1" argument(s): "Value cannot be null.
    Parameter name: parentFolderId"
    At <D:\Scripts\GG\create folder in mailbox\AddFolderEWS\Validé\AddFolderEWS.ps1:31> char:9
    +         $folder1.Save($folder.ID);
    +         ~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : ArgumentNullException

    Le script en question est comme suit:

    $list = Get-content "d:\FolderEWS\FMBfolder.txt"
    Import-Module -Name "D:\Exchange2016\Bin\Microsoft.Exchange.WebServices.dll"
    $psCred = Get-Credential
    foreach ($muid in $list) {
        Add-MailboxPermission $MUID -User MyID -AccessRights FullAccess
        
        start-sleep 2
        
        $mailaddress = (Get-Mailbox $muid).windowsemailaddress.tostring()

        if ($mailaddress) {

            $Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials($psCred)
            $exchService = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService
            $exchService.Credentials = $Credentials
            $exchService.AutodiscoverUrl($mailaddress)
            $exchService.ImpersonatedUserId = new-object Microsoft.Exchange.WebServices.Data.ImpersonatedUserId([Microsoft.Exchange.WebServices.Data.ConnectingIdType]::SmtpAddress,$mailaddress);
            $folder = New-Object Microsoft.Exchange.WebServices.Data.Folder($exchservice);
            $folder.DisplayName = "Controls 2018";
            $folder.Save([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::msgFolderRoot);
            
            Write-Host "Done for $($muid)"
            #$Rootfolderid = new-object Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::msgFolderRoot,$mailboxname)
            start-sleep 2
            $sublijst="2018/01","2018/02","2018/03","2018/04","2018/05","2018/06","2018/07","2018/08","2018/09","2018/10","2018/11","2018/12"
            foreach ($subl in $sublijst)
            {
            $folder1 = New-Object Microsoft.Exchange.WebServices.Data.Folder($exchservice);
            $folder1.DisplayName = $subl;
            $folder1.Save($folder.ID);
            Write-Host "Done for $($muid)"
            }

            }

        else {

          
        }
        Remove-MailboxPermission $MUID -User MyID -AccessRights FullAccess -Confirm:$false

    }

    Je vous remercie pour votre aide

    Bien cordialement

    vendredi 7 décembre 2018 10:31

Réponses

  • Bonjour,

    Le soucis est que j'avais perdu mes droits "impersonate" sur les mailbox. dès qu'ils ont été rétablis, le script a tourné,

    Merci à tous pour votre support

    • Marqué comme réponse slimhss vendredi 25 janvier 2019 07:13
    vendredi 25 janvier 2019 07:13

Toutes les réponses