powershell Afficher la liste des dossiers outlook ou trouver le chemin d'accèsd'nun dos

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell Afficher la liste des dossiers outlook ou trouver le chemin d'accèsd'nun dos相关的知识,希望对你有一定的参考价值。

# SMAC - LM - 05/05/2015
<# 
 .Synopsis
  Recherche des dossiers dans outlook
  Si un nom de dossier est passé en paramètre le script affichera son chemin d'accès,
  Si aucun  nom n'est fourni, le script liste tous les dossiers outlook

 .Description
  Utilisation de l'objet COM outlook afin de parcourir les dossiers.
  
 .Parameter dossier 
  contient le nom (ou une partie du nom) du dossier à chercher. Si ce paramètre n'est pas renseigné l'arborescence complète sera affichée.
 
 .Notes
 	Changelog :
	
#>
[CmdletBinding()] #make script react as cmdlet (-verbose etc..)
param(
	[Parameter(Position=0, Mandatory=$false,ValueFromPipeline = $true)]
	[System.String]
	$dossier=$null
	)

$output="" 
$find=@() #tableau pour le résultat de la recherche	

function Get-MailboxFolder($folder,$prefix, $search=$null, $firstrun=$false){  
	if(($search -ne $null) -and ($folder.name -match $search)) {
		$script:find+=$folder.folderpath # si le nom du dossier contient le terme recherché on l'ajoute au tableau des résultats
	}
	
	if($firstrun -eq $true){$script:output=$script:output+"$prefix$($_.name)`n"} # affichage du nom des dossiers de 1er niveau
	
	if ($folder.folders.count -gt 0 ){ # si le dossier contient des sous-dossiers
		if($firstrun -eq $false){
			$script:output=$script:output+"$prefix$($folder.name)`n" 
		}
	$prefix="    "+$prefix # modification du préfixe
	$folder.folders |sort -property name| %{ get-MailboxFolder $_ $prefix $search} #appel récursif de la fonction
  }
  # pas de sous dossier
  if($folder.folders.count -eq 0 -and $firstrun -eq $false){$script:output=$script:output+"$prefix$($folder.name)`n"}
} 

# ouverture outlook
$o=New-Object -ComObject outlook.application
$ns=$o.GetNamespace("MAPI")

$bal=$ns.Folders.Item(1) #compte de messagerie par défaut
$prefix="└"
$i=1
$bal.folders|sort -property name |%{
	$percent=$i*100/($bal.folders.count)
	write-progress -activity "Recherche en cours merci de patienter" -currentoperation "$($_.name)" -percentcomplete $percent
	get-MailboxFolder $_ $prefix $dossier $true
	$i++
}

if(($dossier -ne $null) -and ($dossier -ne "")){ # Fait on une recherche ?
	if ($find.count -eq 0){write-host "Aucun dossier *$dossier* n'a pas été trouvé"}
	else{write-host "Le terme *$dossier* a été trouvé dans : ";$find}
}
else{$script:output} # afficher l'arborescence

以上是关于powershell Afficher la liste des dossiers outlook ou trouver le chemin d'accèsd'nun dos的主要内容,如果未能解决你的问题,请参考以下文章

text ORCL - Afficher un datafile

text Afficher lesdernièresactus

javascript afficher et filtrer un tableau

php Afficher desactusàlaune avec un repeater

DRUPAL:afficher une视图,通过le代码

php Afficher un ACF sur toute les pages avec Option