Exchange 2010 - Postfächer Import und Export

Berechtigung der Rolle "Mailbox Export Import" vergeben :
New-ManagementRoleAssignment –Role “Mailbox Import Export” –User “Administrator”


-FilePath darf kein lokaler Pfad sein sollte also immer auf eine Freigabe verweisen bzw. auf einen UNC Pfad


EXPORT



Export eines Postfaches :
New-MailboxExportRequest -Mailbox USER -FilePath \\FILESERVER\PST\USER.pst


Alle Postfächer einer Datenbank exportieren :
(Get-Mailbox) | foreach {New-MailboxExportRequest -Mailbox $_.alias -FilePath “\\FILESERVER\PST\$_.pst”}


Status des Exports anzeigen :
Get-MailboxExportRequest


IMPORT



Import einer PST Datei in ein Postfach :
New-MailboxImportRequest -Mailbox USER -FilePath \\FILESERVER\PST\USER.pst


Alle PST-Dateien in einem Verzeichnis importieren :
Dir \\FILESERVER\PST\*.pst | %{ New-MailboxImportRequest -Mailbox $_.BaseName -FilePath $_.FullName}
In diesem Beispiel ist zu beachten das die PST Files den selben Namen haben wie die Postfächer. Also USER.pst wird im Postfach User importiert usw.


Status des Imports anzeigen :
Get-MailboxImportRequest


Export bzw. Import Requests löschen



Mit dem Befehl
Get-MailboxExportRequest | select Mailbox,Identity | fl
bzw.
Get-MailboxImportRequest | select Mailbox,Identity | fl
alle Requests anzeigen lassen.

Jetzt benötigen wir den Wert der bei Identity steht. Mailbox lasse ich mir nur zur Überprüfung anzeigen

Remove-MailboxExportRequest -Identity "Ermittelter Wert bei Identity"
bzw.
Remove-MailboxImportRequest -Identity "Ermittelter Wert bei Identity"


Remove-MailboxExportRequest
Remove-MailboxExportRequest


Quelle : Exchange 2010 SP1: Export und Import von Postfächern

Exchange 2010 - Getrenntes Postfach löschen

Problem : Es gibt keinen Weg ein Postfach in Exchange 2010 über die Verwaltungskonsole endgültig zu löschen, dies muss über die Shell erledigt werden.

Lösung :

Um ein Postfach endgültig zu löschen benötigen wir dessen GUID , mit folgendem Befehl kann man sich alle Postfächer anzeigen lassen die im Moment nicht verbunden sind.

Get-MailboxDatabase | Get-MailboxStatistics | Where{ $_.DisconnectDate -ne $null } |fl DisplayName, Database, Identity, DisconnectReason


Man bekommt nun einen Output in dem alle Postfächer aufgelistet sind. Um nun ein Postfach zu löschen muss noch dieser Befehl ausgeführt werden.

Remove-StoreMailbox -Database “Mailbox Database” -Identity “GUID des Postfaches” -MailboxState “Disabled”


In diesem Screenshot ist das nochmal schon nachvollziehbar.



Quelle : http://www.msblog.eu/exchange-2010-sp1-getrennte-postfacher-anzeigen-und-loschen/

Exchange 2010 - AutoMapping verhindert senden von E-Mails

Problem : Durch das AutoMapping von Exchange 2010 SP2 wird teilweise das senden von E-Mail aus einen "autogemappten" Postfach verhindert. Hier tritt immer ein Übermittlungsfehler auf.

Lösung : AutoMapping für das verbundene Postfach deaktivieren

Add-MailboxPermission -Identity Frank -User Administrator -AccessRights Fullaccess -AutoMapping $false


Hintergundinfos : Exchange 2010 - AutoMapping

Exchange 2010 - Gelöschte Elemente bereinigen / Ordner Deletions bereinigen

Problem :

Wenn ein Benutzer eine E-Mail in Outlook löscht werden diese nicht sofort vom Server gelöscht sondern erst nach einiger Zeit ( Std. Konfiguration ist 30 Tage) , solange liegen die gelöschten Sachen noch im Ordner Deletions rum, als Administrator kann man allerdings dies über die Powershell sofort ausführen.

Lösung :

Der Benutzer der den Cleanup durchführen will muss alle Bedingungen erfüllen !

1.) Der Benutzer der den Befehl ausführt muss Mitglied in der Gruppe Discovery Management sein
2.) Das Benutzer muss Recht Mailbox Import Export besitzen da sonst der Parameter –DeleteContent nicht funktioniert.


Zu 1.) den Benutzer der Gruppe Discovery Management hinzufügen

Zu 2.)

Hier muss etwas Hand angelegt werden. Eine Gruppe erstellen z.B. mit dem Namen Exchange_Imp_Exp_Support, Gruppenbereich muss Universal sein, und diese dann mit der Exchange-Powershell dem Server hinzufügen.
New-ManagementRoleAssignment -Name "Import Export Support" -SecurityGroup Exchange_Imp_Exp_Support -Role "Mailbox Import Export"

Nachdem beides erledigt wurde stehen nun das Commandlet Search-Mailbox incl. dem Parameter -DeleteContent zur Verfügung.

Die Voraussetzungen sind nun erfüllt und das Postfach kann bereinigt werden. Mit dem Exchange-Powershell Befehl

DA MAN HIER SYSTEMNAH ARBEITET MUSS MAN WISSEN WAS MAN MACHT !

Search-Mailbox –identity "Benutzername" –SearchDumpsterOnly –DeleteContent


Quellen :
http://theucguy.net
http://social.technet.microsoft.com/Forums
http://technet.microsoft.com

Microsoft Update über Konsole entfernen

Problem :

Microsoft veröffentlicht ein Update und zieht dieses wieder zurück, bei mir ist das Problem aufgetreten das dieses Update jedoch bereits über den WSUS verteilt wurde. Um jetzt nicht zu jedem Rechner zu gehen und das Update manuell zu deinstallieren ist hier der Konsolen Weg. Ich führe diesen Aufruf unter erhöhten Rechten im Loginskript aus wodurch mir das durch die Firma rennen erspart bleibt ;-) Hier z.B. das Update KB2982791

Lösung :

wusa /uninstall /kb:2982791 /quiet /promptrestart


Hier wird das Update KB2982791 über Konsole entfernt und nach dem entfernen nach einem Neustart gefragt. Lässt man promptrestart weg wird der Neustart einfach durchgeführt

Exchange 2010 wichtige Powershell Befehle

Für mich und vielleicht für andere hier ein paar wichtige Powershell Befehle die mir das administrieren des Exchange 2010 Servers erleichtern

Großgeschriebene Sachen müssen angepasst werden

Mailbox anzeigen und nach Größe sortieren , für den Server SERVERNAME
Get-MailBoxStatistics -server SERVERNAME | sort TotalItemSize -desc | FT DisplayName,TotalItemSize


Mailbox anzeigen und nach Größe sortieren mit Datenbank, für den Server SERVERNAME
Get-MailBoxStatistics -server SERVERNAME | sort TotalItemSize -desc | FT DisplayName,TotalItemSize,Database


Mailbox anzeigen und nach Größe sortieren mit Datenbank, für den Server SERVERNAME mit aktuellem Datum
Get-MailBoxStatistics -server SERVERNAME | sort TotalItemSize -desc | FT {Get-Date -Format yyyy.MM.dd},DisplayName,TotalItemSize,Database


Mailbox anzeigen und nach Größe sortieren , für den Server SERVERNAME mit aktuellem Datum und TotalItemSize immer in KB :
Get-MailBoxStatistics -server SERVERNAME | sort TotalItemSize -desc | FT {Get-Date -Format yyyy.MM.dd},DisplayName,@{expression={$_.TotalItemSize.Value.ToKB()}}


Alle Mailboxen mit aktiviertem Outlook Web Access anzeigen :
Get-CASMailbox | where { $_.OWAEnabled } | ft DisplayName, OWAEnabled


Alle Mailboxen mit deaktiviertem Outlook Web Access anzeigen :
Get-CASMailbox | where { $_.OWAEnabled -eq 0 } | ft DisplayName, OWAEnabled


Alle Mailboxen mit aktiviertem ActiveSync anzeigen :
Get-CASMailbox | where { $_.ActiveSyncEnabled } ft DisplayName, ActiveSyncEnabled


Alle Mailboxen mit deaktiviertem ActiveSync anzeigen :
Get-CASMailbox | where { $_.ActiveSyncEnabled -eq 0} ft DisplayName, ActiveSyncEnabled


Statistiken für ein bestimmts Postfach :
Get-MailboxStatistics BENUTZERNAME | fl


Statistiken für ein bestimmts Postfach mit Speicherlimit :
Get-MailboxStatistics BENUTZERNAME | ft displayname,*ItemCount,total*


Postfachgröße :
Get-MailboxStatistics | ft DisplayName,ItemCount,TotalItemSize -AutoSize


Status des Postfachverschiebens ermitteln :
Get-MoveRequest –MoveStatus InProgress | Get-MoveRequestStatistics | Select DisplayName,PercentComplete,TotalMailboxSize,SourceDatabase,TargetDatabase


Übersicht der Postfächer einer Datenbank – Sortiert nach letztem Login mit den Feldern: Benutzername, Größe, Datum der letzten Anmeldung, Letzte Anmeldung :
Get-Mailbox -Database "DATENBANKNAME" | Get-MailboxStatistics | Sort LastLogonTime | ft DisplayName, TotalItemSize, LastLogonTime, LastLoggedOnUserAccount


Übersicht der Postfächer einer Datenbank – Sortiert nach der Größe mit den Feldern: Benutzername, Größe, Datum der letzten Anmeldung :
Get-Mailbox -Database "DATENBANKNAME" | Get-MailboxStatistics | Sort LastLogonTime | ft DisplayName, @{expression={$_.TotalItemSize.Value.ToKB()}}, LastLogonTime


Detailiert Übersicht eines Postfaches mit Unterordnern und dessen Größe :
Get-MailboxFolderStatistics -identity BENUTZERNAME | ft FolderPath, FolderSize, ItemsInFolder, FolderAndSubfolderSize


Postfächer auf die der Benutzer “USERNAME” volle Berechtigungen hat :
Get-Mailbox | Get-MailboxPermission | Where-Object { ($_.AccessRights -eq "*fullaccess*") -and ($_.User -like "*USERNAME*") }


Alle Postfächer mit “Sende als” und “volle Postfachberechtigung” :
Get-Mailbox | Get-ADPermission | Where-Object { ($_.ExtendedRights -like "*send-as*") -and -not ($_.User -like "nt authority\self") }


Liste aller ActiveSync Geräte auf dem Server :
Get-ActiveSyncDevice | ft


ActiveSync-Statistik eines Postfaches :
Get-ActiveSyncDeviceStatistics -mailbox "Mail Adresse des Benutzers"


Alle ActiveSync Geräte der OU “Ausgeschiedene User” löschen :
Get-ActiveSyncDevice -OrganizationalUnit "Ausgeschiedene User" | Remove-ActiveSyncDevice


Quellen :

chilltimes.de
frankysweb.de
ex201.de

“Das einzig sichere System müsste ausgeschaltet, in einem versiegelten und von Stahlbeton ummantelten Raum und von bewaffneten Schutztruppen umstellt sein.”
Gene Spafford (Sicherheitsexperte)