Meilleur auteur de réponses
Add Mailbox Folder Script Issue

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 : ArgumentNullExceptionLe 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
Réponses
Toutes les réponses
-
Bonjour,
Tu as vérifié que folder1 ou folder.ID existait ? Car là à priori l'un des deux est NULL.
Regarde aussi pour t'inspirer /utiliser : https://blogs.msdn.microsoft.com/emeamsgdev/2013/10/20/powershell-create-folders-in-users-mailboxes/
Blog : itpro-tips.com
itpro_tipscom
-
merci pour votre retour,
Les fichiers sont crées par le script lui meme, D'abord Controle 2018 (à la racine) ensuite les sous fichiers $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".
j'ai déjà joué ce script en 2018 et il fonctionnait!!! donc là je sais pas d'ou vient le blocage
cdt
- Modifié slimhss vendredi 7 décembre 2018 13:44
-
Tu as essayé de lancer en mode debug (avec PowerShell ISE par exemple) pour voir le contenu de ton Folder ?
Blog : itpro-tips.com
itpro_tipscom
-