Outlook 2010: Autodiscover und lokales XML File

Damit Outlook keinen Autodiscover zur Ermittlung des Exchange Servers ausführen muss, kann man die XML Datei mit den Informationen auch lokal oder in einem Share ablegen.

Dazu gibt es einen RegKey: (Die Version z.B. 12.0 ist entsprechend der Outlook Version anszupassen! 12.0 = Outlook 2007, 14.0 = Outlook 2010)

HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\AutoDiscover
Name: YourDomain.COM
Registry type: REG_SZ
Data: \\Server\share\folder\autodiscover.xml    oder C:\Userdaten\Autodiscover\…\autodiscover.XML

Und damit wird Outlook gezwungen, das lokale XML File zu verwenden. Es werden dann keine ADS/DNS Anfragen gestartet, sondern ausschließlich das lokale XML File verwendet.

Name: PreferLocalXML
Registry type: REG_DWORD
Data: 1

 

Das XML File muss dann wie folgt aufgebaut sein:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<p style="padding-left: 30px;"><span style="color: #339966;">&lt;?xml version="1.0" encoding="utf-8"?>
<autodiscover xmlns="<http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
<response xmlns="<http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
<account>
<accounttype>email</accounttype>
<action>;Settings</action>
<protocol>
<type>EXCH</type>
<server><strong><span style="color: #ff0000;">https://fqdn.yourdomain.com</span></strong></server>
</protocol>
</account>
</response>
</autodiscover></span>
</p>

 

Weiterhin gibt es auch noch die RegKeys, die bestimmte Abfragen des Clients von vorne herein deaktivieren. Damit kann man u.U. den Autodiscover Prozess etwas beschleunigen.

Unter dem RegKey

HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\AutoDiscover

können folgende Einträge verwendet werden:

ExcludeHttpRedirect: dword: 0
ExcludeHttpsAutodiscoverDomain: dword: 0
ExcludeHttpsRootDomain: dword :0
ExcludeScpLookup: dword: 0
ExcludeSrvLookup: dword: 0
ExcludeSrvRecord: dword: 0

 

(Weitere Infos zum Autodiscover: http://technet.microsoft.com/de-de/library/cc511507(v=office.14).aspx)

 

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.

Windows Server 2008 R2 Zeitserver einrichten

1.) net stop w32time

2.) w32tm /config /syncfromflags:manual /manualpeerlist:“<server>,0x8″

3.) w32tm /config /reliable:yes

4.) net start w32time

Update: 2013-06-20: Wenn eine Fehlermeldung kommt, dass der Zugriff verweigert ist (0x80070005), dann hilft es wenn

– net stop w32time
– w32tm /unregister
– w32tm /register
– net start w32time

ausgeführt wird.

Wichtig: Auch wenn beim /unregister eine Fehlermeldung kommt hat er den Dienst entfernt.

Windows Server 2008 R2 „User Profile Service“ Event ID 1511 und Anwender hat nur temp. Profil

Hin und wieder kommt es vor, dass ein User nur ein temporäres Profil bekommt, wenn er sich am Windows Server 2008 R2 anmeldet.
Beim Anmelden bekommt der User keine Meldung, im Eventlog steht ein Fehler, dass der UPS kein Profil erstellen konnte. Event ID 1511 wird geloggt.

Mit der UAC hat es nichts zu tun, da andere User ja ein Profil bekommen.
Damit der User wieder ein Profil bekommt, muss in der Registry unter

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList die SID des Users gelöscht werden.

Häufig ist die SID am Ende mit .bak gekennzeichnet.

Eine mögliche Ursache kann sein, dass ein Benutzerprofil manuell gelöscht wurde. Dann bleibt die SID in der ProfileList zurück und macht später Probleme.

Matthias

 

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

Emergency Admin Manager (EAM) Version 3.0 released

25.07.2012: Ab sofort steht der EAM v3.0 zur Verfügung.

Was ist eigentlich EAM?
Stellen Sie sich vor, Sie sind mit Ihrem Notebook/Computer häufig ausserhalb ihres Unternehmens unterwegs und müssen dringend auf Ihrem Rechner einen Druckertreiber, USB Treiber oder Software installieren, haben aber wegen Firmenrichtlinien keine Admin-Rechte auf Ihrem PC.
Viele Unternehmen vergeben keine lokalen Adminrechte mehr auf den PCs um höhere Sicherheitsanforderungen zu erfüllen.
Der Helpdesk kann Ihnen nicht helfen, weil er das Kennwort des lokalen Administrators entweder nicht kennt oder nicht herausgeben darf.

Sie haben dann vor Ort keine Möglichkeit, Ihre Arbeit fortzusetzen und müssen im schlimmsten Fall ins Unternehmen zurück, wo Ihnen die Administration den entsprechenden Treiber oder die passende Software installieren kann.

Dabei wäre es doch so einfach! Mit dem EAM kann Ihnen der Helpdesk noch während des Telefongesprächs einen Benutzernamen und Kennwort für Ihren PC nennen, mit dem Sie sich als Administrator anmelden können. Dieses Kennwort können Sie so lange verwenden, bis Sie mir Ihrem Computer wieder eine Verbindung zu Ihrem Netzwerk herstellen. Dann wird das Kennwort auf einen neuen Wert geändert, der verschlüsselt im Active Directory gespeichert wird.
Somit ist das lokale Benutzerkonto wieder sicher und die Richtlinien werden eingehalten.

Das Beste dabei ist – auf dem PCs wird keine Software installiert! Sämtliche Aufgaben werden zentral von Domaincontrollern aus gesteuert.
Dazu zählt
– vorbereiten des Computers (Prepare)
– Kennwort zurücksetzen (Reset)
– Benachrichtigung der Administration/Helpdesk (Notify)
– Logging über Veröffentlichungen und Rücksetzungen von Kennwörtern (Logging)

Die intuitiv zu bedienende Benutzeroberfläche wird über das Kontextmenü direkt aus dem Active Directory heraus gestartet.

Seit der Version 3.0 können Sie nun auch einen Microsoft SQL Server als Speicherort für die Computerdaten und Kennwörter verwenden.

Hier einige Screenshots vom EAM:
1.) Ein Computer mit geschütztem Benutzername und Kennwort

2.) Die Historie eines Computers lässt sich mit einem Click einsehen. Wann wurde ein Kennwort veröffentlicht, wann zurückgesetzt, wer war es

3.) Wenn ein Passwort veröffentlicht wird (wiederholt sichtbar machen), wird dies Protokolliert und dann das Kennwort in Klartext angezeigt.

4.) Der Helpdesk oder Administratoren können über jede Aktion per Mail benachrichtigt werden
4.1) Kennwort wird veröffentlicht

4.2) Kennwort wurde durch das System (Domaincontroller) zurückgesetzt

4.3) Account an einem Computer wurde erzeugt

Bei Fragen zum EAM oder anderen dynatools wie LAM, NRM oder ASM, einfach eine kurze Nachricht an mich! Oder kuckt auch mal unter www.dynatools.de rein.
Dann gibt’s den direkten Kontakt zum Entwickler. 🙂
Demoversionen können auch bei mir angefragt werden.

Matthias

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!

 

Windows Server 2008 R2 LDAP Authentication squid proxy

Artikel von Microsoft: http://technet.microsoft.com/en-us/library/cc816788%28v=ws.10%29.aspx

Allow Anonymous LDAP Binding to an AD LDS Instance

Active Directory Lightweight Directory Services (AD LDS) does not accept anonymous bind requests by default. You can use this procedure to enable anonymous Lightweight Directory Access Protocol (LDAP) operations in AD LDS. However, you must set the seventh character of the dsHeuristics value to 2. In addition, assign permissions so that anonymous users have access to the appropriate objects in the directory. To grant the Read permission on all objects in a given directory partition to anonymous users, you can simply add the built-in security principal Anonymous (from the local computer) to the Readers group on that directory partition.

Membership in Administrators, or equivalent, is the minimum required to complete this procedure. Review details about using the appropriate accounts and group memberships at Local and Domain Default Groups (http://go.microsoft.com/fwlink/?LinkId=83477).
To allow anonymous LDAP binding to an AD LDS instance

Click Start, point to Administrative Tools, and then click ADSI Edit.

Connect and bind to the configuration directory partition of the AD LDS instance on which you want to allow anonymous LDAP binding. For more information, see Manage an AD LDS Instance Using ADSI Edit.

In the console tree, double-click the configuration directory partition (CN=Configuration,CN={GUID}), double-click the services container (CN=Services), double-click the Windows NT container (CN=Windows NT), right-click the directory service container (CN=Directory Service), and then click Properties.

In Attributes, click dsHeuristics, and then click Edit.

In Value, modify the value of the seventh character in the attribute (counting from the left) to 2, as follows:

0000002001001

Click OK twice.

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!