duffy6
Goto Top

PST Export via powershell mit Aufgabenplaner

hallo zusammen

ich möchte zeitgesteuert von EINEM Exchange 2010 SP2 Nutzer ein Backup auf ein Netzlaufwerk (Synology NAS) anlegen lassen.
Dabei soll jeden Sonntag ein Backup gestartet werden und die letzten 4 Wochen aufbewahrt bleiben (Also Dateien mit dem Syntax: Nutzername_Datum_Uhrzeit.PST)
Bisher bin ich soweit gekommen, dass ich eine Batch erstellt habe (die vom Aufgabenplaner gestartet wird), die dann ein Powershell Skript aufruft (mit Exchange Befehlserweiterung ExShell.psc1):

start.bat:
PowerShell.exe -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\V14\Bin\ExShell.psc1" -Command ". 'C:\Program Files\Microsoft\Exchange Server\V14\Bin\_skripte\export_pst\export_pst.ps1'  

export_pst.ps1
New-MailboxExportRequest -Mailbox <NAME-EXCHANGE_USER> -FilePath \\localhost\c$\USER_backup_.pst

Die Grundstruktur habe ich also schon mal stehen (also die aufzurufenden Dateien)

jetzt klemmts aber meinen powershell-Kenntnissen das obige Szenario umzusetzen.

Könntet ihr mir dabei helfen?

Danke und Gruß
duffy6

Content-ID: 197902

Url: https://administrator.de/contentid/197902

Ausgedruckt am: 22.11.2024 um 03:11 Uhr

colinardo
colinardo 30.01.2013 aktualisiert um 11:28:38 Uhr
Goto Top
Hi duffy6,
das sollte Dir weiterhelfen:
Der Pfad für das Backup steht in Zeile 2 ($targetfolder) und der gesamte Pfad mit Dateiname zusammengesetzt in $targetpath. Die Angabe für das max. Alter der PST-Dateien wird in $olddate berechnet.
$date = get-Date -Format "dd.MM.yyyy_hhss"  
$targetfolder = '\\localhost\c$'  
$targetpath = "$targetfolder\USER_backup_$date.pst"   
New-MailboxExportRequest -Mailbox <NAME-EXCHANGE_USER> -FilePath $targetpath

#Alte PSTs entsorgen
$pstfiles = dir "$targetfolder\*.pst"  
$olddate = (get-date).AddDays(-30)
foreach ($pstfile in $pstfiles){
	if ($pstFile.LastWriteTime -lt $olddate){
		del $pstfile
	}
}

Grüße Uwe
duffy6
duffy6 03.02.2013 um 20:53:22 Uhr
Goto Top
Hey, danke!

Das geht prima!

Der direkte export auf die freigabe meines NAS funktioniert leider nicht mit dem export-Befehlface-sad

Wie muesste denn das skript aussehen, wenn ich erst lokal exportiere und dann nach dem export auf das NAS verschiebe und dort alle Backups loesche, die älter als 30 Tage sind!

Gruss
Duffy6
colinardo
colinardo 03.02.2013 um 21:33:36 Uhr
Goto Top
Der direkte Export auf das NAS sollte aber funktionieren. Du musst im Taskplaner einen User angeben der Schreibrechte auf das NAS hat. Wenn das nicht der Fall ist kann das Script auch nix auf dem NAS löschen ...
duffy6
duffy6 04.02.2013 um 02:20:27 Uhr
Goto Top
Das dachte ich auc, dass es klappen sollte direkt aufs NAS zu sichern, aber das Skript wirft mir einen Fehler aus:

C:\_skripte>PowerShell.exe -PSConsoleFile "C:\Program Files\Microsoft\Exchange S  
erver\V14\bin\ExShell.psc1" -Command ". 'C:\_skripte\export_echange_user_backup_  
pst.ps1'  
New-MailboxExportRequest : Der im Pfad angegebene Server- oder Freigabename ist
 möglicherweise ungültig, oder die Datei ist möglicherweise gesperrt.
Bei C:\_skripte\export_echange_user_backup_pst.ps1:13 Zeichen:25
+ New-MailboxExportRequest <<<<  -Mailbox duffy6 -FilePath $targetpath
    + CategoryInfo          : NotSpecified: (0:Int32) [New-MailboxExportReques
   t], RemotePermanentException
    + FullyQualifiedErrorId : F2C4A06E,Microsoft.Exchange.Management.Recipient
   Tasks.NewMailboxExportRequest

Remove-Item : Das Argument kann nicht an den Parameter "Path" gebunden werden,  
da es NULL ist.
Bei C:\_skripte\export_echange_user_backup_pst.ps1:20 Zeichen:6
+         del <<<<  $pstfile
    + CategoryInfo          : InvalidData: (:) [Remove-Item], ParameterBinding
   ValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,M
   icrosoft.PowerShell.Commands.RemoveItemCommand

Der Pfad bzw der Parameter lautet $targetfolder = '\\192.168.133.102\backup_pst'

Hab ich was übersehen?
lifeadmin
lifeadmin 31.08.2016 um 08:42:18 Uhr
Goto Top
Nein, Du hast nichts über sehen. Es gibt nur ein Problem mit dem Export von Mbxen auf nicht Windows Server basierte Freigaben.
Hier die Lösung für Netapp : http://oyvindnilsen.com/new-mailboxexportrequest-error-on-netapp-share- ...
Vielleicht funktioniert das ja auch bei Deinem Nas.