Rolands Erinnermich

Infos, Links, Scripte und mehr rund um E-Mail

Archiv für die 'Powershell' Kategorie

Exchange 2010:Disclaimer per Transportregel anhängen

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

  • Share/Bookmark

Verwandte Artikel

Abgelegt unter Codeschnipsel, Exchange 2010, Howto, Powershell | 1 Kommentar »

Powershell: Umgang mit null-valued expression

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
}

  • Share/Bookmark

Verwandte Artikel

Abgelegt unter Codeschnipsel, Howto, Powershell | Keine Kommentare »

Exchange 2007: Getrennte Postfächer nicht sichtbar

Erstellt von Roland am 11. Januar 2010

Unter Exchange 2003 war es erforderlich, aus dem Kontextmenü nach Rechtsklick auf eine Datenbank im Systemmanger den Befehl “Run Cleanup Agent” auszuwählen, um getrennte Postfächer sehen zu können.

Vor kurzem erhielt ich einen Anruf, weil ein Postfach nach Anwendung des Befehls disable-mailbox nicht als Getrenntes Postfach in der Exchange 2007 Verwaltungskonsole angezeigt wurde.

Hier hilft folgender Powershell Befehl:

clean-MailboxDatabase "Databasename"

Mehr zum Thema getrennte Postfächer: http://www.roland-ehle.de/archives/574

  • Share/Bookmark

Verwandte Artikel

Abgelegt unter Exchange 2007, Howto, Powershell | Keine Kommentare »

Exchange 2010: Zertifikatsanforderung generieren mit New-ExchangeCertificate

Erstellt von Roland am 3. Dezember 2009

Die Parameter für das Commandlet New-ExchangeCertificate sind unter Exchange 2010 etwas anders als unter Exchange 2007.  Der Switch -Path gefolgt von einem Pfad und Dateiname zur Ausgabe einer Zertifikatsanforderung in eine Datei kann unter Exchange 2010 nicht mehr verwendet werden.

Eine Zertifikatsanforderung wird unter Exchange 2010 wie folgt erstellt und als Datei abgelegt:

  • Generieren der Anforderung
    $Data = New-ExchangeCertificate -GenerateRequest -SubjectName "c=DE, o=Roland Ehle, cn=mail.roland-ehle.de" -DomainName roland-ehle.de,autodiscover.roland-ehle.de -PrivateKeyExportable $true
  • Ausgabe in die Datei c:\certrequest.req
    Set-Content -path "C:\certrequest.req" -Value $Data

Bei Digicert gibt es eine Seite, über die man sich den New-ExchangeCertificate Befehl durch Ausfüllen eines Formulars sehr einfach zusammenstellen kann: https://www.digicert.com/easy-csr/exchange2010.htm

Quelle: Microsoft Technet Artikel

  • Share/Bookmark

Verwandte Artikel

Abgelegt unter Exchange, Exchange 2010, Howto, Powershell | 1 Kommentar »

Exchange 2010: Import von Postfächern aus PST-Dateien mit import-mailbox

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

  1. 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.
  2. 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

  • Share/Bookmark

Verwandte Artikel

Abgelegt unter Codeschnipsel, Exchange 2010, Howto, Powershell | Keine Kommentare »

Exchange 2007: Export eines Postfachs in eine PST-Datei

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 »

  • Share/Bookmark

Verwandte Artikel

Abgelegt unter Codeschnipsel, Exchange 2007, Powershell | 3 Kommentare »

Exchange 2007: Abwesenheitsnotiz per Powershell setzen

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 »

  • Share/Bookmark

Verwandte Artikel

Abgelegt unter Codeschnipsel, Exchange 2007, Powershell | Keine Kommentare »

Zustellbestätigung für per Powershell versendete E-Mails

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

  • Share/Bookmark

Verwandte Artikel

Abgelegt unter Codeschnipsel, Powershell | Keine Kommentare »

Exchange 2007: Größe der einzelnen Ordner eines Postfachs ausgeben

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 »

  • Share/Bookmark

Verwandte Artikel

Abgelegt unter Codeschnipsel, Exchange 2007, Powershell | Keine Kommentare »

Powershell: Gruppenmitgliedschaften (memberof) auflisten

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 »

  • Share/Bookmark

Verwandte Artikel

Abgelegt unter Codeschnipsel, Powershell | Keine Kommentare »