Erstellt von Roland am 22. Januar 2010
Im Artikel Änderung bei den Transportregeln habe ich mich dazu verleiten lassen, eine Aussage zu machen, ohne vorher nochmals in die Hilfe geschaut zu haben. Danke @Frank Carius für den Hinweis.
Die Aussage, dass der Text des Disclaimer nicht mehr formatiert werden kann, ist falsch, korrekt ist, dass der Text nicht mehr über die Exchange Verwaltungskonsole formatiert werden kann, sondern nur per Powershell. Ein neuer Disclaimer wird per Powershell wie folgt angelegt:
New-TransportRule -Name ExternalDisclaimer -Enabled $true -SentToScope ‘NotInOrganization’ -ApplyHtmlDisclaimerLocation ‘Append’ -ApplyHtmlDisclaimerText “<h3>Disclaimer Title</h3><p>This is the disclaimer text.</p>” -ApplyHtmlDisclaimerFallbackAction Wrap
Etwas HTML-Syntax Know-How ist hierbei gefragt, um den Text ordentlich zu formatierten.
Quelle: http://technet.microsoft.com/de-de/library/dd876914.aspx
Verwandte Artikel
Abgelegt unter Codeschnipsel, Exchange 2010, Howto, Powershell | 1 Kommentar »
Erstellt von Roland am 15. Januar 2010
Wenn man Abfrageergebnisse mittels Powershell weiterverarbeiten möchte, stößt man auf Probleme, sobald die Abfrage keinen Wert ergeben hat. Praktisches Beispiel: Abfrage der Mailboxgrößen mit get-mailboxstatistics. Will man die Werte per value.ToMB() in Megabyte umrechnen, erhält man die Fehlermeldung: “You cannot call a method on a null-valued expression.”
Lösung:
Vor der Umrechnung muss geprüft werden, ob ein Wert vorhanden ist. Dabei kann man auf die eingebaute Variable $Null zurückgreifen, also:
if ($mb.TotalItemSize -eq $Null) {
Anweisung
} Else {
Anweisung
}
Verwandte Artikel
Abgelegt unter Codeschnipsel, Howto, Powershell | Keine Kommentare »
Erstellt von Roland am 24. November 2009
Nach Installation des Exchange 2010 sollte mein Postfach wieder mit den Daten aus dem Export (siehe hier) befüllt werden. Leichter gesagt als getan, weil mir der Befehl Import-Mailbox in der Shell zunächst nicht zur Verfügung stand, soll heißen den Befehl gab es einfach nicht.
Voraussetzungen für den Export bzw. Import von Postfächern unter Exchange 2010
- Der Export bzw. Import kann zwar Remote gestartet werden, wird letztendlich jedoch auf einem Exchange Server ausgeführt. Auf dem Exchange Server, auf dem der Befehl ausgeführt wird, muss die 64-Bit-Version von Outlook 2010 installiert sein.
- Damit die Funktion zur Verfügung steht, muss dem Account unter dem der Befehl ausgeführt wird die Rolle ”Mailbox Import Export” zugewiesen sein. Dies kann mit folgendem Powershell-Befehl erledigt werden (Im Beispiel erhält die Gruppe “Import-Export-Mailboxdata” die erforderlichen Recht):
New-ManagementRoleAssignment -Name "Import Export Support" -SecurityGroup "Import-Export-Mailboxdata" -Role "Mailbox Import Export"
Nach Zuweisen der Rolle muss die Shell beendet und neu gestartet werden.
Import einer PST-Datei in eine bestehende Mailbox
Import-Mailbox -Identity roland.ehle -PSTFolderPath d:\export\roland.pst
Quellen:
http://technet.microsoft.com/en-us/library/bb629586(EXCHG.140).aspx
http://technet.microsoft.com/en-us/library/dd638132(EXCHG.140).aspx
http://technet.microsoft.com/en-us/library/ee633452(EXCHG.140).aspx
Verwandte Artikel
Abgelegt unter Codeschnipsel, Exchange 2010, Howto, Powershell | Keine Kommentare »
Erstellt von Roland am 19. November 2009
Mein Exchange 2007 Server muss einem Exchange 2010 weichen. Da ich nur einen Server habe und ein Inplace-Upgrade auf Exchange 2010 nicht unterstützt wird, stellte sich die Frage, nach einer sinnvollen Datensicherung des Postfachinhalts.
Die Lösung ist der Powershell Befehl Export-Mailbox. Mit dem Befehl kann der Inhalt eines Postfachs entweder in ein anderes Postfach, oder in eine PST-Datei exportiert werden. Unter Exchange 2003 musste für den Export einer Mailbox das Microsoft Tool Exmerge verwendet werden. Beim Export werden auch die Inhalte des Dumpsters, also die gelöschten Elemente exportiert. Weiterlesen »
Verwandte Artikel
Abgelegt unter Codeschnipsel, Exchange 2007, Powershell | 3 Kommentare »
Erstellt von Roland am 17. November 2009
Wieder eine nette Aufgabe aus der Praxis. Wegen des Wechsels einiger Mitarbeiter in eine andere Firma innerhalb des Konzerns haben diese Mitarbeiter einen neuen Mailaccount erhalten. Für den bisherigen Mailaccount sollte für die Dauer von 4 Wochen eine Abwesenheitsnotiz geschaltet werden, die die Absender auf die neue E-Mail-Adresse hinweist. Bei 87 betroffenen Mitarbeitern, lohnte es sich, über eine Scriptlösung nachzudenken. Weiterlesen »
Verwandte Artikel
Abgelegt unter Codeschnipsel, Exchange 2007, Powershell | Keine Kommentare »
Erstellt von Roland am 9. November 2009
Wenn man mit dem hier veröffentlichten Code eine E-Mail versendet, hat man keine Kontrolle darüber, ob die E-Mail auch zugestellt wurde. Abhilfe bietet der Parameter “DeliveryNotificationOptions”, der folgende Werte akzeptiert:
- None – keine Zustellbestätigung
- OnSuccess – Benachrichtigung wenn Zustellung erfolgreich war
- OnFailure – Benachrichtigung wenn die Zustellung fehlgeschlagen ist
- Never – keine Benachrichtigung
Beispiel:
$mailmessage.DeliveryNotificationOptions = "OnSuccess"
Die Benachrichtigung wird per E-Mail an die im Script verwendete Absenderadresse zugestellt. Und bevor hier das große Suchen losgeht: Nein, eine Lesebestätigung kann man in einer E-Mail, die per Powershell versendet wird nicht anfordern.
Quelle: http://technet.microsoft.com/en-us/library/dd347693.aspx
Verwandte Artikel
Abgelegt unter Codeschnipsel, Powershell | Keine Kommentare »
Erstellt von Roland am 7. November 2009
Die Anzahl der Elemente in einzelnen Ordnern und die Größe der Ordner innerhalb eines Postfachs können Auswirkungen auf die Performance beim Zugriff haben. Bei der Untersuchung von Performanceproblemen sollte dieser Punkt nicht vernachlässigt werden.
Exchange 2007 bietet in der Exchange-Verwaltungsshell das Commandlet get-MailboxfolderStatistics, mit dem man die Anzahl der Elemente und die Ordnergröße ausgeben kann. Die Größenangaben sind jedoch in Byte, was die Ausgabe ein wenig unübersichtlich macht. Das folgende Script fordert zur Eingabe eines Benutzernamens auf und gibt dann die Statistik aus, wobei die Größen in Kilobyte umgerechnet werden. Weiterlesen »
Verwandte Artikel
Abgelegt unter Codeschnipsel, Exchange 2007, Powershell | Keine Kommentare »
Erstellt von Roland am 6. November 2009
Das hier veröffentlichte Script, mit dem die Berechtigungen eines Users auf Postfächer ausgegeben werden können, ist noch unbefriedigend. Es werden zwar alle Postfächer ausgegeben, bei denen der User die Berechtigung “Vollzugriff” bzw. “Senden Als” hat, aber es fehlt noch etwas. Was, wenn der User nicht direkt auf ein Postfach berechtigt ist, sondern die Berechtigungen durch Mitgliedschaft in einer bestimmten Gruppe erhält? Weiterlesen »
Verwandte Artikel
Abgelegt unter Codeschnipsel, Powershell | Keine Kommentare »
Erstellt von Roland am 6. November 2009
Aus meiner heutigen Powershell-Session mit meinem Kollegen Carsten ist ein Script als Funktion get-permissions entstanden, mit dem man die Postfächer ausgeben kann, auf die ein einzugebender User die Berechtigung “Vollzugriff” (fullaccess) bzw. “Senden Als” (SendAs) hat. Es werden beide Rechte für alle Postfächer in der Organisation geprüft. Bei größeren Umgebungen kann ein Durchlauf etwas dauern.
Das Script fordert nach dem Aufruf zur Eingabe des Logon-Namens des Users auf, für den die Berechtigungen geprüft werden sollen. Die Ausgabe des Ergebnisses erfolgt sowohl in die Shell, als auch in die Datei c:\logonname.txt (Punkte im Logonnamen werden durch Bindestriche ersetzt). Bei Fragen zum Script könnt Ihr Euch gerne an mich wenden. Weiterlesen »
Verwandte Artikel
Abgelegt unter Codeschnipsel, Exchange 2007, Powershell | Keine Kommentare »
Erstellt von Roland am 11. Oktober 2009
Eine häufige Aufgabe in der täglichen Praxis ist das Erweitern der Größenbeschränkungen von Postfächern. Klar kann man das auch über die Exchange Verwaltungskonsole grafisch lösen, aber schneller und eleganter ist eine Lösung per Powershell.
Das folgende Beispiel basiert auf der Vorgabe, dass Erweiterungen jeweils um 250 MB durchgeführt werden. Folgende Schritte sind zur Lösung der Aufgabe durchzuführen:
- Abfrage des Benutzernamens
- Prüfen ob für das Postfach die Standardlimits der Datenbank gelten
- Aktuelle Limits feststellen bzw. die Limits auf der Datenbank feststellen
- Zu den aktuellen Limits 250 MB addieren (Achtung: Angabe muss in Byte erfolgen)
- die errechneten Werte übernehmen
- Last but not least: Eine Ausgabe der alten und der neuen Werte zur Kontrolle Weiterlesen »
Verwandte Artikel
Abgelegt unter Codeschnipsel, Exchange 2007, Howto, Powershell | Keine Kommentare »