Report-PFPermissions.ps1

Diese kleine überschaubare PowerShell-Skript funktioniert sehr ähnlich zum Commandlet "Get-PublicFolderClientpermissions" aber die Ausgabe ist "CSV-freundlicher und eignet sich daher besser für die Ausgabe in Reports-Dateien zur Auswertung. Das Problem von Get-PublicFolderClientPermission ist nämlich, dass es die Berechtigungen als Property "AccessRights" und "User" nicht als einfache Strings ausgibt, sondern das wiederum Objekte sind.

Bordmittel

Ein Befehl wie der Folgende ergibt damit keine schönen Ausgaben:

get-publicfolder -recurse | get-pu blicfolderclientpermissions | export-csv -path .\pfreport.csv

Auch wenn es im PowerShell Fenster eigentlich noch ganz gut aussieht

In der CSV-Datei ist das Ergebnis dann schon eher ernüchternd:

Vielleicht gibt es ja noch einen einfacheren Weg, aber ich habe mir nicht anders zu helfen gewusst, als das folgende PowerShell-Script zu schreiben und die Ausgabe da durch zu leiten

Eigene PowerShell Routine

Speichern Sie die folgende Datei einfach als PS1-Datei an einem geeigneten Pfad ab.

# PowerShell-Script to extract the Public Folder permissions of a given public folder
# the default output of  "get-publicfolderclientpermissions" is not so usable für CSV-Reports.

Begin {
} 

Process {
	$pf = $_
	$folder = $pf.parentpath + "\" + $pf.name
	write-host  "Processing Folder:" $folder 
	$permission = get-PublicFolderClientPermission -identity $pf.Identity
	foreach ($perm in $permission) {
		$rights = [string]$perm.accessRights 
		$User = [string]$perm.User 
#			write-host "Rechte" $rights "User:" $User
		$pso = New-Object PSObject
		Add-Member -InputObject $pso noteproperty folder $folder
		Add-Member -InputObject $pso noteproperty User   $User
		Add-Member -InputObject $pso noteproperty rights $rights
		$pso 
	}
}

End {
}

Alternativ hier auch als Download

report-pfpermissions.1.0.ps1.txt

Der Aufruf ist dann wie bei dem ersten Beispiel, nur dass nun dieses Skript in die Pipeline eingebunden wird

get-publicfolder -recurse | report-pfpermissions | export-csv -path .\pfreport.csv

In einer Exchange Console sehen sie erst den Aufruf ohne den Export und dann mit dem Export

Der unterschied in der Anzeige ist ist nur gering aber in der CSV-Datei sieht man nun die Rechte "Lesbar".

Nebenbei habe ich auch noch den Ordnerpfad und den Ordnernamen "zusammengesetzt".

Weitere Links