Si vous cherchez à déconnecter une archive outlook (.pst) de votre outlook, ou tout simplement vous souhaitez avoir la suite de l’article : POWERSHELL : Comment connecter un .PST (fichier de données outlook, une archive) de votre OUTLOOK (2003 / 2007 / 2010), dans ce cas là, ce code est fait pour vous :
#Chemin du dossier où se trouve votre PST, a remplacer par votre chemin du dossier cible $chemin = "C:\Users\VOTRE-USERNAME\Documents\Fichiers Outlook\" $outlook = New-Object -ComObject Outlook.Application $namespace = $outlook.getnamespace("MAPI") #Recuperation du chemin $PSTPath=Get-ChildItem $chemin -force | where {$_.extension -eq ".pst"} |where {!$_.PsIsContainer}| % { $_.fullname } #Recuperation du nom du PST $PSTName = Get-ChildItem $chemin -force | where {$_.extension -eq ".pst"} |where {!$_.PsIsContainer}| % { $_.name } $PSTDisplayName = $PSTName #Connection du PST $namespace.AddStore($PSTPath) $PST = $namespace.Stores | ? {$_.FilePath -eq $PSTPath} #Find Store just attached as .PST $PSTRoot = $PST.GetRootFolder() #Get Root Folder name of PST #EDITO : Je préfère désactiver ces 2 lignes, pour éviter de renommer l'archive .PST #$PSTRoot.Name = $PSTDisplayName # Change Displayname for PST to Backup #$PSTFolder = $Namespace.Folders.Item($PSTDisplayName) #Bind to PST for disconnection #$Namespace.GetType().InvokeMember('RemoveStore',[System.Reflection.BindingFlags]::InvokeMethod,$null,$Namespace,($PSTFolder)) #Disconnect .PST #Si vous ne souhaitez pas toucher au nom de l archive il faut utiliser cette ligne : $Namespace.GetType().InvokeMember('RemoveStore',[System.Reflection.BindingFlags]::InvokeMethod,$null,$Namespace,($PSTRoot)) #Disconnect .PST
Pensez à bien remplacer le chemin par le votre variable
$chemin
Source : http://powershell-scripting.com/
Commentaire sur “POWERSHELL : Comment Déconnecter un .PST (fichier de données outlook, une archive) de votre OUTLOOK (2003 / 2007 / 2010)”
Je viens d’apporter une minuscule modification au code powershell afin d’éviter de renommer le nom de l’archive