Umfassende Anleitung zur Automatisierung der Archivierung von Postfächern in Exchange über Powershell - Wie Man

Umfassende Anleitung zur Automatisierung der Archivierung von Postfächern in Exchange über Powershell

So exportieren, bereinigen und protokollieren Sie den Archivierungsprozess von Postfächern in Exchange Server.

6 Schritte insgesamt

Schritt 1: Erteilen Sie dem Administrator vollen Zugriff

Lassen Sie uns zunächst Ihren Domänenadministrator auf alle Postfächer zugreifen:

get-mailbox -Server EXCHANGE01 | Add-MailboxPermission -User 'DOMAIN administrator' -AccessRights 'FullAccess'

Schritt 2: Rufen Sie alle Aliase ab

Abhängig von der Konfiguration Ihrer Exchange-Postfächer können Sie Aliase verwenden, um den Benutzernamen der Benutzer zu spiegeln. Auf diese Weise können wir für jeden Benutzer einen Ordner erstellen und ihm Lesezugriff gewähren.

$ users = Get-Mailbox | Sortierobjekt-Alias ​​| ft-Alias

Schritt 3: Erstellen Sie ein Verzeichnis für jeden Benutzer

Der Code ist selbsterklärend:

foreach ($ user in $ users) {
$ folder = " EXCHANGE01 Outlook-Archives $ user"
Ordner "mkdir $"
$ login = "DOMAIN $ user"
$ acl = Get-Acl $ -Ordner
$ rule = New-Object System.Security.AccessControl.FileSystemAccessRule ("$ login", "Read", "ContainerInherit, ObjectInherit", "None", "Allow")
$ acl.AddAccessRule ($ rule)
$ rule = New-Object System.Security.AccessControl.FileSystemAccessRule ("$ login", "ListDirectory", "ContainerInherit, ObjectInherit", "None", "Allow")
$ acl.AddAccessRule ($ rule)
Set-Acl $ -Ordner $ acl
}

Schritt 4: Exportieren Sie Postfächer in jedem Verzeichnis

$ confirm = Read-Host "Bitte bestätigen Sie, dass Sie die Variablen dieses Skripts überprüft haben, bevor Sie sie ausführen"
if ($ Confirmation -eq 'y') {
foreach ($ user in $ users) {
$ year = "2015"
echo "Archivierungsjahr $ Jahr für $ Benutzer"
Export-Mailbox -Identity $ user -StartDate "01/01 / $ year" -EndDate "12/31 / $ year" -PSTFolderPath EXCHANGE01 Outlook-Archives $ user $ user- $ year.pst -ExcludeFolders " Kontakte "," Kalender "-Confirm: $ false
}
}
Else {
Echo "Abgebrochen".
}

Mit diesem Skript wird das Postfach für jeden Benutzer in ein Aliasverzeichnis des Benutzers exportiert, wobei die Ordner Kontakte und Kalender ausgeschlossen werden.

Wenn Sie alles hier protokollieren möchten, verwenden Sie stattdessen dieses Skript:

$ confirm = Read-Host "Bitte bestätigen Sie, dass Sie die Variablen dieses Skripts vor der Ausführung überprüft haben."
if ($ Confirmation -eq 'y')
$ year = "2015"
$ ErrorActionPreference = "SilentlyContinue"
Stop-Transkription
Stop-Transkription

Else {
Echo "Abbruch".
}

Schritt 5: ... informieren Sie Ihre Benutzer, dass sie ihr Archiv abrufen können ...

... und bringe ihnen bei, wie es geht :)
+ wie man ein Archiv in Outlook importiert.

Ich empfehle Ihnen, das PST lokal auf dem Computer zu kopieren und die Kopie auf einem Archivserver zu behalten.

Schritt 6: Entfernen Sie exportierte Elemente mit dem Befehl -DeleteContent

$ confirm = Read-Host "Vorsicht, Sie werden hier viele E-Mails entfernen."
if ($ Confirmation -eq 'y') {
$ confirm = Read-Host "Kein Scherz, sind Sie wirklich sicher, dass Sie das tun wollen?"
if ($ Confirmation -eq 'y')

$ year = "2015"

$ ErrorActionPreference = "SilentlyContinue"
Stop-Transkription

Else {
Echo "Abgebrochen".
}
}
Else {
Echo "Abgebrochen".
}

Sie können dann die Protokolldatei überprüfen und überprüfen, ob alles reibungslos funktioniert.

Jetzt gib ein paar $ für eine echte Archivlösung aus :)