Self Signed UCC Zertifikat erzeugen

OpenSSL herunterladen (win64openssl-1_0_2h.exe)

Config Datei erstellen, für Exchange wurde „digitalSignature“ hinzugefügt, sonst kann das Zertifikat nicht in den Exchange Certificate Store importiert werden!

 
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
C = DE
ST = BY
L = Augsburg
O = dynasys
OU = IT Security
CN = SubjectName dynasys datentechnik gmbh
[v3_req]
keyUsage = keyEncipherment, dataEncipherment, digitalSignature
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = autodiscover.mycompany.ag
DNS.2 = autodiscover.mycompany.local
DNS.3 = EX-02
DNS.4 = EX-02.mycompany.local
DNS.5 = EX-01
DNS.6 = EX-01.mycompany.local
DNS.7 = EX-03
DNS.8 = EX-03.mycompany.local
DNS.9 = outlook.mycompany.ag
DNS.10 = owa.mycompany.ag
DNS.11 = push.mycompany.ag
DNS.12 = mail.mycompany.ag

 

Dann OpenSSL.exe (s.o.) herunterladen und installieren (ggf. Tage anpassen!)

openssl.exe req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout C:\temp\cert3.pem -out C:\temp\cert3.pem -config "C:\Temp\OpenSSL-Win64\bin\ConfigDatei.txt"

openssl.exe pkcs12 -export -out C:\temp\cert3.pfx -in C:\temp\cert3.pem -name "SubjectName" -passout pass:<Password>

Import Zertifikat in Exchange

Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path C:\temp\cert2.pfx -Encoding byte -ReadCount 0)) -Password:(Get-Credential).password

OWA 2010 Kategorien bei mehreren eingebundenen Postfächern

Die Kategorien innerhalb des OWAs werden von der Mailbox geladen, die nach der Anmeldung als erstes selektiert (gelickt) wird. Die Kategorien gelten dann für alle anderen Mailboxen ebenfalls.

Wenn ein eingebundenes Postfach keine Kategorien hat – weil z.B. noch nie Outlook dafür verwendet wurde – und dieses als erstes angeklickt wird, dann gibt es keine Kategorien zur Auswahl.

Lösung:

  • Ab-/Anmelden und das Postfach mit den richtigen Kategorien zuerst anklicken
  • in den anderen Postfächern die Kategorien anlegen (lassen) mit z.B. Outlook

 

Exchange 2010 Mail aktivierte Public Folder Send-As Berechtigung kann nicht gesetzt werden

Bei migrierten Public Foldern (Öffentlichen Ordnern) fehlt die Exchange Serverberechtigung um über die EMC das Send-As Recht zuzuweisen.

PublicFolder-SendAs

Man kann das Recht per ADSIEdit setzen(Send-As – Allow), oder fügt dem Public Folder Objekt im Active Directory den/die Exchange Server (Exchange$) mit Full Control hinzu. Dann geht’s wieder.

Exchange 2010 Mini Mobile Device Manager (Entwurf)

Ich schiebe schon seit längerem ein PowerShell Skript vor mir her.

Ich möchte eine GUI die alle Mobilen Geräten anzeigt und von der aus das Device gelöscht oder zurückgesetzt werden kann. Der erste Entwurf sieht schon mal nicht schlecht aus:
MobileDeviceManager

Allerdings lädt die Statistik ziemlich langsam. Ursache ist, dass das CmdLet Get-ActiveSyncDevice keine Referenz zu den Postfachinformationen selbst hat.
Um herauszufinden, wie der DisplayName des Benutzers lautet und ob das Postfach momentan deaktiviert ist, muss zu jedem Device ein Get-Mailbox CmdLet abgesetzt werden.

Dann kommt noch das CmdLet Get-ActiveSyncDeviceStatistics dazu um den Sync Status zu ermitteln.

Alles in allem ziemlich langsam…
Wer kennt einen eleganten Trick, das alles schneller zu machen? (Im obigen Beispiel sind über 1000 Mobile Endgeräte, da dauert das Einlesen ca. 3 Minuten)

Das Skript habe ich hier mal zur Verfügung gestellt (Skript).
Wer will darf es optimieren 🙂 Über Feedback freue ich mich!

Matthias

 

Exchange 2010 Mailbox Audit Logging: So wirds aktiviert und verwendet

Hin und wieder können sich Anwender nicht erklären, warum Mails verschwinden, verschoben oder hart gelöscht wurden obwohl keine Regeln existieren.
Tja, ich kann mir das auch nicht erklären 😀 aber ich weiß wie man herausfinden kann wer es war. Mailbox Audit Logging aktivieren und Ergebnisse auswerten.

So wird’s gemacht:

Festlegen, auf welche Mailbox Audit Logging aktiviert wird:

set-mailbox <MailboxID> -AuditEnabled $true
set-mailbox <MailboxID> -AuditOwner {Update, Move, SoftDelete, HardDelete, Create}

Die Einstellungen auf der Mailbox sehen dann so aus:

AuditLoggingEinstellungen

Damit werden die Änderungen von Admins, Vertretern und dem Benutzer selbst protokolliert. Die Informationen werden max, 90 Tage aufbewahrt. Die Logging Informationen werden in der Benutzermailbox gespeichert.

AuditBypassEnabled muss auf $false gesetzt werden, damit die Änderungsvorgänge auch wirklich protokolliert werden.

Set-MailboxAuditBypassAssociation <MailboxID> -AuditBypassEnabled $false

Abfrage der Änderungen in einer Mailbox: (Natürlich muss man warten, bis die Aktionen auftreten!)

Search-MailboxAuditLog <MailboxID> -ShowDetails | ft Operation,LogonType,FolderPathName,
                ClientInfoString,SourceItemSubjectsList,DestFolderPathName,lastaccessed

Das Ergebnis sieht dann in etwa so aus:

Search-MailboxAuditLog

Wie man schön sehen kann werden die Vorgänge (SoftDelete/Move/…) und Quell- sowie Zielordner dokumentiert. In der Spalte ClientInfoString wird dazu noch dokumentiert, über welchen Client der Vorgang stattgefunden hat.

LogonType = Owner bedeutet, der User macht das selbst! Was ja zu erwarten war 😀

Matthias

 

Exchange 2010 CAS Network Load Balancing (NLB) Anzahl RPC und OWA Verbindungen ermitteln

Am CAS Server können die Performance Counter für RPC Client Access und OWA verwendet werden um die Anzahl der aktuellen Verbindungen (User) zu ermitteln.
Dazu gibt es verschiedene Counter. Hier ein Überblick der Counter die ich verwende um zu sehen, ob die Verbindungen von einem Drainstop NLB Knoten verschwunden sind.

 

Current Connections or users at cas nlb node
Current Connections or users at cas nlb node

Mit der Powershell kann man das auch abfragen:

(get-counter „\MSExchange RPCClientAccess\User Count“ -ComputerName <CAS Server Name>).counterSamples[0].CookedValue
(get-counter „\MSExchange OWA\Current Unique Users“ -ComputerName <CAS Server Name>).counterSamples[0].CookedValue

Die Liste kann um weitere Counter angepasst werden. Dazu einfach den Namen des Counters eintragen. z.B. „Current Unique Users Light“. Aber Achtung, die Counter sind Sprachabhängig und lauten auf deutschen Exchange-Servern anders.

Exchange 2010 Move Mailbox bricht nach 2h (Stunden) ab – große Anzahl Ordner im Postfach

Letztens bei einer Migration konnte ein Postfach nicht verschoben werden. Der Fortschrittsanzeiger blieb bei 10% hängen und bewegte sich über Stunden nicht weiter.

Nach ca. 2h brach der Job dann mit folgender Meldung ab:

Status: SyncSource
11.03.2013 21:25:20 [TargetServer] Der Microsoft Exchange-Postfachreplikationsdienst ‚TargetServer‘ (14.3.123.2 caps:07) überprüft die Anforderung.
11.03.2013 21:25:20 [TargetServer] Verbunden mit Zielpostfach ‚Primär (9344562e-8f36-447b-a3d6-6acb508d23f3)‘, Datenbank ‚DB_03‘, Postfachserver ‚Targetserver‘ Version 14.3 (Build 123.0).
11.03.2013 21:25:22 [TargetServer] Verbunden mit Quellpostfach ‚Primär (9344562e-8f36-447b-a3d6-6acb508d23f3)‘, Datenbank ‚DB01‘, Postfachserver ‚Sourceserver‘ Version 14.3 (Build 123.0).
11.03.2013 21:25:27 [TargetServer] Der vorübergehende Fehler SourceMailboxAlreadyBeingMovedTransientException ist aufgetreten. Das System wird (2/60) neu versuchen.
Fehlerdetails: Das Postfach konnte nicht in den Modus für die Quellsynchronisierung umgeschaltet werden.
Hierfür sind folgende Gründe möglich:
  Ein anderer Administrator verschiebt das Postfach zurzeit.
  Das Postfach ist gesperrt.
  Der Microsoft Exchange-Postfachreplikationsdienst (MRS) verfügt nicht über die richtigen Berechtigungen.
  Netzwerkfehler verhindern, dass MRS die Sitzung mit dem Postfachserver sauber abschließt. Wenn dies der Fall ist, kann dieser Fehler in MRS noch für bis zu 2 Stunden auftreten. Diese Dauer wird von den TCP-KeepAlive-Einstellungen auf dem Postfachserver gesteuert. Warten Sie, bis das Postfach freigegeben wurde, bevor Sie erneut versuchen, dieses Postfach zu verschieben.
   bei Microsoft.Exchange.MailboxReplicationService.LocalMailbox.Microsoft.Exchange.MailboxReplicationService.IMailbox.SetInTransitStatus(InTransitStatus status, Boolean& onlineMoveSupported)
   bei Microsoft.Exchange.MailboxReplicationService.MailboxWrapper.<>c__DisplayClass20.<Microsoft.Exchange.MailboxReplicationService.IMailbox.SetInTransitStatus>b__1f()
   bei Microsoft.Exchange.MailboxReplicationService.ExecutionContext.Execute(GenericCallDelegate operation)
   bei Microsoft.Exchange.MailboxReplicationService.MailboxWrapper.Microsoft.Exchange.MailboxReplicationService.IMailbox.SetInTransitStatus(InTransitStatus status, Boolean& onlineMoveSupported)
   bei Microsoft.Exchange.MailboxReplicationService.MoveBaseJob.<StartMove>b__1b(MailboxMover mbxCtx)
   bei Microsoft.Exchange.MailboxReplicationService.MoveBaseJob.ForeachMailboxContext(MailboxMoverDelegate del)
   bei Microsoft.Exchange.MailboxReplicationService.MoveBaseJob.StartMove(Object[] wiParams)
   bei Microsoft.Exchange.MailboxReplicationService.CommonUtils.CatchKnownExceptions(GenericCallDelegate del, FailureDelegate failureDelegate)

Diese Information war fast hilfreich.  🙂
Der Hinweis in der Fehlermeldung

Netzwerkfehler verhindern, dass MRS die Sitzung mit dem Postfachserver sauber abschließt. Wenn dies der Fall ist, kann dieser Fehler in MRS noch für bis zu 2 Stunden auftreten. Diese Dauer wird von den TCP-KeepAlive-Einstellungen auf dem Postfachserver gesteuert

brachte mich dann aber auf die Lösung.  Ein Blick in das Postfachverschiebeprotokoll brachte die Info, dass dieses Postfach weit über 5500 Ordner hat.

Die Ordnerhierarchie in Postfach ‚Primär (9344562e-8f36-447b-a3d6-6acb508d23f3)‘ wird initialisiert: 5575 Ordner gesamt.

Der Postfach Verschiebedienst braucht scheinbar sehr lange, die Hierarchie zu ermitteln. (Im weiten Internet findet man Hinweise, dass der Job schon bei über 2000 Ordnern abbricht.)

Wenn nun die KeepAliveTime auf 2h steht (Default!), bricht der Job dann natürlich ab.
Ich habe den Wert mal auf 5 Minuten geändert (300.000ms). Dann funktionierts.

Auf dem „Source“ Server in der Registry unter

HKLM\System\CurrentControlSet\Services\TCPIP\Parameters den DWORD32 KeepALiveTime mit 300000 (dec) hinzufügen.

Alternativ kann der Job mittels „Resume“ wieder aufgenommen werden, dann klappt’s auch irgendwann….

 

Exchange 2010 Disable Public Folder Conflict Message

Da ich kaum Infos dazu gefunden habe, hier mal die essentielle Kopie eines Artikels, wie man die Benachrichtigung bei einem Public Folder Konflikt unterbindet:

So there are some common reasons you will get this error message

1.     This error could be generated because of normal maintenance (online maintenance) against the Public Folder database

2.     Error because of replication

3.     AV components such as client AV making MAPI calls or  Exchange level AV processing old items after configuration changes

4.     A virus that hits the database making changes and resulting in conflict messages

5.     You have something like comvault in the environment that is changing PF data

 

So what can you do

1.       You can suppress these messages by modifying the registry of the Exchange server

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSExchangeIS\<servername>\Public-<GUID of Public Store>

On the Edit menu, click Add Value, and use the following entry:
Value Name: Replication Folder Design Conflict Disable
Data Type: REG_DWORD
Value: 1

2.       Check the queue’s to ensure there is not Public Folder replication messages pending delivery (in your case I’m sure there are since you second Exchange server is offline)

3.       Check Anti-Virus exclusion on the Exchange server (http://support.microsoft.com/default.aspx/kb/823166) or check for other events like 327 or any other event source MSExchangeTransport

4.       For you the last option is try to turn on the other Exchange server and replication take place and see if the message goes away
5. Ingore the alert since you know there is a replication error

 

Exchange 2003 Relay-IPs ermitteln und in Exchange 2010 Receive Connector importieren

Mit einem kleinen Script kann man die IPs oder IP Ranges des SMTP Dienstes vom Exchange 2003 auslesen und direkt in einen entsprechenden Receive Connector auf Exchange 2010 importieren.

Vor Verwendung des Scripts bitte an die eigene Umgebung anpassen und testen!

Dim objSMTP,objRelayIpList,objCurrentList,objIP
Dim objFSO,objTextFile,count,newIpList(),inputOption,IPTxtPath
Set objSMTP = GetObject("IIS://localhost/smtpsvc/1")
Set objRelayIpList = objSMTP.Get("RelayIpList")
'***objRelayIpList is of type IIsIPSecuritySetting 
'***http://msdn.microsoft.com/en-us/library/ms525725.aspx
if objRelayIpList.GrantByDefault = TRUE then
  objCurrentList = objRelayIPList.IPDeny
else
 objCurrentList = objRelayIPList.IPGrant
end if 
Set objRelay = GetObject("LDAP://CN=Relay Connector,CN=SMTP Receive Connectors," _
                           "CN=Protocols,CN=yourServer,CN=Servers," _
                           "CN=Exchange Administrative Group (FYDIBOHF23SPDLT)," _ 
                           "CN=Administrative Groups,CN=YourOrg,CN=Microsoft Exchange," _
                           "CN=Services,CN=Configuration,DC=YourDomain,DC=YourDomain,DC=net")
For each ip in objCurrentList
 aIP = split(ip,",")
 if aIP(1)=" 255.255.255.255" then '*** einzelne IP Adresse/Host
 cIP=trim(aIP(0))
 else
 cIP = trim(aIP(0)) & "(" & trim(aIP(1)) & ")" '*** sonst Subnetz
 end if
 '*** Debug Info: msgbox IP & vbCRLF & cIP
 objRelay.PutEx 3, "msExchSmtpReceiveRemoteIPRanges", array(cIP)
 objRelay.SetInfo
next

Exchange 2010 Message Tracking Event-IDs

Aus dem Microsoft Artikel http://technet.microsoft.com/en-us/library/bb124375.aspx ein Auszug zu den einzelnen Event IDs die im Messagetracking Log auftauchen können.

Deliver ist wohl die wichtigste ID, wenn’s mal wieder heißt: „…ich habe eine Mail nicht bekommen..“ 🙂

Event name Description
BADMAIL A message was submitted by the Pickup directory or the Replay directory that cannot be delivered or returned.
DELIVER A message was delivered to a mailbox.
DEFER Message delivery was delayed.
DSN A delivery status notification (DSN) was generated.
DUPLICATEDELIVER A duplicate message was delivered to the recipient. Duplication may occur if a recipient is a member of two distribution groups. Duplicate messages are detected and removed by the information store.
EXPAND A distribution group was expanded.
FAIL Message delivery failed.
POISONMESSAGE A message is put in the poison message queue or removed from the poison message queue.
RECEIVE A message was received and committed to the database. The RECEIVE event can be SMTP receive (Source: SMTP) or mail submitted by STOREDRIVER (Source: STOREDRIVER).SMTP RECEIVE can be from any source that submits a message by using SMTP. For example, it can be a Hub Transport server role, an Edge Transport server role, a third-party message transfer agent (MTA), or a POP/IMAP client.STOREDRIVER RECEIVE is logged by the EdgeTransport.exe process, and is the event that corresponds to a STOREDRIVER SUBMIT event. STOREDRIVER SUBMIT is logged by the Mail Submission process. These events can be on the same server if both server roles are installed locally, or they can be on different servers.

Bb124375.note(en-us,EXCHG.141).gifNote:
EdgeTransport.exe and MSExchangeTransport.exe are the executable files that are used by the Microsoft Exchange Transport service. This service runs on every Hub Transport server or Edge Transport server.
REDIRECT A message was redirected to an alternative recipient after an Active Directory directory service lookup.
RESOLVE A message’s recipients were resolved to a different e-mail address after an Active Directory lookup.
SEND A message was sent by Simple Mail Transfer Protocol (SMTP) to a different server.
SUBMIT A SUBMIT event is logged by the Mail Submission service on an Exchange 2007 computer that is running the Mailbox server role. The SUBMIT event is logged when the service has successfully notified a Hub Transport server that a message is awaiting submission in the mailbox store.The SourceContext property provides the Messaging Database (MDB) GUID, Mailbox GUID, Event sequence number, Message class, Creation time stamp of the client submission to store, and Client type. The Client type can be User (Outlook direct MAPI), RPCHTTP (Outlook Anywhere), Outlook Web Access, Exchange Web Services (EWS), Exchange ActiveSync, Assistants, or Transport. The message tracking logs that are generated by the Mailbox server role contain only SUBMIT events.
TRANSFER Recipients were moved to a forked message because of content conversion, message recipient limits, or agents.

Outlook 2010 – 2016 Autodiscover RegKey

Outlook 2007 – 2016:

HKEY_CURRENT_USER\Software\Microsoft\Office\<Version>\Outlook\AutoDiscover

 

  • „ExcludeHttpRedirect“=dword:0
  • „ExcludeHttpsAutodiscoverDomain“=dword:0
  • „ExcludeHttpsRootDomain“=dword:0
  • „ExcludeScpLookup“=dword:0
  • „ExcludeSrvLookup“=dword:0
  • „ExcludeSrvRecord“=dword:0
  • ExcludeLastKnownGoodURL (gilt nur für Outlook 2010-Version 14.0.7140.5001 und höher)
  • ExcludeExplicitO365Endpoint (gilt nur für Outlook 2016 Version 16.0.6741.2017 und höher)

Autodiscover is a wonderful feature! Once configured correctly it will save you quite some time!

 

Exchange 2010 SP2 und Exchange 2007 Coexistenz über TMG 2010 veröffentlicht

Meine Überlegungen zur Coexistenz Ex2007/Ex2010 und OWA Zugriffe.

Exchange 2010 und Exchange 2007 existieren während einer Migrationsphase parallel. OWA Zugriffe werden über den TMG direkt an den Exchange 2010 CAS Server geroutet.

Durch Redirect am CAS Server besteht die Möglichkeit, die Client Zugriffe von OWA auf den Exchange 2007 umzuleiten, wenn das Postfach noch nicht migriert wurde. Der Exchange 2010 CAS Server liefert dem TMG dann einen 302 (Permanent redirect) und liefert den URL String zurück, wohin der Client sich connecten soll an den Browser. (ExternalURL am Exchange 2007 kann gesetzt werden, diese URL muss aber auch öffentlich erreichbar sein.)
Beispiel: Public OWA URL lautet: https://owa.firma.tdl/owa Am TMG werden diese Anfragen an den Exchange 2010 CAS geroutet. Der Exchange 2010 CAS stellt fest, dass das Postfach auf Exchange 2007 liegt und sucht den Exchange 2007 CAS Server, der die gleiche Authentifizierung hat um die Anfrage dorthin umzuleiten. Wenn in am Exchange 2007 CAS in der ExternalURL kein Eintrag steht, wird der InternalURL Eintrag verwendet.
Problem: Dieser ist typischerweise nicht veröffentlicht, weil es der Hostname des CAS Servers ist.
Problem2: In der ExternalURL kann eine öffentliche URL angegeben werden, die dann auch über den TMG geroutet werden müssen. Der User sieht in seinem Browser dann auch die „alte“ URL und nicht die von ihm eingegebene OWA-Adresse.
Problem3: Im Zertifikat muss auch die „alte“ URL eingetragen sein.

Lt. diesem Artikel: http://technet.microsoft.com/en-us/library/bb310763.aspx wird Proxying zwischen Exchange 2010 CAS und Exchange 2007 CAS nicht unterstützt.

Important:
An Exchange 2010 Client Access server will never proxy Outlook Web App requests to an Exchange 2007 Client Access server in the same Active Directory site. All requests within the same Active Directory site are redirected to an Exchange 2007 Client Access server, using either the InternalURL or ExternalURL properties for Client Access server, depending on which properties are configured.

 

Das gefällt mir so nicht, weshalb ich am TMG gerne zwei Regeln für OWA eintrage. Eine Regel für Exchange 2010 Mailboxen, eine weitere Regel für Exchange 2007 Mailboxen.

Die Reihenfolge der Regeln ist wichtig. Erst die Exchange 2010 Mailbox-Regel, danach die Exchange 2007 Mailboxregel. In der Exchange 2010 Mailboxregel wird dann eine Gruppenmitgliedschaft abgefragt. Trifft die Mitgliedschaft zu, dann zieht die Exchange 2010 Mailboxregel, trifft die Mitgliedschaft nicht zu, dann zieht die Exchange 2007 Regel.

Ja, dazu ist es nötig, migrierte User in die Gruppe für Exchange 2010 Mailboxen aufzunehmen. Da ich zu 90% Migrationen mache, die per Script ablaufen, ist es kein Problem, beim Erzeugen des Move-Requests auch die Gruppenmitgliedschaft zu pflegen.

Vorteil1: Der User sieht in seiner Adresszeile immer „seine“ OWA-URL die er auch eingegeben hat,
Vorteil2: Das Zertifikat kann weiterverwendet werden.
Vorteil3: Der interne Name des Exchange 2007 Servers muss nicht veröffentlicht werden.

Wenn die Migration erledigt ist, lösche ich einfach die Exchange 2010 Mailbox-Gruppe und passe die Regel am TMG an.
Teilweise verwenden die Kunden jedoch die Gruppe weiter, um den Active-Directory-Administratoren eine einfache Möglichkeit zu bieten, den Zugriff auf OWA per Gruppenmitgliedschaft zu steuern. Es muss dann keine Exchange Konsole gestartet werden um OWA zu regelemntieren.

Es gibt sicherlich auch weitere/andere Lösungen, aber mit dieser Lösung bin ich bisher ganz gut gefahren.

Matthias

Exchange 2007 nach Exchange 2010 Migration FreeBusy-View-Option-Fehlermeldungen

Im Anwendungslog steht folgender Fehler:

Details
Product: Exchange
Event ID: 4002
Source: MSExchange Availability
Version: 8.0
Symbolic Name: ProxyWebRequestFailed
Message: Process %1: %2 failed. Caller SIDs: %3. The exception returned is %4. Make sure that Active Directory site/forest containing the user mailbox has at least one local Exchange 2007 server running Exchange Availability service. Turn up logging for MSExchange Availability service and test basic network connectivity.
 

Im Text kommt zus. folgender Text vor: FreeBusyViewOptions.TimeWindow is too long.

Auf den CAS 2007 Servern muss im IIS folgender Eintrag hinzugefügt werden:

Expand the Default Website
Select the EWS virtual directory.
Double click Applciation Settings
Add a new application value:
Name: maximumQueryIntervalDays
Value: 62
Click OK..

Make the change on all the 2007 CAS servers. You should see the 4002 event go away.

Exchange 2010 Restore Mailbox Step by Step

Als Gedächtnisstütze hier mal die vorgehensweise wie ein Postfach oder Postfachinhalte aus der RDB (Recovery Datenbank) wiederhergestellt wird:

  • Recovery DB anlegen:

http://technet.microsoft.com/en-us/library/ee332321.aspx

New-MailboxDatabase -Recovery -Name RDB2 -Server EX2010MBXServer  -EdbFilePath „D:\MDBDATA\RDB\DB\RDB2.EDB“ -LogFolderPath „D:\MDBDATA\RDB\LOG“

  • Restore der Datenbank mit dem Backup-Programm in die RDB durchführen (dauert je nach DB Größe sehr lange)

Vorgehen bei TSM:
Beim TSM muss das Restore-Ziel ausgewählt werden, sonst steht nämlich die original Datenbank drinnen, was nicht so gut ist. Passiert nichts, geht aber auch nicht und die Zeit kann man sich sparen.
Restore mit Logfiles (das TSM macht den RollForward in der RDB) und den ESEUtil um einen Cleantshutdown zu haben.
Andere Backuplösungen:
<wird bei Erfahrung gefüllt, bzw. lasst mich wissen, worauf bei anderen Lösungen geachtet werden muss>

  • Daten wiederherstellen

Restore Data Using a RDB:
http://technet.microsoft.com/en-us/library/ee332351.aspx
New-MailboxRestoreRequest: http://technet.microsoft.com/de-de/library/ff829875.aspx

Wichtig:
The database must be in a clean shutdown state. Because an RDB is an alternate restore location for all databases, all restored databases will be in a dirty shutdown state. You can use Eseutil /R to put the database in a clean shutdown state.
Get-MailboxStatistics -Database RecoveryDB.
–> Das hat TSM für uns erledigt, ansonsten von Hand die DB in einen Clean Shutdown versetzen.

  • Inhalt der RDB ansehen/Mailbox GUID ermitteln

Die Mailbox-GUID ermitteln mit: Get-MailboxStatistics -Database „Archiving Database 1“ | list displayname,identity
(MailboxGUID in Zwischenablage kopieren)

  • Komplettes Postfach zurückspielen

New-MailboxRestoreRequest -SouceDatabase DB1 -SourceStoreMailbox 1d20855f-fd54-4681-98e6-e249f7326ddd -TargetMailbox Scott
(Hier die Mailbox GUID eintragen)

  • Oder Teile aus einem Postfach zurückspielen (Unterordner, Kalender, o.ä.)

New-MailboxRestoreRequest -SourceDatabase Recoverydb -SourceStoreMailbox „GUID for DB“ -TargetMailbox „usern name“ -TargetRootFolder „foldertorestoreto
Mailboxguid “801f870d-1ef2-4326-97f9-7bc475df055b”
(Exchange 2010 RTM:
Restore-Mailbox -Identity „Alex Heyne“ -RecoveryDatabase RecoveryDB -RecoveryMailbox „Alex Heyne“ -TargetFolder Restore
)

  • Beispiel um den Inhalt des Postfaches in einen Unterordner zurückspielen (Mailbox Limits beachten!)

New-MailboxRestoreRequest -SourceDatabase RDB2 -SourceStoreMailbox 801f870d-1ef2-4326-97f9-7bc475df055b –TargetMailbox thomas.mustermann@parmalat.nz.com -TargetRootFolder „Restore vom 27.01.2012“
“801f870d-1ef2-4326-97f9-7bc475df055b”

 

Exchange 2010 Outlook Anywhere Windows XP does not connect

Outlook verwendet für den Zugriff auf Outlook Anywhere (RPCoverHttp) immer die RPC Komponente des Betriebssystems.

Hier gibt es zwischen Windows XP und Vista/Windows 7 Unterschiede im Verhalten.

Ein Grund, warum Windows XP sich nicht verbinden kann, könnte auch an einer Veröffentlichungsregel im TMG liegen. In einer Konstellation, wenn mehrere CAS Server verwendet werden (NLB Verbund), dann werden diese als Web-Farm im TMG als Ziel eingetragen.

Hier gibt es einen Load Balancing Mechanismus, der entweder Cookie Based oder Source IP Based eingetragen wird.

– Cookie Based für genattete Umgebungen, d.h. am TMG kommen alle mit der gleichen IP an
– Source IP Based, d.h jeder Client kommt mit seiner IP an

Problem bei Cookie Based: Windows XP kann damit nicht umgehen. Das bedeutet, es geht für Windows XP nur mit Source IP.

Was aber passiert, wenn die externen Clients genattet sind und alle mit der gleichen IP ankommen? Das funktioniert grundsätzlich auch mit Source IP Routing, jedoch ist dann kein Load Balancing mehr gegeben. D.h. man MUSS NAT auf Source Transparent Routing umstellen.

Wenn es nicht daran lag, dann treffen vielleicht die vielen anderen Artikel, die bei google zu finden sind, zu.

 

 

Exchange Active Sync geht nicht bei Benutzeraccounts die Mitglied in Admingruppen sind

Exchange Active Sync funktioniert nicht, wenn die Vererbung bei diesen Usern unterbrochen ist.
Inherit from parent aktivieren, dann geht es wieder….

der AdminSDHolder Background Prozess läuft alle 60 Minuten im Hintergrund und ändern die Berechtigungen auf dem/den Objekt/en

http://technet.microsoft.com/en-us/magazine/2009.09.sdadminholder.aspx

http://technet.microsoft.com/en-us/library/dd439375(EXCHG.80).aspx

Update: So können die Accounts ermittelt werden, welche unter Kontolle durch den AdminSDHolder fallen:

Get-ADUser -LDAPFilter „(objectcategory=person)(samaccountname=*)(admincount=1)“|ft

Das Attribut admincount auf 0 setzen und anschließend die Vererbung der Rechte aktivieren. Generell sollten Admin Accounts nicht Mailenabled sein. Dafür hat man doch seinen Standard Account!

 

Exchange 2010/2013 Build Version ermitteln

Für Exchange 2010 sind die Versionen hier aufgeführt: (http://social.technet.microsoft.com/wiki/contents/articles/exchange-server-and-update-rollups-builds-numbers.aspx)

Für Exchange 2013 sind die Versionen hier aufgeführt: (http://social.technet.microsoft.com/wiki/contents/articles/15776.exchange-server-2013-and-cumulative-updates-cus-build-numbers.aspx ) Mit diesem Statement kann die Version des Exchangeservers ermittelt werden (PowerShell)

GCM exsetup |%{$_.Fileversioninfo}

Alternativ können alle Server abgefragt werden:

Get-ExchangeServer | Sort-Object Name | ForEach{ Invoke-Command -ComputerName $_.Name -ScriptBlock { Get-Command ExSetup.exe | ForEach{$_.FileVersionInfo } } } | Format-Table -Auto

 

Exchange 2010 Out of Office / MailboxAutoReplyConfiguration

In Exchange 2010 gibt es nun die Möglichkeit, den Abwesenheitsassistenten (OOF Out of Office) zentral zu steuern. Das ist sehr hilfreich, wenn man sich nicht Vollzugriff auf das Benutzerpostfach aneigenen möchte – nur um den Abwesenheitsassistenten zu aktivieren.
Damit das auch durch den Helpdesk bedient werden kann, habe ich da mal eine GUI außen herum gebastelt….
Matthias

Exchange 2010 SP1 Auto Shared Postfach Mapping

Aus der Exchange 2010 EMC kann auf ein Postach relativ einfach das Recht Full Access gesetzt werden (Manage Full Access Permissions). Durch verwenden der Konsole wird in diesem Postfach das Attribut 

msExchDelegateListLink

mit dem DistinguishedNamen des Berechtigen Users gefüllt. Damit wird dem User beim Starten seines Outlooks automatisch dieses Postfach hinzugemappt, auf dem er Vollzugriff hat.

Feine Sache – wenn man es möchte. Durch entfernen des DN in diesem Attribut kann man steuern, ob das Postfach automatisch gemappt werden soll.

Steve Goodman hat auch einen ausführlichen Artikel dazu geschrieben.