<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>faq-o-matic.net &#187; AD-Schema</title>
	<atom:link href="http://www.faq-o-matic.net/kategorien/active-directory/ad-schema/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.faq-o-matic.net</link>
	<description>Das Autoren-Blog der IT-Community</description>
	<lastBuildDate>Wed, 08 Feb 2012 05:07:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Video: Active Directory als Datenspeicher?</title>
		<link>http://www.faq-o-matic.net/2011/02/09/video-active-directory-als-datenspeicher/</link>
		<comments>http://www.faq-o-matic.net/2011/02/09/video-active-directory-als-datenspeicher/#comments</comments>
		<pubDate>Wed, 09 Feb 2011 06:44:00 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[AD-Schema]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[Webcast]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/2011/02/09/video-active-directory-als-datenspeicher/</guid>
		<description><![CDATA[Das Schema ist das R&#252;ckgrat des Active Directory: Es definiert die Datenfelder und Objekttypen, die das Verzeichnis kennt. Damit entscheidet es dar&#252;ber, welche Daten man in AD ablegen kann. Manipulationen des Schema k&#246;nnen sich gravierend auswirken, wenn sie falsch laufen: Es droht nicht weniger als der komplette Datenverlust. Aber wie empfindlich ist das Schema wirklich? [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2008/08/30/ice2008-active-directory-als-datenspeicher-die-folien/' rel='bookmark' title='\\ice:2008: Active Directory als Datenspeicher? Die Folien'>\\ice:2008: Active Directory als Datenspeicher? Die Folien</a> <small>Wie eben gerade im Vortrag versprochen &#8211; hier sind die...</small></li>
<li><a href='http://www.faq-o-matic.net/2009/09/07/video-tutorial-active-directory-object-recovery/' rel='bookmark' title='Video-Tutorial: Active Directory Object Recovery'>Video-Tutorial: Active Directory Object Recovery</a> <small>Hinweis: Bei den hier verlinkten Videos handelt es sich (weitgehend)...</small></li>
<li><a href='http://www.faq-o-matic.net/2006/08/23/technet-webcast-active-directory-richtig-sichern-und-wiederherstellen/' rel='bookmark' title='TechNet-Webcast: Active Directory richtig sichern und wiederherstellen'>TechNet-Webcast: Active Directory richtig sichern und wiederherstellen</a> <small>Am 23. August 2006 habe ich f&uuml;r Microsoft TechNet einen...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Das Schema ist das R&uuml;ckgrat des Active Directory: Es definiert die Datenfelder und Objekttypen, die das Verzeichnis kennt. Damit entscheidet es dar&uuml;ber, welche Daten man in AD ablegen kann. Manipulationen des Schema k&ouml;nnen sich gravierend auswirken, wenn sie falsch laufen: Es droht nicht weniger als der komplette Datenverlust. Aber wie empfindlich ist das Schema wirklich? Welche Daten k&ouml;nnen Sie in AD speichern und welche nicht? Was sollte man beachten, wenn man das Schema erweitern will? Und wie kann man hinterher die neuen Datenfelder nutzen? </p>
<p>Ein Video mit viel Praxis-Demo, das die wichtigsten Kenntnisse zur Datenbankstruktur des Active Directory vermittelt.</p>
<p>  <span id="more-2958"></span>
<p>Das folgende Video wurde vor einem Jahr anl&auml;sslich des f&uuml;nften Geburtstags von faq-o-matic.net aufgezeichnet. Aufgrund technisch-organisatorischer Probleme konnten wir es damals leider nicht ver&ouml;ffentlichen. Da sich an der Aktualit&auml;t aber nichts ge&auml;ndert hat, holen wir das jetzt nach.</p>
<p> <iframe height="225" src="http://player.vimeo.com/video/19637424" frameborder="0" width="400"></iframe>
<p><a href="http://vimeo.com/19637424">Active Directory als Datenspeicher?</a> von <a href="http://vimeo.com/faqomatic">Nils Kaczenski</a> auf <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Die Folien zu dem gleichnamigen Vortrag auf der ice:2008, der dem Video zugrundeliegt, finden sich hier:</p>
<p>[faq-o-matic.net » \\ice:2008: Active Directory als Datenspeicher? Die Folien]    <br /><a href="http://www.faq-o-matic.net/2008/08/30/ice2008-active-directory-als-datenspeicher-die-folien/">http://www.faq-o-matic.net/2008/08/30/ice2008-active-directory-als-datenspeicher-die-folien/</a></p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2008/08/30/ice2008-active-directory-als-datenspeicher-die-folien/' rel='bookmark' title='\\ice:2008: Active Directory als Datenspeicher? Die Folien'>\\ice:2008: Active Directory als Datenspeicher? Die Folien</a> <br /><small>Wie eben gerade im Vortrag versprochen &#8211; hier sind die...</small></li>
<li><a href='http://www.faq-o-matic.net/2009/09/07/video-tutorial-active-directory-object-recovery/' rel='bookmark' title='Video-Tutorial: Active Directory Object Recovery'>Video-Tutorial: Active Directory Object Recovery</a> <br /><small>Hinweis: Bei den hier verlinkten Videos handelt es sich (weitgehend)...</small></li>
<li><a href='http://www.faq-o-matic.net/2006/08/23/technet-webcast-active-directory-richtig-sichern-und-wiederherstellen/' rel='bookmark' title='TechNet-Webcast: Active Directory richtig sichern und wiederherstellen'>TechNet-Webcast: Active Directory richtig sichern und wiederherstellen</a> <br /><small>Am 23. August 2006 habe ich f&uuml;r Microsoft TechNet einen...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2011/02/09/video-active-directory-als-datenspeicher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AD-Schemaerweiterung: Ein paar Hinweise</title>
		<link>http://www.faq-o-matic.net/2009/04/08/ad-schemaerweiterung-ein-paar-hinweise/</link>
		<comments>http://www.faq-o-matic.net/2009/04/08/ad-schemaerweiterung-ein-paar-hinweise/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 19:37:17 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[AD-Schema]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/2009/04/08/ad-schemaerweiterung-ein-paar-hinweise/</guid>
		<description><![CDATA[Viele komplexe Applikationen integrieren sich in Active Directory (AD). Einige davon legen dort auch Konfigurationsdaten ab, beispielsweise Exchange oder Ciscos Call Manager. Zu diesem Zweck erweitern sie das Schema des AD, also die Definition der Datenbank: Sie legen neue Attribute (Datenfelder) und meist auch neue Objektklassen an, die den Aufbau bestimmter Objekte beschreiben. Doch auch [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2011/02/11/hinweise-zu-sp1-fr-windows-server-2008-r2-und-hyper-v/' rel='bookmark' title='Hinweise zu SP1 f&uuml;r Windows Server 2008 R2 und Hyper-V'>Hinweise zu SP1 f&uuml;r Windows Server 2008 R2 und Hyper-V</a> <small>Das Service Pack 1 f&uuml;r WIndows Server 2008 R2 steht...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/10/08/den-ie6-berwinden-hinweise-auf-der-eigenen-webseite/' rel='bookmark' title='Den IE6 &uuml;berwinden &ndash; Hinweise auf der eigenen Webseite'>Den IE6 &uuml;berwinden &ndash; Hinweise auf der eigenen Webseite</a> <small>Microsoft f&uuml;hrt eine Reihe von Kampagnen durch, um endlich den...</small></li>
<li><a href='http://www.faq-o-matic.net/2003/10/17/wo-finde-ich-eine-dokumentation-des-ad-schemas/' rel='bookmark' title='Wo finde ich eine Dokumentation des AD-Schemas?'>Wo finde ich eine Dokumentation des AD-Schemas?</a> <small>Folgende sind die einfachsten M&ouml;glichkeiten: Untersuche das Schema mit dem...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://vg01.met.vgwort.de/na/24d87e7ca51c45fcb256aa16609979dc" alt="" width="1" height="1" align="left" />Viele komplexe Applikationen integrieren sich in Active Directory (AD). Einige davon legen dort auch Konfigurationsdaten ab, beispielsweise Exchange oder Ciscos Call Manager. Zu diesem Zweck erweitern sie das Schema des AD, also die Definition der Datenbank: Sie legen neue Attribute (Datenfelder) und meist auch neue Objektklassen an, die den Aufbau bestimmter Objekte beschreiben. Doch auch Windows selbst &auml;ndert bisweilen das AD-Schema, vor allem bei der Aufnahme von Dom&auml;nencontrollern mit neuen Betriebssystemversionen (etwa Windows Server 2003, 2008 oder die jeweiligen R2-Versionen). Selbst WIndows Vista kann eine Schemaerg&auml;nzung erfordern, wenn man die Schl&uuml;ssel f&uuml;r die Festplattenverschl&uuml;sselung BitLocker in AD ablegen m&ouml;chte.</p>
<p>Derartige Manipulationen des Schemas haben eins gemeinsam: Sie sind von ihren Herstellern sorgf&auml;ltig entworfen und entwickelt worden, und nat&uuml;rlich hat es intensive Tests gegeben. In solchen F&auml;llen darf der geneigte Admin also darauf vertrauen, dass die Schemaerweiterung selbst in Ordnung ist. Anders kann es aussehen, wenn ein Anwenderunternehmen selbst Erg&auml;nzungen am AD-Schema ausf&uuml;hren m&ouml;chte. Solche Anforderungen lassen sich sinnvoll umsetzen, wenn man sich intensiv mit der Materie besch&auml;ftigt und die passende Sorgfalt bei Entwurf und Entwicklung walten l&auml;sst. Hintergr&uuml;nde dazu finden sich verstreut, aber durchaus umfassend auf Microsofts Webseiten.</p>
<p>Im Folgenden geht es um “fertige” Schema-&Auml;nderungen, also im Regelfall solche der erstgenannten kommerziellen Art. Trotz der sorgf&auml;ltigen Entwicklung sollte man einige Dinge ber&uuml;cksichtigen, damit das Upgrade sauber und sicher funktioniert.</p>
<p><span id="more-1229"></span></p>
<h3>Wie kritisch ist eine Schemaerweiterung?</h3>
<p>Allenthalben ist die Warnung zu lesen: Das Schema ist das R&uuml;ckgrat des Active Directory. Eine fehlerhafte &Auml;nderung kann den Verzeichnisdienst empfindlich st&ouml;ren. Daher wird zu gr&ouml;&szlig;ter Sorgfalt geraten. Was ist dran?</p>
<p>Generell gesprochen, sind die Einordnung und die Warnung richtig. Das Schema legt &uuml;ber Attribute und Objektklassen fest, welche Daten wie im Verzeichnis abgelegt werden. Ein besch&auml;digtes Schema <em>kann</em> daher durchaus das ganze AD lahmlegen. Ein Beispiel: Ein Unternehmen erweitert das Schema, um bei allen Benutzern die Schuhgr&ouml;&szlig;e zu speichern. F&uuml;r die meisten “User”-Objekte wird die Schuhgr&ouml;&szlig;e dann auch gepflegt. Sp&auml;ter entf&auml;llt der Bedarf f&uuml;r diese Daten, und ein Admin entschlie&szlig;t sich kurzerhand, die Erweiterung “Schuhgr&ouml;&szlig;e” zu deaktivieren (denn: L&ouml;schen kann man Attribute und Klassen nicht). Was passiert? Fast alle “User”-Objekte enthalten nun Daten f&uuml;r ein Attribut, das gar nicht aktiv ist. Diese Objekte sind also fehlerhaft. Eine solche &Auml;nderung am Schema h&auml;tte man also anders durchf&uuml;hren m&uuml;ssen: Erst das L&ouml;schen aller betroffenen Attributwerte, dann das Deaktivieren des Attributs.</p>
<p>Ein anderes Beispiel: Ein Unternehmen beschlie&szlig;t, bestimmte Daten in AD abzulegen. Dazu erzeugt es einige Attribute und Klassen, &uuml;bersieht aber die Notwendigkeit, dies auf eine bestimmte strukturierte Weise zu tun. Die “Object ID”, die das Unternehmen verwendet, hat es nicht vorher registriert und auch nicht gepr&uuml;ft. Eigentlich geh&ouml;rt diese ID einem anderen Unternehmen, das Software herstellt. Sp&auml;ter entschlie&szlig;t das erste Unternehmen, eine Software des zweiten Unternehmens einzusetzen. Leider bricht die daf&uuml;r n&ouml;tige Schemaerweiterung ab: Die vorgesehene Object ID ist bereits in Benutzung – durch die eigenm&auml;chtige Erweiterung des Anwenderunternehmens.</p>
<p>Das sind zwei Szenarien, die sich durch Planung verhindern lassen. Es gibt aber auch technische Ausf&auml;lle – etwa dass eine Schemaerweiterung mittendrin abbricht. Ist nun das Schema unbrauchbar?</p>
<p>Nein, sehr wahrscheinlich ist das nicht der Fall. Active Directory arbeitet transaktional: Eine &Auml;nderung an Daten wird immer vollst&auml;ndig oder gar nicht ausgef&uuml;hrt. F&auml;llt also der Strom aus, w&auml;hrend AD gerade dabei ist, ein neues Attribut zu definieren, so wird beim n&auml;chsten Serverstart diese begonnene &Auml;nderung widerrufen. Aber: Das betrifft immer nur die laufende Transaktion, im Beispiel also dieses eine Attribut. Die anderen Attribute, die dieselbe Schemaerweiterung vorher bereits definiert hatte, bleiben im AD-Schema.</p>
<p>Was nun? AD enth&auml;lt einige, aber nicht alle Erweiterungen, die f&uuml;r die jeweilige Applikation n&ouml;tig sind. Die Applikation wird also wohl nicht laufen. Das AD selbst ist in seiner Funktion aber ziemlich sicher nicht eingeschr&auml;nkt, denn es gibt nur einige Daten mehr als sonst, die aber andere Applikationen nicht st&ouml;ren. G&uuml;nstigenfalls l&auml;sst sich die Schemaerweiterung der neuen Applikation einfach neu starten (siehe unten) und l&auml;uft dann zum Ende durch. Aber: Eine Garantie daf&uuml;r gibt es nicht!</p>
<p>Zu diesem Fall gibt es aber nat&uuml;rlich auch Ausnahmen: Man kann das Schema n&auml;mlich nicht nur um neue Eintr&auml;ge erweitern, sondern auch vorhandene Eintr&auml;ge modifizieren. H&auml;ngt eine solche Modifikation von anderen Eintr&auml;gen ab, die aufgrund eines Abbruchs gar nicht vorhanden sind, wird es vermutlich Probleme geben. In solch einem Fall ist der Support des Herstellers einzuschalten.</p>
<h3>Die Grenzen</h3>
<p>Es gibt zwei faktisch unverr&uuml;ckbare Grenzen, die man bei der Manipulation des AD-Schema kennen sollte:</p>
<ul>
<li>Eine Erweiterung l&auml;sst sich nicht r&uuml;ckg&auml;ngig machen. Vorhandene Attribute und Klassen kann man nicht l&ouml;schen.<br />
Zwar kann man Klassen oder Attribute deaktivieren, sodass sie k&uuml;nftig nicht nutzbar sind. Entfernen kann man sie aber nicht.</li>
<li>Es gibt kein Rollback und kein “Authoritative Restore” des Schema.<br />
Die Methoden, mit denen man “normale” AD-Eintr&auml;ge aus einem Backup wiederherstellen kann, greifen beim Schema nicht.</li>
</ul>
<h3>Bedarf kl&auml;ren</h3>
<p>Auch beim Einsatz einer kommerziellen Applikation sollten die Zust&auml;ndigen genau pr&uuml;fen, ob sie das Programm und seine Schema-Manipulation wirklich ben&ouml;tigen. Stellt sich nach dem Update heraus, dass man die Applikation doch nicht nutzen will, hat man unn&ouml;tige “Altlasten” im System. Diese sind zwar normalerweise nicht kritisch, k&ouml;nnen sich aber in Einzelf&auml;llen als Problem auswirken (siehe obige Diskussion).</p>
<p>Eine Warnung in diesem Zusammenhang vor Beta-Software: Entwicklungsversionen einer Software haben in einem produktiven Netzwerk nichts zu suchen. Eine Schemaerweiterung l&auml;sst sich nicht r&uuml;ckg&auml;ngig machen. Neben dem “Altlast”-Problem k&ouml;nnen auch handfeste Schwierigkeiten entstehen, wenn man etwa eine &uuml;berholte Fassung des Schemas betreibt, die vielleicht mit der Endversion inkompatibel ist.</p>
<h3>Eingangsuntersuchung</h3>
<p>F&uuml;r Anwendungen mit eingeschr&auml;nktem Support – also etwa Individualsoftware oder Eigenentwicklungen – gilt, dass man die &Auml;nderungen am Schema zun&auml;chst im Quelltext &uuml;berpr&uuml;fen sollte, sofern das m&ouml;glich ist. Eine Empfehlung f&uuml;r solche &Auml;nderungen ist, dass sie im LDIF-Format (LDAP Interchange Format) vorliegen und &uuml;ber das Windows-eigene Werkzeug ldifde.exe importiert werden sollten. Hat sich der Entwickler daran gehalten, so liegen die n&ouml;tigen Definitionen also als Textdateien vor, die man einer Inspektion unterziehen kann (bei Exchange etwa ist das der Fall).</p>
<p>Nun ben&ouml;tigt man f&uuml;r eine solche Analyse sehr tiefgehende Kenntnisse von der Materie und meist auch von der neuen Applikation. Nur selten werden Admins dar&uuml;ber verf&uuml;gen. Was man aber bei der Durchsicht tun kann:</p>
<ul>
<li>Pr&uuml;fen, ob die Dateien vollst&auml;ndig sind. Fehlen etwa Dateien bei fortlaufender Nummerierung der Dateinamen? Sind Dateien korrupt und unvollst&auml;ndig? In solchen F&auml;llen ist nat&uuml;rlich Ersatz anzufordern.</li>
<li>Notieren einiger &Auml;nderungen und Erg&auml;nzungen. Meist definieren Applikationen neue Attribute und Objekte. Hier kann man stichprobenartig einige Definitionen herauskopieren, damit man nach dem Update vergleichen kann, ob alles da ist. Oft gibt es aber auch &Auml;nderungen an bestehenden Definitionen (erkennbar im LDIF-Text an dem Schl&uuml;sselwort “modify”). Auch hier lohnen Ist-Soll-Vergleiche.</li>
<li>Nachpr&uuml;fen, ob die Erweiterungen evtl. schon vorhanden sind. Gerade bei “&auml;lteren” AD-Umgebungen, in denen vielleicht die Admins gewechselt haben, besteht oft keine Klarheit dar&uuml;ber, in welchem Zustand sich das Schema befindet. Die folgenden Artikel k&ouml;nnen bei der Identifikation helfen:</li>
<p>[faq-o-matic.net » José Active-Directory-Dokumentation: Version 2.0 ist fertig]<br />
<a href="http://www.faq-o-matic.net/2008/10/29/jos-active-directory-dokumentation-version-20-ist-fertig/">http://www.faq-o-matic.net/2008/10/29/jos-active-directory-dokumentation-version-20-ist-fertig/</a></p>
<p>[faq-o-matic.net » Schema-Versionen vergleichen]<br />
<a href="http://www.faq-o-matic.net/2007/10/21/schema-versionen-vergleichen/">http://www.faq-o-matic.net/2007/10/21/schema-versionen-vergleichen/</a></ul>
<h3>Test</h3>
<p>Ein Schema-Upgrade sollte man immer erst testen, bevor man es in der Produktionsumgebung ausf&uuml;hrt. Hierzu eignen sich virtuelle Umgebungen. Meist reicht eine einzelne VM aus, n&auml;mlich ein Dom&auml;nencontroller (DC), dessen Schema auf demselben Stand ist wie in der realen Welt – vor dem Upgrade nat&uuml;rlich.</p>
<p>In speziellen F&auml;llen kann es sinnvoll sein, wichtige Applikationen mit in die Testwelt zu holen, um deren Reaktion auf die &Auml;nderung zu pr&uuml;fen. Da allerdings eine Schemaerweiterung als solche die AD-Definition nur erweitert, ist sie Applikationen in der Regel egal, denn sie ignorieren die Objekte und Attribute einfach, die sie nicht interessieren. Anders sieht es aber bei &Auml;nderungen (modify) bestehender Attribute oder Klassen aus. Hier k&ouml;nnen durchaus Abh&auml;ngigkeiten bestehen. Normalerweise sollte der Applikationshersteller dar&uuml;ber aber Auskunft geben k&ouml;nnen.</p>
<p>Der Test selbst erfolgt im Wesentlichen nach demselben Verfahren wie die “echte” &Auml;nderung – siehe also unten. Der Testvorgang bezieht sich haupts&auml;chlich auf den Upgradeprozess: Welches Tool nutzt man und wie arbeitet es? L&auml;uft es klaglos durch? Ein erweiterter Test k&ouml;nnte darin bestehen, den Upgradevorgang mutwillig zu unterbrechen. Dann ist die spannende Frage: Kann man das Upgrade durch erneute Ausf&uuml;hrung fortsetzen? Die meisten Upgrade-Tools k&ouml;nnen das, einzelne aber nicht (das ADModify von Windows Server 2003/R2/2008/R2 etwa sollte man auf keinen Fall unterbrechen). Vielleicht l&auml;sst sich der Vorgang aber durch ein anderes Werkzeug wie ldifde.exe fortsetzen. Das ist dann gegeben, wenn die &Auml;nderungen selbst durch <em>.ldf</em>-Dateien ausgef&uuml;hrt werden. Mit dem Schalter –k weist man ldifde.exe an, seinen Import im Falle bereits bestehender Objekte fortzusetzen.</p>
<p>Um solche Teste mehrfach ausf&uuml;hren zu k&ouml;nnen, empfiehlt sich die Snapshot-Funktion der virtuellen Umgebung.</p>
<h3>Vorbereitung</h3>
<p>Waren Analyse und Test erfolgreich, geht es an die tats&auml;chliche Durchf&uuml;hrung in der Produktionsumgebung. Vorbereitend sollte man einige Dinge vollziehen:</p>
<ul>
<li>Datensicherung des AD: Um auf einen zwar unwahrscheinlichen, aber m&ouml;glichen Katastrophenfall reagieren zu k&ouml;nnen, f&uuml;hrt man f&uuml;r alle Dom&auml;nen des AD-Forest eine Datensicherung aus. Dabei ist auf jeden Fall der bordeigene “System State” zu nutzen, weil dies den gemeinsamen Nenner bei einem eventuellen Einsatz des Microsoft-Supports darstellt. Wer andere Werkzeuge zur AD-Datensicherung einsetzt, nutzt diese erg&auml;nzend.</li>
<li>Aufbau eines Plans zum Forest Recovery: Auch dies geh&ouml;rt zur Kategorie “unwahrscheinlich, aber unverzichtbar”. Geht die Sache wirklich schief, kann man gezwungen sein, aus den Datensicherungen den ganzen AD-Forest wieder aufzubauen. Das Konzept ist netzwerkspezifisch, eine allgemeine Anleitung kann man also kaum geben. Gute Orientierung bietet das Microsoft-Whitepaper:</li>
<p>[Download details: Forest Recovery]<br />
<a href="http://www.microsoft.com/downloads/details.aspx?familyid=afe436fa-8e8a-443a-9027-c522dee35d85&amp;displaylang=en">http://www.microsoft.com/downloads/details.aspx?familyid=afe436fa-8e8a-443a-9027-c522dee35d85&amp;displaylang=en</a></p>
<li>Identifizieren des Schema-Masters und der berechtigten Konten: Das Schema-Upgrade kann nur &uuml;ber den DC erfolgen, der die Schema-Master-Rolle h&auml;lt. Zudem muss das ausf&uuml;hrende Benutzerkonto Mitglied der Gruppe “Schema-Admins” sein.</li>
<li>Sicherstellen, dass die Replikation des AD ordnungsgem&auml;&szlig; funktioniert. Einen ersten Anhalt geben die Ereignisprotokolle der DCs. Weiteren Aufschluss geben der Replication Monitor (aus den Support Tools) sowie repadmin.exe (ebenfalls Support Tools).</li>
<li>Auswahl des Zeitpunkts: Zwar kann das Schema-Upgrade im laufenden Betrieb geschehen. Es ist aber meist sinnvoll, zumindest eine last&auml;rmere Zeit daf&uuml;r auszuw&auml;hlen. Vorsicht aber: Freitagabend ist meist keine gute Wahl, weil man dann bei einer Katastrophe am Wochenende wohl kaum schnell auf externen Support zur&uuml;ckgreifen kann.</li>
<li>Replikation: Wer eine Windows-2000-Dom&auml;ne aktualisiert, muss wissen, dass eine Schema&auml;nderung zu einer Komplettreplikation des ganzen AD &uuml;ber alle Dom&auml;nencontroller f&uuml;hrt. Hier sollte man also laststarke Zeiten vermeiden. Ab Windows Server 2003 passiert dies aber nicht mehr, sondern es wird nur repliziert, was sich wirklich ge&auml;ndert hat.</li>
</ul>
<h3>Jetzt wird’s ernst!</h3>
<p>Sind alle Vorbereitungen getroffen, kann es losgehen. <strong>Wichtig: </strong>Es ist zwar technisch m&ouml;glich, das Schema-Upgrade remote auszuf&uuml;hren, also von einem DC aus, der selbst gar nicht Schema-Master ist, oder gar von einem Client aus. Um aber zu verhindern, dass ein Netzwerkproblem zum Abbruch f&uuml;hrt, sollte man das Upgrade nur direkt auf dem Schema-Master ausf&uuml;hren.</p>
<h4>Isolation des Schema-Masters &#8211; auf eigene Gefahr!</h4>
<blockquote><p>Achtung, das folgende Verfahren wird von Microsoft ausdr&uuml;cklich nicht empfohlen! Es befindet sich allerdings nicht im Status &#034;unsupported&#034;. Trotzdem weisen wir auf diesen Umstand hin. N&auml;heres findet sich hier, und zwar in der dritten Frage:</p>
<p>[Friday Mail Sack – I live again edition - Ask the Directory Services Team - Site Home - TechNet Blogs]<br />
<a href="http://blogs.technet.com/b/askds/archive/2010/04/16/friday-mail-sack-i-live-again-edition.aspx">http://blogs.technet.com/b/askds/archive/2010/04/16/friday-mail-sack-i-live-again-edition.aspx</a></p></blockquote>
<p>Es ist technisch m&ouml;glich, den Schema-Master w&auml;hrend des Upgrade-Vorgangs von der Replikation zu isolieren. Siehe dazu aber den Hinweis direkt &uuml;ber diesem Absatz! Die Isolation erm&ouml;glicht ein schnelles und einfaches Fallback, falls der Upgradeprozess selbst scheitern sollte. In den meisten F&auml;llen ist es allerdings unproblematisch, das Upgrade an der laufenden Umgebung auszuf&uuml;hren – insbesondere, wenn der vorherige Test ergeben hat, dass man ein abgebrochenes Upgrade neu starten und zu Ende f&uuml;hren kann.</p>
<ul>
<li>Sofern der DC, der die Schema-Master-Rolle h&auml;lt, noch weitere Dienste ausf&uuml;hrt, ist es sinnvoll, &uuml;bergangsweise einen zus&auml;tzlichen DC f&uuml;r den Vorgang zu installieren. Im Fall des Falles muss man diesen DC n&auml;mlich opfern – und es w&auml;re kaum sinnvoll, dies mit einer Maschine zu tun, die anderweitig ben&ouml;tigt wird.</li>
<li>Den Schema-DC isoliert man nun von der AD-Replikation. Zwar ist es grunds&auml;tzlich m&ouml;glich, ihn einfach vom Netzwerk zu trennen, doch f&uuml;hrt dies bisweilen zu unerw&uuml;nschten Effekten. Besser ist es also, die Replikation abzuschalten (&#034;server.dom.tld&#034; steht im Folgenden f&uuml;r den DNS-Namen des DCs):<br />
<span style="font-family: Courier New;">repadmin /options server.dom.tld +DISABLE_OUTBOUND_REPL</span></li>
<li>Ausf&uuml;hren der Schema-Erweiterung.</li>
<li>Nun gibt es im Wesentlichen zwei M&ouml;glichkeiten:
<ul>
<li>Die erw&uuml;nschte, wahrscheinliche und einfache: Alles ist gutgegangen. In diesem Fall schaltet man die Replikation des Schema-Masters wieder an mit:<br />
<span style="font-family: Courier New;">repadmin /options server.dom.tld -DISABLE_OUTBOUND_REPL<br />
</span>Dann ist der Prozess beendet.<br />
<strong>Besonders wichtig: </strong>Auf keinen Fall nach dem Abschluss des Vorgangs diesen Schritt vergessen!</li>
<li>Die unerw&uuml;nschte, weniger wahrscheinliche und leider nicht so einfache: Beim Schema-Update ist etwas schiefgegangen. Je nachdem, was passiert ist, gibt es mehrere m&ouml;gliche Reaktionen.
<ul>
<li>Ist der Update-Prozess abgebrochen, kann man – insbesondere wenn man das vorher positiv getestet hat – versuchen, ihn einfach erneut auszuf&uuml;hren.</li>
<li>Gab es beim ADPrep Probleme, kann evtl. dieser Artikel helfen:</li>
<p>[Ask the Directory Services Team : Troubleshooting ADPREP Errors]<br />
<a href="http://blogs.technet.com/askds/archive/2008/12/15/troubleshooting-adprep-errors.aspx">http://blogs.technet.com/askds/archive/2008/12/15/troubleshooting-adprep-errors.aspx</a></p>
<li>Gab es andere Probleme, ist eine Web-Recherche auf jeden Fall eine gute Idee.</li>
<li>Sollten diese Methoden nicht helfen, kann man den Schema-Master aus dem AD entfernen und neu installieren. Grunds&auml;tzlich k&ouml;nnte man daf&uuml;r zwar dcpromo ausf&uuml;hren, doch wenn der Server tats&auml;chlich nur Dom&auml;nencontroller ist, ist es vermutlich einfacher, ihn komplett neu aufzusetzen. Bevor man ihn dann wieder ans Netz bringt, entfernt man die zugeh&ouml;rigen Objekte aus dem AD, z.B. nach folgender Anleitung:</li>
<p>[Entfernen von Daten aus Active Directory nach fehlgeschlagener Dom&auml;nencontroller-Herabstufung]<br />
<a href="http://support.microsoft.com/default.aspx/kb/216498">http://support.microsoft.com/default.aspx/kb/216498</a></p>
<li>In diesem Fall muss man dann den Schema-Master auf einen anderen DC verlagern.</li>
<p>[faq-o-matic.net » Wie kann ich Betriebsmasterrollen offline &uuml;bertragen?]<br />
<a href="http://www.faq-o-matic.net/2004/11/12/wie-kann-ich-betriebsmasterrollen-offlineuebertragen/">http://www.faq-o-matic.net/2004/11/12/wie-kann-ich-betriebsmasterrollen-offlineuebertragen/</a></ul>
</li>
</ul>
</li>
</ul>
<h3>Weitere Artikel</h3>
<p>[Aktives Verzeichnis Blog : So kann beim Schema Upgrade f&uuml;r Windows 2008 (fast) nichts schiefgehen]<br />
<a href="http://blogs.technet.com/deds/archive/2009/03/30/so-kann-beim-schema-upgrade-fuer-windows-2008-fast-nichts-schiefgehen.aspx">http://blogs.technet.com/deds/archive/2009/03/30/so-kann-beim-schema-upgrade-fuer-windows-2008-fast-nichts-schiefgehen.aspx</a></p>
<p>[Aktives Verzeichnis Blog : Schema Erweiterungen – Riskant oder unkritisch?]<br />
<a href="http://blogs.technet.com/deds/archive/2008/08/05/schema-erweiterungen-riskant-oder-unkritisch.aspx">http://blogs.technet.com/deds/archive/2008/08/05/schema-erweiterungen-riskant-oder-unkritisch.aspx</a></p>
<p>[So You Want to Upgrade to Windows 2008 Domain Controllers (ADPREP) - Ask the Directory Services Team - Site Home - TechNet Blogs]<br />
<a href="http://blogs.technet.com/b/askds/archive/2008/11/11/so-you-want-to-upgrade-to-windows-2008-domain-controllers-adprep.aspx">http://blogs.technet.com/b/askds/archive/2008/11/11/so-you-want-to-upgrade-to-windows-2008-domain-controllers-adprep.aspx</a></p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2011/02/11/hinweise-zu-sp1-fr-windows-server-2008-r2-und-hyper-v/' rel='bookmark' title='Hinweise zu SP1 f&uuml;r Windows Server 2008 R2 und Hyper-V'>Hinweise zu SP1 f&uuml;r Windows Server 2008 R2 und Hyper-V</a> <br /><small>Das Service Pack 1 f&uuml;r WIndows Server 2008 R2 steht...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/10/08/den-ie6-berwinden-hinweise-auf-der-eigenen-webseite/' rel='bookmark' title='Den IE6 &uuml;berwinden &ndash; Hinweise auf der eigenen Webseite'>Den IE6 &uuml;berwinden &ndash; Hinweise auf der eigenen Webseite</a> <br /><small>Microsoft f&uuml;hrt eine Reihe von Kampagnen durch, um endlich den...</small></li>
<li><a href='http://www.faq-o-matic.net/2003/10/17/wo-finde-ich-eine-dokumentation-des-ad-schemas/' rel='bookmark' title='Wo finde ich eine Dokumentation des AD-Schemas?'>Wo finde ich eine Dokumentation des AD-Schemas?</a> <br /><small>Folgende sind die einfachsten M&ouml;glichkeiten: Untersuche das Schema mit dem...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2009/04/08/ad-schemaerweiterung-ein-paar-hinweise/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>\\ice:2008: Active Directory als Datenspeicher? Die Folien</title>
		<link>http://www.faq-o-matic.net/2008/08/30/ice2008-active-directory-als-datenspeicher-die-folien/</link>
		<comments>http://www.faq-o-matic.net/2008/08/30/ice2008-active-directory-als-datenspeicher-die-folien/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 12:28:40 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[AD-Schema]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/?p=923</guid>
		<description><![CDATA[Wie eben gerade im Vortrag versprochen &#8211; hier sind die Folien meines Vortrags &#034;Active Directory als Datenspeicher? Was Sie beim Schema tun und lassen sollten&#034; auf der \\ice:2008 in Lingen. Eine kleine Korrektur, auf die mich Frank R&#246;der aufmerksam gemacht hat: Seit der MMC 3.0 kann man Erweiterungen der Admin-Oberfl&#228;che nicht nur in C++, sondern auch [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2011/02/09/video-active-directory-als-datenspeicher/' rel='bookmark' title='Video: Active Directory als Datenspeicher?'>Video: Active Directory als Datenspeicher?</a> <small>Das Schema ist das R&uuml;ckgrat des Active Directory: Es definiert...</small></li>
<li><a href='http://www.faq-o-matic.net/2008/09/08/ice2008-hype-oder-nutzen-in-der-it-die-folien/' rel='bookmark' title='\\ice:2008: Hype oder Nutzen in der IT &#8211; die Folien'>\\ice:2008: Hype oder Nutzen in der IT &#8211; die Folien</a> <small>Hier sind nun auch die Folien zu meinem Vortrag &#034;Hype...</small></li>
<li><a href='http://www.faq-o-matic.net/2007/09/15/ice2007-windows-server-2008-weniger-ist-mehr-folien/' rel='bookmark' title='\\ice:2007: Windows Server 2008: Weniger ist mehr (Folien)'>\\ice:2007: Windows Server 2008: Weniger ist mehr (Folien)</a> <small>Die Folien zu meiner Session &#034;Windows Server 2008: Weniger ist...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Wie eben gerade im Vortrag versprochen &#8211; hier sind die Folien meines Vortrags &#034;Active Directory als Datenspeicher? Was Sie beim Schema tun und lassen sollten&#034; auf der <a title="\\ice:2008" href="http://www.ice-lingen.de" target="_blank">\\ice:2008</a> in Lingen.</p>
<p>Eine kleine Korrektur, auf die mich Frank R&ouml;der aufmerksam gemacht hat: Seit der MMC 3.0 kann man Erweiterungen der Admin-Oberfl&auml;che nicht nur in C++, sondern auch mit .NET entwickeln (Folie 16).</p>
Note: There is a file embedded within this post, please visit this post to download the file.
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2011/02/09/video-active-directory-als-datenspeicher/' rel='bookmark' title='Video: Active Directory als Datenspeicher?'>Video: Active Directory als Datenspeicher?</a> <br /><small>Das Schema ist das R&uuml;ckgrat des Active Directory: Es definiert...</small></li>
<li><a href='http://www.faq-o-matic.net/2008/09/08/ice2008-hype-oder-nutzen-in-der-it-die-folien/' rel='bookmark' title='\\ice:2008: Hype oder Nutzen in der IT &#8211; die Folien'>\\ice:2008: Hype oder Nutzen in der IT &#8211; die Folien</a> <br /><small>Hier sind nun auch die Folien zu meinem Vortrag &#034;Hype...</small></li>
<li><a href='http://www.faq-o-matic.net/2007/09/15/ice2007-windows-server-2008-weniger-ist-mehr-folien/' rel='bookmark' title='\\ice:2007: Windows Server 2008: Weniger ist mehr (Folien)'>\\ice:2007: Windows Server 2008: Weniger ist mehr (Folien)</a> <br /><small>Die Folien zu meiner Session &#034;Windows Server 2008: Weniger ist...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2008/08/30/ice2008-active-directory-als-datenspeicher-die-folien/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adam und Eva</title>
		<link>http://www.faq-o-matic.net/2008/01/26/adam-und-eva/</link>
		<comments>http://www.faq-o-matic.net/2008/01/26/adam-und-eva/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 12:43:14 +0000</pubDate>
		<dc:creator>Frank Röder</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[AD-Schema]]></category>
		<category><![CDATA[AD: Daten bearbeiten]]></category>
		<category><![CDATA[AD: Erweiterte Abfragen]]></category>
		<category><![CDATA[Windows Server 2003]]></category>
		<category><![CDATA[Windows Server 2008]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/2008/01/26/adam-und-eva/</guid>
		<description><![CDATA[Immer mehr netzwerkf&#228;hige Ger&#228;te, wie zum Beispiel Scanner oder auch Telefonanlagen, unterst&#252;tzen das Einlesen der Benutzer per LDAP. Leider kranken diese Ger&#228;te oft an der fehlenden F&#228;higkeit, sich an einem LDAP Server zu authentifizieren oder anderen Dingen. Manchmal steht der Administrator auch vor der Aufgabe, dass beispielsweise eine Telefonanlage von mehreren Firmen genutzt wird und [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2008/10/26/ad-snapshots-deluxe/' rel='bookmark' title='AD Snapshots „Deluxe“'>AD Snapshots „Deluxe“</a> <small>Dass man unter Windows Server 2008 mit dem Kommandozeilenprogramm „ntdsutil“...</small></li>
<li><a href='http://www.faq-o-matic.net/2006/06/18/wie-kann-ich-beeinflussen-welche-attribute-beim-kopieren-eines-benutzers-kopiert-werden/' rel='bookmark' title='Wie kann ich beeinflussen, welche Attribute beim Kopieren eines Benutzers kopiert werden?'>Wie kann ich beeinflussen, welche Attribute beim Kopieren eines Benutzers kopiert werden?</a> <small>Wenn man in Active Directory ein vorhandenes Benutzerobjekt kopiert, dann...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/08/03/dns-fr-ad-die-offiziellen-empfehlungen/' rel='bookmark' title='DNS f&uuml;r AD: Die offiziellen Empfehlungen'>DNS f&uuml;r AD: Die offiziellen Empfehlungen</a> <small>Microsofts Support-Team hat nun die offizielle Liste der Empfehlungen f&uuml;r...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Immer mehr netzwerkf&#228;hige Ger&#228;te, wie zum Beispiel Scanner oder auch Telefonanlagen, unterst&#252;tzen das Einlesen der Benutzer per LDAP. Leider kranken diese Ger&#228;te oft an der fehlenden F&#228;higkeit, sich an einem LDAP Server zu authentifizieren oder anderen Dingen. Manchmal steht der Administrator auch vor der Aufgabe, dass beispielsweise eine Telefonanlage von mehreren Firmen genutzt wird und diese per LDAP angebunden werden soll. Welcher Administrator m&#246;chte es, dass seine Dom&#228;nencontroller von einer Telefonanlage dieser Art abgefragt werden? Dadurch h&#228;tten ja unter Umst&#228;nden auch andere Firmen lesenden Zugriff auf das Active Directory Verzeichnis. Genau f&#252;r diese Art von Einsatzzweck hat Microsoft das Produkt ADAM entwickelt.</p>
<p><span id="more-743"></span></p>
<p>ADAM (Active Directory Application Mode) ist eine Art abgespecktes Active Directory, mit dem man genau diese Dinge realisieren kann, ohne dabei sein Netzwerk in Gefahr zu bringen. Microsoft liefert f&#252;r ADAM auch entsprechende Werkzeuge, damit man auch ohne Programmierkenntnisse zwischen Active Directory und der ADAM Instanz eine Synchronisation durchf&#252;hren kann. Wie funktioniert aber jetzt das Ganze und was wird als Voraussetzung ben&#246;tigt? Im einfachsten Fall reicht hier der Einsatz von Windows XP Professional als ADAM Server. Wer m&#246;chte, kann auch einen Windows 2003 Server einsetzen. F&#252;r diesen Artikel habe ich auf der Active Directory Seite und auf der ADAM Seite einen Windows Server 2003 R2 eingesetzt. Gl&#252;cklicherweise kann man unter Windows Server 2003 R2 den ADAM Dienst direkt als Windows Komponente installieren.    <br />OK, was muss man tun, um ADAM zu konfigurieren. Als Erstes muss man die Installation &#252;ber die Windows Komponenten vornehmen.     </p>
<p>&#160;<a title="adam_inst1.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_inst1.jpg" target="_blank"><img alt="adam_inst1.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_inst1.thumbnail.jpg" /></a>     </p>
<p>Nachdem die Installation abgeschlossen ist, findet man unter &#8222;Start -&gt; Programme&#034; den neuen Ordner &#8222;ADAM&#034;. Unterhalb des Ordners findet man eine Option &#8222;ADAM-Instanz erstellen&#034;. Mit dieser Option wird ADAM letztendlich lauff&#228;hig gemacht.     </p>
<p><a title="adam_instanz2.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_instanz2.jpg" target="_blank"><img alt="adam_instanz2.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_instanz2.thumbnail.jpg" /></a>&#160; </p>
<p>Da in meinem Demonetzwerk noch keine Instanz besteht, muss hier die Option &#8222;Eine eindeutige Instanz installieren&#034; ausgew&#228;hlt werden. Im n&#228;chsten Schritt wird jetzt der Instanzenname abgefragt. Da ich in diesem Artikel als Beispiel ein Telefonbuch installieren will, nenne ich meine Instanz kreativerweise &#8222;Telefonbuch FAQ-O-MATIC&#034;.     </p>
<p><a title="adam_instanz_name3.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_instanz_name3.jpg" target="_blank"><img alt="adam_instanz_name3.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_instanz_name3.thumbnail.jpg" /></a>     </p>
<p>Im n&#228;chsten Schritt fragt der Assistent nach den Portnummern, auf denen die Instanz arbeiten soll. Wenn es sich bei dem Server, auf dem ADAM installiert wird, um einen Dom&#228;nencontroller handelt, dann schl&#228;gt der Assistent automatisch Ports vor, die nicht von Active Directory belegt werden. Mein Demosystem ist ein einfacher Mitgliedsserver, auf dem kein Active Directory installiert ist. Deshalb werden vom Assistenten die Standardports f&#252;r LDAP (389) und LDAP/SSL (636) vorgeschlagen.     </p>
<p><a title="adam_instanz_port4.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_instanz_port4.jpg" target="_blank"><img alt="adam_instanz_port4.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_instanz_port4.thumbnail.jpg" /></a>     </p>
<p>Nachdem die Ports festgelegt wurden, m&#246;chte der Assistent eine Anwendungspartition erstellen. Die Anwendungspartition wird zuk&#252;nftig die Benutzerobjekte aufnehmen, die die Telefonanlage dann &#252;ber eine LDAP Suche abfragen kann. Ich &#252;bergehe diesen Schritt, um sp&#228;ter demonstrieren zu k&#246;nnen, wie man eine Partition auf der Kommandozeile anlegt.     </p>
<p><a title="adam_partition5.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_partition5.jpg" target="_blank"><img alt="adam_partition5.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_partition5.thumbnail.jpg" /></a>     </p>
<p>Bei der n&#228;chsten Frage m&#246;chte der Assistent wissen, wo er die ADAM Datenbank ablegen soll. Hier sollte man pr&#252;fen, ob der Speicherplatz auf dem Systemlaufwerk noch ausreichend ist. In den seltensten F&#228;llen macht sich ein Verschieben der Datenbanken auf eine andere Partition bzw. ein anderes Laufwerk erforderlich.     </p>
<p><a title="adam_pfade6.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_pfade6.jpg" target="_blank"><img alt="adam_pfade6.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_pfade6.thumbnail.jpg" /></a>     </p>
<p>Im n&#228;chsten Schritt m&#246;chte der Assistent wissen, unter welchem Benutzerkonto der Dienst laufen soll. Auch hier kann man den Standardvorschlag bestehen lassen. Das Benutzerkonto &#8222;Netzwerkdienst&#034; ist ein eingeschr&#228;nkter Security Principal, der f&#252;r diese Aufgabe geeignet ist.     </p>
<p><a title="adam_service_account7.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_service_account7.jpg" target="_blank"><img alt="adam_service_account7.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_service_account7.thumbnail.jpg" /></a>     </p>
<p>Jetzt muss ein Benutzerkonto angegeben werden, was administrative Rechte &#252;ber diese Instanz erh&#228;lt. Der Einfachheit halber lasse ich hier den Dom&#228;nen-Administrator stehen. Hier k&#246;nnte man nat&#252;rlich auch einen anderen &#8222;normalen&#034; Benutzer ausw&#228;hlen.     </p>
<p><a title="adam_admin_account8.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_admin_account8.jpg" target="_blank"><img alt="adam_admin_account8.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_admin_account8.thumbnail.jpg" /></a>     </p>
<p>Damit in einer ADAM Instanz &#252;berhaupt Objekte erstellt werden k&#246;nnen, ben&#246;tigt man ein Schema, was diese Objekte beschreibt. Auf der n&#228;chsten Seite des Assistenten hat man die M&#246;glichkeit, bestimmte LDF Dateien f&#252;r die Erweiterung des Schemas zu importieren. Wir ben&#246;tigen diese Dateien nicht, da wir die Erweiterung sp&#228;ter vornehmen.     </p>
<p><a title="adam_ldif9.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_ldif9.jpg" target="_blank"><img alt="adam_ldif9.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_ldif9.thumbnail.jpg" /></a>     </p>
<p>Nachdem der Assistent noch kurz eine Zusammenfassung der Setup Parameter anzeigt, beginnt er anschlie&#223;end mit der Installation.     <br />Damit Objekte aus der bestehenden Active Directory Umgebung in die ADAM Instanz repliziert werden k&#246;nnen, muss als n&#228;chstes das Schema erweitert werden. Im Installationsverzeichnis von ADAM befinden sich daf&#252;r zwei LDF-Dateien. Zum Einen ist das die Datei &#8222;MS-AdamSchemaW2K3.LDF&#034; f&#252;r das Schema eines Windows 2003 Active Directory und zum Anderen die Datei &#8222;MS-AdamSyncMetadata.LDF&#034;, die f&#252;r den Objektabgleich ben&#246;tigt wird.     </p>
<p><a title="adam_schema10.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_schema10.jpg" target="_blank"><img alt="adam_schema10.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_schema10.thumbnail.jpg" /></a>     </p>
<p>Der Import der LDF Dateien wird &#252;ber das aus Active Directory bekannte Kommandozeilenprogramm &#8222;ldifde&#034; realisiert.     <br /><em>ldifde -i -f MS-AdamSyncMetadata.LDF -s localhost -c &quot;cn=configuration,dc=x&quot; #configurationNamingContext      </p>
<p></em><a title="adam_schema_import_metadata11.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_schema_import_metadata11.jpg"><em></em><a title="adam_schema_import_metadata11.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_schema_import_metadata11.jpg" target="_blank"><img alt="adam_schema_import_metadata11.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_schema_import_metadata11.thumbnail.jpg" /></a></a></a>     <br /><em>     <br />ldifde -i -f MS-AdamSchemaW2K3.LDF -s localhost -t -c &quot;cn=configuration,dc=x&quot; #configurationNamingContext       </p>
<p></em><a title="adam_schema_import_w2k3_12.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_schema_import_w2k3_12.jpg"><em></em><a title="adam_schema_import_w2k3_12.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_schema_import_w2k3_12.jpg" target="_blank"><img alt="adam_schema_import_w2k3_12.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_schema_import_w2k3_12.thumbnail.jpg" /></a></a></a>     </p>
<p>Somit ist die ADAM Instanz vorbereitet. Was jetzt noch fehlt, ist die Anwendungspartition, die die Userobjekte anschlie&#223;end aufnehmen soll. F&#252;r diese Aufgabe steht das Programm &#8222;dsmgmt.exe&#034; zur Verf&#252;gung. Das Gleiche geht aber auch mit &#8222;ntdsutil&#034;.     </p>
<p><a title="adam_create_partition_13.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_create_partition_13.jpg" target="_blank"><img alt="adam_create_partition_13.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_create_partition_13.thumbnail.jpg" /></a>     </p>
<p>Jetzt ist ADAM f&#252;r die erste Synchronisation bereit. F&#252;r den Abgleich zwischen Active Directory und ADAM stellt Microsoft das Programm &#8222;adamsync&#034; zur Verf&#252;gung. Adamsync ben&#246;tigt eine XML-Konfigurationsdatei, in der alle wichtigen Parameter festgehalten sind. Im Installationsverzeichnis existiert bereits eine Beispieldatei. Diese muss nur noch auf die eigenen Bed&#252;rfnisse angepasst werden. </p>
</p>
<div class="CodeFormatContainer">.<br />
<style>
<p><!--
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}</p>
<p>.csharpcode pre { margin: 0em; }</p>
<p>.csharpcode .rem { color: #008000; }</p>
<p>.csharpcode .kwrd { color: #0000ff; }</p>
<p>.csharpcode .str { color: #006080; }</p>
<p>.csharpcode .op { color: #0000c0; }</p>
<p>.csharpcode .preproc { color: #cc6633; }</p>
<p>.csharpcode .asp { background-color: #ffff00; }</p>
<p>.csharpcode .html { color: #800000; }</p>
<p>.csharpcode .attr { color: #ff0000; }</p>
<p>.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}</p>
<p>.csharpcode .lnum { color: #606060; }</p>
<p>--></style>
<pre class="csharpcode">&lt;?xml version=<span class="str">&quot;1.0&quot;</span>?&gt;
&lt;doc&gt;
 &lt;configuration&gt;
  &lt;description&gt;FAQ-O-MATIC&lt;/description&gt;
  &lt;security-mode&gt;<span class="kwrd">object</span>&lt;/security-mode&gt;
  &lt;source-ad-name&gt;faq-o-matic.net&lt;/source-ad-name&gt;
  &lt;source-ad-partition&gt;dc=faq-o-matic,dc=net&lt;/source-ad-partition&gt;
  &lt;source-ad-account&gt;&lt;/source-ad-account&gt;
  &lt;account-domain&gt;&lt;/account-domain&gt;
  &lt;target-dn&gt;dc=faqomatic&lt;/target-dn&gt;
  &lt;query&gt;
   &lt;<span class="kwrd">base</span>-dn&gt;dc=faq-o-matic,dc=net&lt;/<span class="kwrd">base</span>-dn&gt;
   &lt;<span class="kwrd">object</span>-filter&gt;(&amp;(objectclass=user)(telephoneNumber=*))&lt;/<span class="kwrd">object</span>-filter&gt;
   &lt;attributes&gt;
    &lt;include&gt;givenname&lt;/include&gt;
    &lt;include&gt;sn&lt;/include&gt;
    &lt;include&gt;telephoneNumber&lt;/include&gt;
    &lt;exclude&gt;&lt;/exclude&gt;
   &lt;/attributes&gt;
  &lt;/query&gt;
  &lt;schedule&gt;
   &lt;aging&gt;
    &lt;frequency&gt;2&lt;/frequency&gt;
    &lt;num-objects&gt;600&lt;/num-objects&gt;
   &lt;/aging&gt;
   &lt;schtasks-cmd&gt;&lt;/schtasks-cmd&gt;
  &lt;/schedule&gt;
 &lt;/configuration&gt;
 &lt;synchronizer-state&gt;
  &lt;dirsync-cookie&gt;&lt;/dirsync-cookie&gt;
  &lt;status&gt;&lt;/status&gt;
  &lt;authoritative-adam-instance&gt;&lt;/authoritative-adam-instance&gt;
  &lt;configuration-file-guid&gt;&lt;/configuration-file-guid&gt;
  &lt;last-sync-attempt-time&gt;&lt;/last-sync-attempt-time&gt;
  &lt;last-sync-success-time&gt;&lt;/last-sync-success-time&gt;
  &lt;last-sync-error-time&gt;&lt;/last-sync-error-time&gt;
  &lt;last-sync-error-<span class="kwrd">string</span>&gt;&lt;/last-sync-error-<span class="kwrd">string</span>&gt;
  &lt;consecutive-sync-failures&gt;&lt;/consecutive-sync-failures&gt;
  &lt;user-credentials&gt;&lt;/user-credentials&gt;
  &lt;runs-since-last-<span class="kwrd">object</span>-update&gt;&lt;/runs-since-last-<span class="kwrd">object</span>-update&gt;
  &lt;runs-since-last-full-sync&gt;&lt;/runs-since-last-full-sync&gt;
 &lt;/synchronizer-state&gt;
&lt;/doc&gt;</pre>
</div>
<p>Gehen wir die wichtigsten Elemente der XML Datei einmal durch. Im Element &#8222;&lt;description&gt;&#034; wird nur eine Beschreibung festgelegt. Mit Hilfe dieser Beschreibung kann man durch &#8222;adamsync /list localhost&#034; die installierten Konfigurationen besser identifizieren. Die Elemente &#8222;source-ad-name&#034; und &#8222;source-ad-partition&#034; identifizieren die Quelldom&#228;ne. Mit &#8222;source-ad-name&#034; wird der FQDN der Quelldom&#228;ne festgelegt und mit &#8222;source-ad-partition&#034; die Active Directory Partition, in der die zu synchronisierenden Objekte gesucht werden. Das Element &#8222;&lt;target-dn&gt;&#034; gibt die Zielpartition an, in der die synchronisierten Objekte erstellt werden sollen. Adamsync ermittelt die zu synchronisierenden Objekte &#252;ber eine LDAP Suche. F&#252;r diese Suche werden zwei Dinge ben&#246;tigt. Als Erstes muss ein &#8222;&lt;base-dn&gt;&#034; festgelegt werden. Dieser distinguished Name beschreibt den Ausgangspunkt der LDAP Suche. Danach wird der eigentliche Suchfilter festgelegt. Da wir die ADAM Instanz als Telefonbuch nutzen wollen, werden nur Benutzer synchronisiert, die auch eine Telefonnummer besitzen. Dadurch ergibt sich folgender LDAP Filter:</p>
<p>&#8222;(&amp;(objectclass=user)(telephoneNumber=*))&#034;</p>
<p>Das kaufm&#228;nnische &#8222;Und&#034; kann aber nicht in der XML Datei interpretiert werden. Deshalb muss dieses Sonderzeichen in der XML Datei kodiert werden.</p>
<p>&#8222;(&amp;(objectclass=user)(telephoneNumber=*))&#034;</p>
<p>Als n&#228;chstes kommen wir zu den Attributen, die f&#252;r unsere Objekte mit repliziert werden sollen. F&#252;r ein Telefonbuch muss ja ein Userobjekt nicht mit allen Attributen repliziert werden. F&#252;r diesen Anwendungsfall sollte die Angabe von Vorname, Nachname und Telefonnummer ausreichen. Welche Attribute repliziert werden, kann man &#252;ber das Element &#8222;&lt;attributes&gt;&#034; steuern. Da f&#252;r den Anwendungsfall &#8222;Telefonbuch&#034; nur drei Attribute repliziert werden m&#252;ssen, habe ich mich daf&#252;r entschieden, diese Attribute &#252;ber &#8222;&lt;include&gt;&#034; anzugeben. Wenn die Zahl der zu synchronisierenden Attribute &#252;berwiegen sollte und man nur einige wenige von der Synchronisation ausschlie&#223;en will, dann kann man diese &#252;ber &#8222;&lt;exclude&gt;&#034; ausschlie&#223;en. Ein weiterer wichtiger Punkt ist das &#8222;&lt;aging&gt;&#034;. Dar&#252;ber kann gesteuert werden, was passieren soll, wenn ein Objekt in der Quelle gel&#246;scht wird. Dazu aber an sp&#228;terer Stelle mehr.<br />
  <br />Nachdem alle Einstellungen in der XML Datei vorgenommen wurden, kann diese jetzt installiert werden. Daf&#252;r bietet das Tool &#8222;adamsync&#034; den Schalter &#8222;/install&#034; an. </p>
<p><a title="adam_sync_install14.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_sync_install14.jpg" target="_blank"><img alt="adam_sync_install14.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_sync_install14.thumbnail.jpg" /></a> </p>
<p><em><br />
    <br />adamsync /i localhost NAMEDERXMLDATEI.XMLJetzt ist ADAM f&#252;r die erste Synchronisation bereit. </p>
<p></em><a title="adam_sync_15.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_sync_15.jpg"><em></em><a title="adam_sync_15.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_sync_15.jpg" target="_blank"><img alt="adam_sync_15.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_sync_15.thumbnail.jpg" /></a></a></a> </p>
<p><em>adamsync /sync localhost dc=faqomatic </p>
<p></em>Ein Wort zur Performance. In der Active Directory Dom&#228;ne, die hier als Quelle genutzt wurde, existieren 20.000 Benutzerobjekte. Der erste Synchronisationsvorgang, zwischen Active Directory und ADAM, nahm ca. 2 Minuten und 30 Sekunden in Anspruch. Dabei wurden ca. 68,1 MB an Daten &#252;bertragen. Jede weitere Synchronisation wurde innerhalb von 5 Sekunden beendet und es wurden dabei ca. 69 KB &#252;bertragen. </p>
<p>Nachdem also die erste Replikation erfolgreich abgelaufen ist, kann man die oben stehende Kommandozeile als geplanten Task einrichten. Dadurch kann ein periodischer Abgleich zwischen Active Directory und ADAM sichergestellt werden. Was passiert aber mit den gel&#246;schten Objekten? Diese bleiben bei der momentanen Konfiguration bestehen. Hier kommt jetzt das Element &#8222;&lt;aging&gt;&#034; der XML Konfigurationsdatei ins Spiel. &#220;ber das Unterelement &#8222;&lt;frequency&gt;&#034; kann bestimmt werden, aller wie viel Sychronisationszyklen eine &#220;berpr&#252;fung auf gel&#246;schte Objekte vorgenommen wird. Das Unterelement &#8222;&lt;num-objects&gt;&#034; gibt an, wie viele Objekte auf einmal untersucht werden sollen. Wenn wir in unserem Beispiel f&#252;r &#8222;&lt;frequency&gt;&#034; den Wert &#8222;2&#034; setzen und f&#252;r &#8222;&lt;num-objects&gt;&#034; den Wert 500, dann bedeutet dies, dass &#8222;adamsync&#034; im schlimmsten Fall 80 Replikationszyklen ben&#246;tigt, um alle Objekte auf einen eventuellen L&#246;schvorgang zu pr&#252;fen. Findet adamsync ein im Active Directory gel&#246;schtes Objekt, dann wird es auch in der Adaminstanz entfernt. Um die Performance hier einmal zu testen, habe ich mit drei verschiedenen Werten in &#8222;&lt;num-objects&gt;&#034; gearbeitet.</p>
<table cellspacing="0" cellpadding="2" width="400" border="1">
<tbody>
<tr>
<td valign="top" width="133">Wert in &lt;num-objects&gt;</td>
<td valign="top" width="133">Dauer</td>
<td valign="top" width="133">Ges. und Empf. Daten</td>
</tr>
<tr>
<td valign="top" width="133">5.000</td>
<td valign="top" width="133">33 Sekunden</td>
<td valign="top" width="133">Empfangen: ca. 2MB<br />
        <br />Gesendet: ca. 1,5MB</td>
</tr>
<tr>
<td valign="top" width="133">10.000</td>
<td valign="top" width="133">1 Minute 20 Sekunden</td>
<td valign="top" width="133">Empfangen: ca. 4MB<br />
        <br />Gesendet: ca. 3MB</td>
</tr>
<tr>
<td valign="top" width="133">20.000</td>
<td valign="top" width="133">2 Minuten 15 Sekunden</td>
<td valign="top" width="133">Empfangen: ca. 8MB<br />
        <br />Gesendet: ca. 6MB</td>
</tr>
</tbody>
</table>
<p>Leider gibt es bei der Synchronisation einen unsch&#246;nen Nebeneffekt. Adamsync scheint bei der Synchronisation der gel&#246;schten Objekte den LDAP Filter &#8222;(&amp;(objectclass=user)(telephoneNumber=*))&#034; zu nutzen. Da bei einem L&#246;schvorgang aber das Attribut &#8222;telephoneNumber&#034; vom Objekt entfernt wird, kann adamsync ein gel&#246;schtes Objekt nicht korrekt erkennen. Das kann dazu f&#252;hren, dass adamsync alle synchronisierten Objekte verwirft und in den Container &#8222;LostAndFound&#034; der ADAM Partition verschiebt. Dieser Tatsache kann man aber mit einem kleinen Hack entgegenwirken. Dazu muss man im Active Directory Schema der Quelle eine kleine Anpassung im Attribut &#8222;telephoneNumber&#034; vornehmen. Durch das Ver&#228;ndern der Eigenschaft &#8222;searchflags&#034; im Attribut &#8222;telephoneNumber&#034; kann man verhindern, dass dieses Attribut von einem Objekt entfernt wird. Dazu muss die Eigenschaft &#8222;searchflags&#034; des Attributs &#8222;telephoneNumber&#034; auf den dezimalen Wert 8 gesetzt werden. Dieser Wert entspricht bin&#228;r dem vierten Bit. </p>
<p><a title="ad_searchflags16.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/ad_searchflags16.jpg" target="_blank"><img alt="ad_searchflags16.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/ad_searchflags16.thumbnail.jpg" /></a> </p>
<p>Dadurch bleibt beim L&#246;schen eines Objekts dieses Attribut am gel&#246;schten Objekt erhalten und adamsync kann eine erfolgreiche Synchronisation durchf&#252;hren. </p>
<p>Kommen wir jetzt zum letzten Punkt dieses Artikels. Jetzt muss nur noch sichergestellt werden, dass auch mit einer anonymen Anmeldung auf die Informationen im ADAM lesend zugegriffen werden kann. Um das zu erm&#246;glichen, m&#252;ssen zwei Schritte durchgef&#252;hrt werden. Als erstes muss der anonymen Anmeldung erlaubt werden, sich ohne Authentifizierung mit der Telefonbuch Partition zu verbinden. Standardm&#228;&#223;ig ist das nicht erlaubt. Um es zu erm&#246;glichen, muss das &#8222;dsHeuristics&#034; Attribut in den Eigenschaften des Directory Services Objekts der Konfigurationspartition auf den Wert &#8222;0000002001000&#034; angepasst werden. </p>
<p><a title="adam_dsheur17.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_dsheur17.jpg" target="_blank"><img alt="adam_dsheur17.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_dsheur17.thumbnail.jpg" /></a> </p>
<p>Jetzt kann zumindest schon ein LDAP Bind auf alle Partitionen der ADAM Instanz durchgef&#252;hrt werden. Dadurch kann aber eine anonyme Anmeldung noch keine Objekte der einzelnen Partitionen lesen. Damit die einzelnen Partitionen auch durchsucht werden k&#246;nnen, f&#252;gt man im einfachsten Fall das Konto &#8222;Anonymous-Anmeldung&#034; in die ADAM Rolle &#8222;Readers&#034; der entsprechenden Partition hinzu. </p>
<p><a title="adam_anoread18.jpg" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_anoread18.jpg" target="_blank"><img alt="adam_anoread18.jpg" src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/adam_anoread18.thumbnail.jpg" /></a> </p>
<p>Jetzt k&#246;nnen die Userobjekte in der ADAM Partition auch ohne Authentifizierung gelesen werden. Damit w&#228;re es jetzt m&#246;glich, diese ADAM Instanz f&#252;r das Erstellen eines Telefonbuchs zu nutzen.</p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2008/10/26/ad-snapshots-deluxe/' rel='bookmark' title='AD Snapshots „Deluxe“'>AD Snapshots „Deluxe“</a> <br /><small>Dass man unter Windows Server 2008 mit dem Kommandozeilenprogramm „ntdsutil“...</small></li>
<li><a href='http://www.faq-o-matic.net/2006/06/18/wie-kann-ich-beeinflussen-welche-attribute-beim-kopieren-eines-benutzers-kopiert-werden/' rel='bookmark' title='Wie kann ich beeinflussen, welche Attribute beim Kopieren eines Benutzers kopiert werden?'>Wie kann ich beeinflussen, welche Attribute beim Kopieren eines Benutzers kopiert werden?</a> <br /><small>Wenn man in Active Directory ein vorhandenes Benutzerobjekt kopiert, dann...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/08/03/dns-fr-ad-die-offiziellen-empfehlungen/' rel='bookmark' title='DNS f&uuml;r AD: Die offiziellen Empfehlungen'>DNS f&uuml;r AD: Die offiziellen Empfehlungen</a> <br /><small>Microsofts Support-Team hat nun die offizielle Liste der Empfehlungen f&uuml;r...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2008/01/26/adam-und-eva/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Maulkorb f&#252;r den OU-Admin</title>
		<link>http://www.faq-o-matic.net/2008/01/13/maulkorb-fuer-den-ou-admin/</link>
		<comments>http://www.faq-o-matic.net/2008/01/13/maulkorb-fuer-den-ou-admin/#comments</comments>
		<pubDate>Sun, 13 Jan 2008 19:41:20 +0000</pubDate>
		<dc:creator>Frank Röder</dc:creator>
				<category><![CDATA[AD-Schema]]></category>
		<category><![CDATA[AD: Daten bearbeiten]]></category>
		<category><![CDATA[Windows Server 2003]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/2008/01/13/maulkorb-fr-den-ou-admin/</guid>
		<description><![CDATA[In vielen Active-Directory-Umgebungen wird die M&#246;glichkeit genutzt, bestimmten Mitarbeitern Berechtigungen auf das Active Directory zu geben. So k&#246;nnte man zum Beispiel dem Azubi  der IT-Abteilung das Recht einr&#228;umen, neue Benutzer in Active Directory anzulegen. Dadurch kann der Azubi also keinen Schaden anrichten. Er kann ja nur neue Benutzer anlegen &#8230; Leider bringt man dadurch sein [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2006/08/26/dhcp-server-autorisieren-ohne-organisations-admin-rechte/' rel='bookmark' title='DHCP-Server autorisieren ohne Organisations-Admin-Rechte'>DHCP-Server autorisieren ohne Organisations-Admin-Rechte</a> <small>Um in einer Active-Directory-Umgebung einen auf Windows 2000/2003 basierenden DHCP-Server...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/09/28/iir-admin-tech-talk-2010-folien-und-skripts-meiner-ad-sessions/' rel='bookmark' title='IIR Admin Tech Talk 2010: Folien und Skripts meiner AD-Sessions'>IIR Admin Tech Talk 2010: Folien und Skripts meiner AD-Sessions</a> <small>Am 27. und 28. September 2010 fand in Oberursel bei...</small></li>
<li><a href='http://www.faq-o-matic.net/2002/09/09/wie-kann-ich-den-pfad-zum-home-folder-mehrerer-benutzer-aendern/' rel='bookmark' title='Wie kann ich den Pfad zum Home-Folder mehrerer Benutzer (oder auch andere Werte) &#228;ndern?'>Wie kann ich den Pfad zum Home-Folder mehrerer Benutzer (oder auch andere Werte) &#228;ndern?</a> <small>Unter Windows 2000&nbsp;war es leider nicht m&ouml;glich, bei mehreren Objekten...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/dsadd-quota.jpg" title="dsadd-quota.jpg"></a>In vielen Active-Directory-Umgebungen wird die M&ouml;glichkeit genutzt, bestimmten Mitarbeitern Berechtigungen auf das Active Directory zu geben. So k&ouml;nnte man zum Beispiel dem Azubi  der IT-Abteilung das Recht einr&auml;umen, neue Benutzer in Active Directory anzulegen. Dadurch kann der Azubi also keinen Schaden anrichten. Er kann ja nur neue Benutzer anlegen &#8230;</p>
<p><span id="more-719"></span>Leider bringt man dadurch sein Active Directory auch in Gefahr. Durch dieses Recht k&ouml;nnte eine Person, die entsprechende Berechtigungen besitzt, eine unbegrenzte Anzahl von Objekten anlegen. Das hei&szlig;t also, sie kann die Datenbank durch unbedarfte Experimente oder mit b&ouml;sen Absichten bis zum Platzen f&uuml;llen. Dadurch w&uuml;rde dann ein erh&ouml;htes Replikationsaufkommen zwischen den Dom&auml;nencontrollern auftreten. Die Folge w&auml;ren dann erh&ouml;hte Replikationslatenzen. Durch diese Latenzen k&ouml;nnte es passieren, dass wichtige Informationen versp&auml;tet auf andere Dom&auml;nencontroller repliziert werden. Ein weiteres m&ouml;gliches Szenario w&auml;re das &Uuml;berlaufen der Festplattenpartition, auf der sich die Active Directory Datenbank befindet. Wie einfach so ein Angriff zu realisieren ist, demonstriert folgendes Skript:</p>
<pre><em>

set objRootDSE = GetObject("LDAP://rootDSE")

set objOU = GetObject("LDAP://ou=OU-Delegiert," &amp; objRootDSE.Get("defaultNamingContext"))

For i=1 To 1000000

  set objUser = objOU.Create("User","cn=BenutzerNr" &amp; i)

  objUser.Put "sAmAccountName", "BenutzerNr" &amp; i

  objUser.Put  "givenName","Testbenutzer"

  objUser.Put "mail","hallo@hallo.de"

  objUser.Put "telePhoneNumber", "++49 (351) 123454678"

  objUser.Put "sn", "Test"

  objUser.Put "wwwHomePage","www.faq-o-matic.net"

objUser.SetInfo

objUser.AccountDisabled = False

objUser.SetPassword "Geheim$$2008"

objUser.Setinfo

next

</em></pre>
<p>Durch dieses Skript werden so ganz nebenbei 1.000.000 Benutzerobjekte angelegt. Diese belasten nat&uuml;rlich unn&ouml;tigerweise die Active-Directory-Datenbank. Was kann man aber dagegen tun, um solche DoS-Attacken auf das AD zu verhindern?</p>
<p>Seit Windows 2003 gibt es die M&ouml;glichkeit, Kontingente auf das Active Directory zu vergeben. Dadurch kann ein Administrator bestimmen, wie viele Objekte ein Benutzer oder auch eine Sicherheitsgruppe im AD anlegen kann.</p>
<p>Wie funktioniert das Ganze aber? Microsoft stellt f&uuml;r die Verwaltung bzw. Einrichtung von Kontingenten leider kein grafisches Verwaltungsprogramm zur Verf&uuml;gung. Um Kontingente auf eine Verzeichnispartition zu vergeben, muss der Administrator die Kommandozeile bem&uuml;hen. Wie sieht das nun in der Praxis aus?</p>
<p>Nehmen wir einmal an, dass in der AD-Dom&auml;ne „faq-o-matic.net“ die OU „OU-Delegiert“ existiert. Auf diese OU hat der Benutzer „Paul Schmidt“ das Recht bekommen, neue Benutzer anzulegen.</p>
<p>Mit dem Kommandozeilenprogramm „dsadd quota“ kann der Administrator dem Benutzer jetzt ein Kontingent einrichten.</p>
<p><em> <a href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/dsadd-quota.jpg" title="dsadd-quota.jpg"><img src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/dsadd-quota.thumbnail.jpg" alt="dsadd-quota.jpg" /></a></em></p>
<p><em>dsadd quota -part dc=faq-o-matic,dc=net –acct  faq-o-matic\p.schmidt -qlimit 500<br />
</em><br />
Durch dieses Kontingent ist jetzt der Benutzer Paul Schmidt auf das Anlegen von 500 Benutzern beschr&auml;nkt.<br />
Wie kann man jetzt aber die bereits angelegten Kontingente einsehen? F&uuml;r diese Aufgabe kann man zum einen das Snapin „Active Directory Benutzer und Computer“ benutzen oder auch die Kommandozeile bem&uuml;hen.</p>
<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/aduc_quota.jpg" title="aduc_quota.jpg"><img src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/aduc_quota.thumbnail.jpg" alt="aduc_quota.jpg" /></a> </p>
<p>Um alle Kontingente einzusehen, reicht ein:</p>
<p><em>dsquery quota</em></p>
<p> <a href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/dsquery_quota.jpg" title="dsquery_quota.jpg"><img src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/dsquery_quota.thumbnail.jpg" alt="dsquery_quota.jpg" /></a></p>
<p>Wer es etwas genauer wissen will, kann die Kommandozeile noch erweitern.</p>
<p><em>dsquery quota | dsget quota -dn -acct -qlimit</em></p>
<p>Wenn man jetzt noch einsehen will, wieviel ein Benutzer bereits von seinem Kontingent verbraucht hat, kann man das Kommandozeilenprogramm „dsget“ einsetzen.</p>
<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/dsget_partition_tobjobowner.jpg" title="dsget_partition_tobjobowner.jpg"><img src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/dsget_partition_tobjobowner.thumbnail.jpg" alt="dsget_partition_tobjobowner.jpg" /></a></p>
<p><em>dsget partition „dc=faq-o-matic,dc=net“ -topobjowner</em></p>
<p>Durch dieses Kommando kann man einsehen, wie viele Objekte ein Benutzer oder eine Gruppe in der angegebenen Partition besitzt. Standardm&auml;&szlig;ig gibt „dsget“ die ersten top zehn Benutzer aus. Man kann hier hinter den Parameter „-topjobowner“ eine Zahl angeben, die beeinflusst, wie viele Benutzer oder Gruppen angezeigt werden. Durch die Angabe von „0“ werden alle Benutzer angezeigt.<br />
<strong>Vorsicht!</strong> Bei der Angabe von „0“ kann der Dom&auml;nencontroller stark ausgelastet werden und die Abfrage kann sehr viel Zeit in Anspruch nehmen.</p>
<p>Was ist aber, wenn Paul vorhandene Objekte gel&ouml;scht hat? Werden diese Objekte auch in das Kontingent mit einbezogen? Die Antwort f&uuml;r diese Frage lautet „jein“. Wenn der Benutzer Objekte l&ouml;scht, dann werden diese zu 100% f&uuml;r die Dauer der Tombstone Lifetime auf sein Kontingent angerechnet. In einer einheitlichen Umgebung unter Windows 2003 SP1, die nicht durch ein Update von Windows 2000 bzw. Windows 2003 installiert wurde, betr&auml;gt die Tombstone Lifetime 180 Tage. Unser Benutzer muss also f&uuml;r 180 Tage auch mit den gel&ouml;schten Objekten leben.<br />
Windows w&auml;re aber nicht Windows, wenn es dort nicht noch eine M&ouml;glichkeit g&auml;be, dieses Problem zu umgehen. Man kann f&uuml;r jede Partition eine globale Einstellung vornehmen, zu wie viel Prozent ein gel&ouml;schtes Objekt in die Kontingentberechnung eingeht. Diese Festlegung kann &uuml;ber die Kommandozeile getroffen werden:</p>
<p><em><a href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/dsmod_partition_qtmbstnwt.jpg" title="dsmod_partition_qtmbstnwt.jpg"><img src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/dsmod_partition_qtmbstnwt.thumbnail.jpg" alt="dsmod_partition_qtmbstnwt.jpg" /></a> </em></p>
<p><em>dsmod partition &#034;dc=faq-o-matic,dc=net&#034; -qtmbstnwt 10</em></p>
<p><strong>ACHTUNG!</strong> Der Parameter „-qtmbstnwt“ ist in der Hilfe von „dsmod partition“ falsch dargestellt. Dort steht als erforderlicher Parameter „-qtmbstawt“. Dieser Eintrag ist falsch!</p>
<p>Was hei&szlig;t das nun in der Praxis:</p>
<p>In der obigen Kommandozeile haben wir also den Prozentsatz f&uuml;r die gel&ouml;schten Objekte in der Dom&auml;nenpartition auf 10 Prozent festgelegt. Wenn unser Nutzer Paul ein Kontingent von 350 Objekten hat, dann kann er 3500 gel&ouml;schte Objekte besitzen, bevor sein Kontingent ersch&ouml;pft ist.</p>
<p>Jetzt kommt nat&uuml;rlich der Test, ob unser oben angelegtes Kontingent auch Wirkung zeigt. Paul wird jetzt das Skript auf unser AD loslassen und damit den Versuch starten, unser AD lahm zu legen. Kurz nachdem Paul das Skript ausgef&uuml;hrt hat, schmettert ihm das Active Directory eine Fehlermeldung entgegen.</p>
<p> <a href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/aduc_skript.jpg" title="aduc_skript.jpg"><img src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/aduc_skript.thumbnail.jpg" alt="aduc_skript.jpg" /></a></p>
<p>Pauls Kontingent wurde ersch&ouml;pft und er kann keine weiteren Objekte im Active Directory anlegen. Dadurch wurde Pauls Angriff auf das AD verhindert.</p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2006/08/26/dhcp-server-autorisieren-ohne-organisations-admin-rechte/' rel='bookmark' title='DHCP-Server autorisieren ohne Organisations-Admin-Rechte'>DHCP-Server autorisieren ohne Organisations-Admin-Rechte</a> <br /><small>Um in einer Active-Directory-Umgebung einen auf Windows 2000/2003 basierenden DHCP-Server...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/09/28/iir-admin-tech-talk-2010-folien-und-skripts-meiner-ad-sessions/' rel='bookmark' title='IIR Admin Tech Talk 2010: Folien und Skripts meiner AD-Sessions'>IIR Admin Tech Talk 2010: Folien und Skripts meiner AD-Sessions</a> <br /><small>Am 27. und 28. September 2010 fand in Oberursel bei...</small></li>
<li><a href='http://www.faq-o-matic.net/2002/09/09/wie-kann-ich-den-pfad-zum-home-folder-mehrerer-benutzer-aendern/' rel='bookmark' title='Wie kann ich den Pfad zum Home-Folder mehrerer Benutzer (oder auch andere Werte) &#228;ndern?'>Wie kann ich den Pfad zum Home-Folder mehrerer Benutzer (oder auch andere Werte) &#228;ndern?</a> <br /><small>Unter Windows 2000&nbsp;war es leider nicht m&ouml;glich, bei mehreren Objekten...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2008/01/13/maulkorb-fuer-den-ou-admin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Schema-Versionen vergleichen</title>
		<link>http://www.faq-o-matic.net/2007/10/21/schema-versionen-vergleichen/</link>
		<comments>http://www.faq-o-matic.net/2007/10/21/schema-versionen-vergleichen/#comments</comments>
		<pubDate>Sun, 21 Oct 2007 14:53:00 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[AD-Schema]]></category>
		<category><![CDATA[Downloads]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://faq-o-matic.net.dd18938.kasserver.com/2007/10/21/schema-versionen-vergleichen/</guid>
		<description><![CDATA[In dem k&#252;rzlich hier erschienenen Artikel &#034;Schema-Erweiterungen auffinden&#034; habe ich einen manuellen Weg beschrieben, mit dem sich Erweiterungen im Schema des Active Directory &#252;ber einen Vergleich von zwei CSV-Exportdateien ausfindig machen lassen. Mit dem Skript &#034;CompareSchemaCSV.vbs&#034; l&#228;sst sich dies nun automatisieren. Das Skript gibt es hier zum Download:   Update 7. 12. 2011: Wie ich [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2007/05/21/schema-erweiterungen-auffinden/' rel='bookmark' title='Schema-Erweiterungen auffinden'>Schema-Erweiterungen auffinden</a> <small>Wer eine fremde Active-Directory-Umgebung &uuml;bernimmt oder bearbeitet, steht vor der...</small></li>
<li><a href='http://www.faq-o-matic.net/2006/05/20/technet-webcast-zum-ad-schema/' rel='bookmark' title='TechNet-Webcast zum AD-Schema'>TechNet-Webcast zum AD-Schema</a> <small>Am&nbsp;28. April 2006&nbsp;habe ich f&uuml;r Microsoft TechNet einen einst&uuml;ndigen Webcast...</small></li>
<li><a href='http://www.faq-o-matic.net/2003/04/16/was-muss-ich-bei-der-schema-erweiterung-beachten/' rel='bookmark' title='Was muss ich bei der Schema-Erweiterung beachten?'>Was muss ich bei der Schema-Erweiterung beachten?</a> <small>Vieles! Das &Auml;ndern des AD-Schemas ist ein schwerwiegender Eingriff, der...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>In dem k&uuml;rzlich hier erschienenen Artikel &#034;<a href="/2007/05/21/schema-erweiterungen-auffinden/">Schema-Erweiterungen auffinden</a>&#034; habe ich einen manuellen Weg beschrieben, mit dem sich Erweiterungen im Schema des Active Directory &uuml;ber einen Vergleich von zwei CSV-Exportdateien ausfindig machen lassen. Mit dem Skript &#034;CompareSchemaCSV.vbs&#034; l&auml;sst sich dies nun automatisieren. Das Skript gibt es hier zum Download:</p>
<p><span id="more-695"></span></p>
<p>Note: There is a file embedded within this post, please visit this post to download the file.<strong> </strong></p>
<blockquote><p>Update 7. 12. 2011: Wie ich gerade erfahre, gibt es im Lieferumfang aktueller Windows-Server ein Werkzeug, das sehr &auml;hnlich vorgeht. Hier ein Blog-Artikel dazu vom AD-Team bei Microsoft:</p>
<p>[Determine Applied Schema Extensions with AD DS/LDS Schema Analyzer - Ask the Directory Services Team - Site Home - TechNet Blogs]<br />
<a href="http://blogs.technet.com/b/askds/archive/2009/01/20/determine-applied-schema-extensions-with-ad-ds-lds-schema-analyzer.aspx">http://blogs.technet.com/b/askds/archive/2009/01/20/determine-applied-schema-extensions-with-ad-ds-lds-schema-analyzer.aspx</a></p></blockquote>
<p><strong>Vorbereitung</strong></p>
<p>Genau wie bei der manuellen Methode m&uuml;ssen auch hier zwei CSV-Exportdateien des AD-Schema vorhanden sein. Die erste Datei stellt die Vergleichsgrundlage dar (&#034;Baseline&#034;) und enth&auml;lt in der Regel das Schema in einer Version, die bekannt ist (z.B. Windows Server 2003 R2 mit Exchange Server 2003). Die zweite Datei enth&auml;lt einen aktuellen Export der zu untersuchenden Schema-Version. Ein Kommando, mit dem sich diese Exportdatei erzeugen l&auml;sst, ist das Folgende:</p>
<p><span style="font-family: Lucida Console;">csvde -f &#034;<em>C:\data\schema-baseline.txt</em>&#034;<br />
-d &#034;CN=Schema,CN=Configuration,<em>DC=faq-o-matic,DC=net</em>&#034;<br />
-r &#034;(|(objectClass=attributeSchema)(objectClass=classSchema))&#034;<br />
-l &#034;name,whenCreated,whenChanged,description,mayContain,mustContain,<br />
objectClass,objectCategory,attributeID,governsID,subClassOf,<br />
isSingleValued,lDAPDisplayName&#034;</span></p>
<p>Dieses Kommando muss in einer einzigen zusammenh&auml;ngenden Zeile auf einem Windows-Server in einem CMD-Fenster ausgef&uuml;hrt werden. Der Dateipfad und der Dom&auml;nenname (beide hier kursiv) m&uuml;ssen nat&uuml;rlich angepasst werden. Eine passende Baseline-Datei (f&uuml;r Windows Server 2003 R2, R2 mit Exchange 2003 sowie f&uuml;r Windows Server 2008) kann man bei uns auch herunterladen:</p>
<p>Note: There is a file embedded within this post, please visit this post to download the file.Nun m&uuml;ssen die Speicherpfade beider Dateien in den Skriptcode eingetragen werden. Dazu &ouml;ffnet man die Datei in einem Editor und passt die Zeilen 27 und 30 entsprechend an.</p>
<p><strong>Ausf&uuml;hrung</strong></p>
<p>Das Skript wird in einem CMD-Fenster ausgef&uuml;hrt. Da es nat&uuml;rlich viel Text ausgibt, muss es mit &#034;cscript.exe&#034; ausgef&uuml;hrt werden, &auml;hnlich dem folgenden Kommando:</p>
<p><span style="font-family: Lucida Console;">cscript C:\Pfad\CompareSchemaCSV.exe</span></p>
<p><strong>Achtung:</strong> Das Skript nicht per Doppelklick oder ohne <em>cscript</em> ausf&uuml;hren, sonst gehen sehr viele Dialogboxen auf.</p>
<p>Nun vergleicht das Skript beide Exportdateien und gibt alle Zeilen auf der Kommandozeile aus, die in der zweiten Datei enthalten sind, aber in der ersten Datei fehlen. Als letztes wird die Zahl der gefundenen Unterschiede angezeigt.</p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2007/05/21/schema-erweiterungen-auffinden/' rel='bookmark' title='Schema-Erweiterungen auffinden'>Schema-Erweiterungen auffinden</a> <br /><small>Wer eine fremde Active-Directory-Umgebung &uuml;bernimmt oder bearbeitet, steht vor der...</small></li>
<li><a href='http://www.faq-o-matic.net/2006/05/20/technet-webcast-zum-ad-schema/' rel='bookmark' title='TechNet-Webcast zum AD-Schema'>TechNet-Webcast zum AD-Schema</a> <br /><small>Am&nbsp;28. April 2006&nbsp;habe ich f&uuml;r Microsoft TechNet einen einst&uuml;ndigen Webcast...</small></li>
<li><a href='http://www.faq-o-matic.net/2003/04/16/was-muss-ich-bei-der-schema-erweiterung-beachten/' rel='bookmark' title='Was muss ich bei der Schema-Erweiterung beachten?'>Was muss ich bei der Schema-Erweiterung beachten?</a> <br /><small>Vieles! Das &Auml;ndern des AD-Schemas ist ein schwerwiegender Eingriff, der...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2007/10/21/schema-versionen-vergleichen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Schema-Erweiterungen auffinden</title>
		<link>http://www.faq-o-matic.net/2007/05/21/schema-erweiterungen-auffinden/</link>
		<comments>http://www.faq-o-matic.net/2007/05/21/schema-erweiterungen-auffinden/#comments</comments>
		<pubDate>Mon, 21 May 2007 15:01:00 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[AD-Schema]]></category>
		<category><![CDATA[Dokumentation]]></category>
		<category><![CDATA[Downloads]]></category>

		<guid isPermaLink="false">http://faq-o-matic.net.dd18938.kasserver.com/2007/05/21/schema-erweiterungen-auffinden/</guid>
		<description><![CDATA[Wer eine fremde Active-Directory-Umgebung &#252;bernimmt oder bearbeitet, steht vor der Frage, in welchem Zustand sich diese befindet. Neben der Konfiguration der Umgebung kann es auch relevant sein, ob das AD-Schema erweitert wurde. Leider ist es nicht ganz einfach, Schema-Erweiterungen nachtr&#228;glich ausfindig zu machen, wenn sie nicht ordentlich dokumentiert worden sind. Mit ein wenig manuellem Aufwand [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2007/10/21/schema-versionen-vergleichen/' rel='bookmark' title='Schema-Versionen vergleichen'>Schema-Versionen vergleichen</a> <small>In dem k&uuml;rzlich hier erschienenen Artikel &#034;Schema-Erweiterungen auffinden&#034; habe ich...</small></li>
<li><a href='http://www.faq-o-matic.net/2006/05/20/technet-webcast-zum-ad-schema/' rel='bookmark' title='TechNet-Webcast zum AD-Schema'>TechNet-Webcast zum AD-Schema</a> <small>Am&nbsp;28. April 2006&nbsp;habe ich f&uuml;r Microsoft TechNet einen einst&uuml;ndigen Webcast...</small></li>
<li><a href='http://www.faq-o-matic.net/2003/04/16/was-muss-ich-bei-der-schema-erweiterung-beachten/' rel='bookmark' title='Was muss ich bei der Schema-Erweiterung beachten?'>Was muss ich bei der Schema-Erweiterung beachten?</a> <small>Vieles! Das &Auml;ndern des AD-Schemas ist ein schwerwiegender Eingriff, der...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Wer eine fremde Active-Directory-Umgebung &uuml;bernimmt oder bearbeitet, steht vor der Frage, in welchem Zustand sich diese befindet. Neben der Konfiguration der Umgebung kann es auch relevant sein, ob das AD-Schema erweitert wurde. Leider ist es nicht ganz einfach, Schema-Erweiterungen nachtr&auml;glich ausfindig zu machen, wenn sie nicht ordentlich dokumentiert worden sind. Mit ein wenig manuellem Aufwand lassen sich die Informationen aber relativ schnell herausfinden.</p>
<p><span id="more-479"></span></p>
<p><strong>Die Vergleichs-Methode</strong> </p>
<p>Der Weg geht &uuml;ber den Vergleich der Produktionsumgebung mit einer Referenzumgebung. Im ersten Schritt installiert man also ein Active Directory in eine virtuelle Umgebung, das denselben Service-Pack- und Patchlevel hat wie die Produktionsumgebung. Falls Applikationen eingesetzt werden, von denen bekannt ist, dass sie das AD-Schema erweitern (z. B. Exchange), sollten auch die Schema-Erweiterungen dieser Applikationen installiert werden.</p>
<p>Der zweite Schritt besteht im Export des Schemas beider Umgebungen. Dazu f&uuml;hrt man auf einem Dom&auml;nencontroller der Produktionsumgebung folgendes Kommando in der Eingabeaufforderung durch (das ganze Kommando bildet eine zusammenh&auml;ngende Zeile):</p>
<p>csvde -f D:\temp\schema.txt<br />
-d &#034;CN=Schema,CN=Configuration,DC=DOMAIN,DC=TLD&#034;<br />
- r &#034;(|(objectClass=attributeSchema)(objectClass=classSchema))&#034;<br />
-l &#034;name,whenCreated,whenChanged,mayContain,<br />
mustContain,objectClass,objectCategory,governsID,<br />
subClassOf,attributeID,isSingleValued,lDAPDisplayName&#034;</p>
<p>Der Dateipfad &#034;D:\temp\schema.txt&#034; kann nat&uuml;rlich an die realen Pfade angepasst werden. Ebenso muss statt &#034;DC=DOMAIN,DC=TLD&#034; der LDAP-Pfad der echten Dom&auml;ne angegeben werden.</p>
<p>Dasselbe Kommando wird nun in der Referenzumgebung ausgef&uuml;hrt.</p>
<p>Im dritten Schritt werden beide Textdateien in Excel als CSV-Dateien ge&ouml;ffnet (Trennzeichen: Komma). F&uuml;r beide Dateien wird in Excel dieselbe Sortierung eingestellt (z. B. zuerst nach &#034;objectClass&#034;, dann nach &#034;name&#034;), und dann werden beide nebeneinander angezeigt. So lassen sich die Unterschiede der Schemata (Klassen und Attribute) schnell ausfindig machen. Dazu eignen sich die Funktionen <em>Anordnen</em> und <em>Nebeneinander vergleichen</em> aus dem <em>Fenster</em>-Men&uuml; von Excel (unter Excel 2007 woanders zu finden) sehr gut.</p>
<p>Um den Vorgang zu vereinfachen, habe ich einige Schema-Exportdateien im CSV-Format vorbereitet, die als Referenz dienen k&ouml;nnen. Vor derm Vergleich sollte evtl. der Dom&auml;nenname (lautet auf &#034;DC=faq-o-matic,DC=net&#034;) ge&auml;ndert werden, um automatisierte Vergleiche zu vereinfachen. Die Dateien finden sich hier:</p>
Note: There is a file embedded within this post, please visit this post to download the file.
<p><strong>Update 21. 10. 2007: </strong>Um das Ganze noch einfacher zu machen, habe ich ein Skript gepostet, das den Vergleich beider Exportdateien automatisiert. Der manuelle Vergleich mit Excel kann so entfallen. Mehr dazu: <a href="http://faq-o-matic.net/blogs/faq-o-matic/archive/2007/10/21/schema-versionen-vergleichen.aspx">Schema-Versionen vergleichen</a></p>
<p><strong>Die dsquery-Methode</strong></p>
<p>Dean Wells hat ein Skript geschrieben, das mit Hilfe von <em>repadmin.exe</em> aus den Support Tools und <em>dsquery.exe</em> von Windows Server 2003 einen Vergleich des aktuellen Schemas mit dem Installationszustand erzeugt. Damit lassen sich auch Modifikationen an Standardobjekten identifizieren. Vorsicht: Das Skript erzeugt viele Daten, insbesondere wenn Exchange oder andere gro&szlig;e Schema-Erweiterungen installiert wurden. Der Download findet sich hier: <a href="http://www.activedir.org/Downloads/Files/SchemaDiff.zip">http://www.activedir.org/Downloads/Files/SchemaDiff.zip</a></p>
<p>(Danke f&uuml;r den Hinweis an Norbert Fehlauer)</p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2007/10/21/schema-versionen-vergleichen/' rel='bookmark' title='Schema-Versionen vergleichen'>Schema-Versionen vergleichen</a> <br /><small>In dem k&uuml;rzlich hier erschienenen Artikel &#034;Schema-Erweiterungen auffinden&#034; habe ich...</small></li>
<li><a href='http://www.faq-o-matic.net/2006/05/20/technet-webcast-zum-ad-schema/' rel='bookmark' title='TechNet-Webcast zum AD-Schema'>TechNet-Webcast zum AD-Schema</a> <br /><small>Am&nbsp;28. April 2006&nbsp;habe ich f&uuml;r Microsoft TechNet einen einst&uuml;ndigen Webcast...</small></li>
<li><a href='http://www.faq-o-matic.net/2003/04/16/was-muss-ich-bei-der-schema-erweiterung-beachten/' rel='bookmark' title='Was muss ich bei der Schema-Erweiterung beachten?'>Was muss ich bei der Schema-Erweiterung beachten?</a> <br /><small>Vieles! Das &Auml;ndern des AD-Schemas ist ein schwerwiegender Eingriff, der...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2007/05/21/schema-erweiterungen-auffinden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wie kann ich beeinflussen, welche Attribute beim Kopieren eines Benutzers kopiert werden?</title>
		<link>http://www.faq-o-matic.net/2006/06/18/wie-kann-ich-beeinflussen-welche-attribute-beim-kopieren-eines-benutzers-kopiert-werden/</link>
		<comments>http://www.faq-o-matic.net/2006/06/18/wie-kann-ich-beeinflussen-welche-attribute-beim-kopieren-eines-benutzers-kopiert-werden/#comments</comments>
		<pubDate>Sun, 18 Jun 2006 15:06:00 +0000</pubDate>
		<dc:creator>Frank Röder</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[AD-Schema]]></category>

		<guid isPermaLink="false">http://faq-o-matic.net.dd18938.kasserver.com/2006/06/18/wie-kann-ich-beeinflussen-welche-attribute-beim-kopieren-eines-benutzers-kopiert-werden/</guid>
		<description><![CDATA[Wenn man in Active Directory ein vorhandenes Benutzerobjekt kopiert, dann wird eine Untermenge der verf&#252;gbaren Attribute in das neue Objekt &#252;bernommen. Wie kann man aber steuern, welche Attribute mit kopiert werden und welche nicht? Die Antwort ist: &#220;ber das Schema. Im AD-Schema ist definiert, welche Attribute beim Kopieren von Objekten &#252;ber die GUI-Tools mitopiert werden [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2006/06/11/wie-kann-ich-abfragen-welche-rechner-welches-service-pack-haben/' rel='bookmark' title='Wie kann ich abfragen, welche Rechner welches Service Pack haben?'>Wie kann ich abfragen, welche Rechner welches Service Pack haben?</a> <small>csvde-Methode&nbsp; von Nils Kaczenski Im AD wird eine Angabe &uuml;ber...</small></li>
<li><a href='http://www.faq-o-matic.net/2004/09/27/wie-kann-ich-ueberpruefen-welche-benutzer-gesperrt-oder-deaktiviert-sind/' rel='bookmark' title='Wie kann ich &#252;berpr&#252;fen, welche Benutzer gesperrt oder deaktiviert sind?'>Wie kann ich &#252;berpr&#252;fen, welche Benutzer gesperrt oder deaktiviert sind?</a> <small>Das ist recht komplex. Es gibt zwar einen LDAP-Query, den...</small></li>
<li><a href='http://www.faq-o-matic.net/2004/09/10/wie-kann-ich-den-besitzer-eines-ordners-einer-datei-aendern/' rel='bookmark' title='Wie kann ich den Besitzer eines Ordners/einer Datei &#228;ndern?'>Wie kann ich den Besitzer eines Ordners/einer Datei &#228;ndern?</a> <small>Die offizielle Lesart ist: Das Berechtigungssystem von Windows kennt f&uuml;r...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Wenn man in Active Directory ein vorhandenes Benutzerobjekt kopiert, dann wird eine Untermenge der verf&uuml;gbaren Attribute in das neue Objekt &uuml;bernommen. Wie kann man aber steuern, welche Attribute mit kopiert werden und welche nicht?</p>
<p><span id="more-605"></span>
<p>Die Antwort ist: &Uuml;ber das Schema. Im AD-Schema ist definiert, welche Attribute beim Kopieren von Objekten &uuml;ber die GUI-Tools mitopiert werden sollen. Ob sich ein Tool, das zur Administration eingesetzt wird, allerdings daran h&auml;lt, ist Sache des Toolprogrammierers. Der Kopiervorgang wird hier nicht &uuml;ber Active Directory ausgef&uuml;hrt, sondern durch das Administrationsprogramm. </p>
<p>Wer die zu kopierenden Attribute also selbst beeinflussen will, muss das AD-Schema bearbeiten. <strong>Achtung:</strong> Dies ist ein hochsensibler Vorgang &#8211; man sollte wissen, was man tut, und vorher f&uuml;r eine ordentliche Datensicherung sorgen!</p>
<h6>Manipulieren der zu kopierenden Attribute</h6>
<p>Als Erstes muss man hierf&uuml;r das Snapin f&uuml;r das &#034;Active Directory Schema&#034; registrieren. Dies kann man durch die Eingabe von &#034;regsvr32 schmmgmt.dll&#034; unter &quot;Start&quot; &gt; &quot;Ausf&uuml;hren&quot; erreichen. Danach kann man das &#034;Active Directory Schema Snapin&#034; in einer MMC nutzen:</p>
<p><a class="" title="Flashfilm: regsvr32" href="/wp-content/uploads/artikel/roeder/regsvr32/regsvr32.html">Flashfilm: regsvr32</a></p>
<p>Ich m&ouml;chte anhand des Attributes &#034;logonHours&#034; demonstrieren, wie das Kopieren eines Attributes verhindert werden kann. Dazu habe ich einen Testbenutzer angelegt, der sich nur zu bestimmten Uhrzeiten anmelden darf. Dieses Attribut wird standardm&auml;ssig beim Kopiervorgang in das neue Benutzerobjekt &uuml;bernommen. Durch eine Ver&auml;nderung der Eigenschaften des Attributs kann man ein Kopieren verhindern. </p>
<p><a href="/wp-content/uploads/artikel/roeder/kopieren/kopieren.html">Flashfilm: Kopieren abschalten</a></p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2006/06/11/wie-kann-ich-abfragen-welche-rechner-welches-service-pack-haben/' rel='bookmark' title='Wie kann ich abfragen, welche Rechner welches Service Pack haben?'>Wie kann ich abfragen, welche Rechner welches Service Pack haben?</a> <br /><small>csvde-Methode&nbsp; von Nils Kaczenski Im AD wird eine Angabe &uuml;ber...</small></li>
<li><a href='http://www.faq-o-matic.net/2004/09/27/wie-kann-ich-ueberpruefen-welche-benutzer-gesperrt-oder-deaktiviert-sind/' rel='bookmark' title='Wie kann ich &#252;berpr&#252;fen, welche Benutzer gesperrt oder deaktiviert sind?'>Wie kann ich &#252;berpr&#252;fen, welche Benutzer gesperrt oder deaktiviert sind?</a> <br /><small>Das ist recht komplex. Es gibt zwar einen LDAP-Query, den...</small></li>
<li><a href='http://www.faq-o-matic.net/2004/09/10/wie-kann-ich-den-besitzer-eines-ordners-einer-datei-aendern/' rel='bookmark' title='Wie kann ich den Besitzer eines Ordners/einer Datei &#228;ndern?'>Wie kann ich den Besitzer eines Ordners/einer Datei &#228;ndern?</a> <br /><small>Die offizielle Lesart ist: Das Berechtigungssystem von Windows kennt f&uuml;r...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2006/06/18/wie-kann-ich-beeinflussen-welche-attribute-beim-kopieren-eines-benutzers-kopiert-werden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TechNet-Webcast zum AD-Schema</title>
		<link>http://www.faq-o-matic.net/2006/05/20/technet-webcast-zum-ad-schema/</link>
		<comments>http://www.faq-o-matic.net/2006/05/20/technet-webcast-zum-ad-schema/#comments</comments>
		<pubDate>Sat, 20 May 2006 14:40:00 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[AD-Schema]]></category>
		<category><![CDATA[Webcast]]></category>

		<guid isPermaLink="false">http://faq-o-matic.net.dd18938.kasserver.com/2006/05/20/technet-webcast-zum-ad-schema/</guid>
		<description><![CDATA[Am&#160;28. April 2006&#160;habe ich f&#252;r Microsoft TechNet einen einst&#252;ndigen Webcast &#252;ber die Arbeit mit dem Schema des Active Directory gehalten. Es geht dabei neben einigen theoretischen Grundlagen zum Schema vor allem um praktische Aspekte bei der Erweiterung des Schema. Mit vielen Praxisdemos beleuchte ich, was ihr ber&#252;cksichtigen solltet, wenn ihr mit dem AD-Schema arbeiten wollt, [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2006/08/23/technet-webcast-active-directory-richtig-sichern-und-wiederherstellen/' rel='bookmark' title='TechNet-Webcast: Active Directory richtig sichern und wiederherstellen'>TechNet-Webcast: Active Directory richtig sichern und wiederherstellen</a> <small>Am 23. August 2006 habe ich f&uuml;r Microsoft TechNet einen...</small></li>
<li><a href='http://www.faq-o-matic.net/2003/04/16/was-muss-ich-bei-der-schema-erweiterung-beachten/' rel='bookmark' title='Was muss ich bei der Schema-Erweiterung beachten?'>Was muss ich bei der Schema-Erweiterung beachten?</a> <small>Vieles! Das &Auml;ndern des AD-Schemas ist ein schwerwiegender Eingriff, der...</small></li>
<li><a href='http://www.faq-o-matic.net/2007/10/21/schema-versionen-vergleichen/' rel='bookmark' title='Schema-Versionen vergleichen'>Schema-Versionen vergleichen</a> <small>In dem k&uuml;rzlich hier erschienenen Artikel &#034;Schema-Erweiterungen auffinden&#034; habe ich...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Am&nbsp;28. April 2006&nbsp;habe ich f&uuml;r Microsoft TechNet einen einst&uuml;ndigen Webcast &uuml;ber die Arbeit mit dem Schema des Active Directory gehalten. Es geht dabei neben einigen theoretischen Grundlagen zum Schema vor allem um praktische Aspekte bei der Erweiterung des Schema. Mit vielen Praxisdemos beleuchte ich, was ihr ber&uuml;cksichtigen solltet, wenn ihr mit dem AD-Schema arbeiten wollt, wann ihr lieber die Finger vom Schema lasst und wir ihr sicherstellt, dass eure Schema-Erweiterung auch auf technisch sauber verl&auml;uft. Abschlie&szlig;end demonstriere ich, wie ihr eure Schema-Erweiterung dann auch ohne riesige Programmierkenntnisse nutzen k&ouml;nnt.</p>
<p>Der Download des Webcast ist m&ouml;glich &uuml;ber: <a href="http://www.microsoft.com/germany/technet/webcasts/eventdetail.aspx?EventID=1032297149">http://www.microsoft.com/germany/technet/webcasts/eventdetail.aspx?EventID=1032297149</a></p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2006/08/23/technet-webcast-active-directory-richtig-sichern-und-wiederherstellen/' rel='bookmark' title='TechNet-Webcast: Active Directory richtig sichern und wiederherstellen'>TechNet-Webcast: Active Directory richtig sichern und wiederherstellen</a> <br /><small>Am 23. August 2006 habe ich f&uuml;r Microsoft TechNet einen...</small></li>
<li><a href='http://www.faq-o-matic.net/2003/04/16/was-muss-ich-bei-der-schema-erweiterung-beachten/' rel='bookmark' title='Was muss ich bei der Schema-Erweiterung beachten?'>Was muss ich bei der Schema-Erweiterung beachten?</a> <br /><small>Vieles! Das &Auml;ndern des AD-Schemas ist ein schwerwiegender Eingriff, der...</small></li>
<li><a href='http://www.faq-o-matic.net/2007/10/21/schema-versionen-vergleichen/' rel='bookmark' title='Schema-Versionen vergleichen'>Schema-Versionen vergleichen</a> <br /><small>In dem k&uuml;rzlich hier erschienenen Artikel &#034;Schema-Erweiterungen auffinden&#034; habe ich...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2006/05/20/technet-webcast-zum-ad-schema/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wo finde ich eine Dokumentation des AD-Schemas?</title>
		<link>http://www.faq-o-matic.net/2003/10/17/wo-finde-ich-eine-dokumentation-des-ad-schemas/</link>
		<comments>http://www.faq-o-matic.net/2003/10/17/wo-finde-ich-eine-dokumentation-des-ad-schemas/#comments</comments>
		<pubDate>Fri, 17 Oct 2003 14:28:00 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[AD-Schema]]></category>

		<guid isPermaLink="false">http://faq-o-matic.net.dd18938.kasserver.com/2003/10/17/wo-finde-ich-eine-dokumentation-des-ad-schemas/</guid>
		<description><![CDATA[Folgende sind die einfachsten M&#246;glichkeiten: Untersuche das Schema mit dem MMC-Snap-in &#34;Active Directory-Schema&#34; (bei installiertem Adminpak das Snap-in zun&#228;chst registrieren mit regsvr32 schmmgmt.dll, dann das Snap-in zu einer MMC hinzuf&#252;gen) Die Schema-Doku im MSDN (msdn.microsoft.com) Exportiere das Schema in eine Textdatei, die du mit Excel o.&#160;&#228;. ansehen kannst. Das geht z.&#160;B. mit csvde.exe: csvde -d [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2003/04/16/was-muss-ich-bei-der-schema-erweiterung-beachten/' rel='bookmark' title='Was muss ich bei der Schema-Erweiterung beachten?'>Was muss ich bei der Schema-Erweiterung beachten?</a> <small>Vieles! Das &Auml;ndern des AD-Schemas ist ein schwerwiegender Eingriff, der...</small></li>
<li><a href='http://www.faq-o-matic.net/2003/07/25/carlos-konfigurationsmaske-fuer-csvde-exe/' rel='bookmark' title='Carlos: Konfigurationsmaske f&#252;r csvde.exe'>Carlos: Konfigurationsmaske f&#252;r csvde.exe</a> <small>Mit dem in Windows 2000 Server und Windows Server 2003...</small></li>
<li><a href='http://www.faq-o-matic.net/2007/05/21/schema-erweiterungen-auffinden/' rel='bookmark' title='Schema-Erweiterungen auffinden'>Schema-Erweiterungen auffinden</a> <small>Wer eine fremde Active-Directory-Umgebung &uuml;bernimmt oder bearbeitet, steht vor der...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Folgende sind die einfachsten M&ouml;glichkeiten:</p>
<ul>
<li>Untersuche das Schema mit dem MMC-Snap-in &quot;Active Directory-Schema&quot; (bei installiertem Adminpak das Snap-in zun&auml;chst registrieren mit <font face="Lucida Console" color="#0000c0">regsvr32 schmmgmt.dll</font>, dann das Snap-in zu einer MMC hinzuf&uuml;gen)
<li>Die Schema-Doku im MSDN (msdn.microsoft.com)
<li>Exportiere das Schema in eine Textdatei, die du mit Excel o.&nbsp;&auml;. ansehen kannst. Das geht z.&nbsp;B. mit <a>csvde.exe</a>: <br /><font face="Lucida Console" color="#0000c0">csvde -d &quot;cn=schema,cn=configuration,dc=deinedomain,dc=local&quot; -u -n -f schema.txt</font> </li>
</ul>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2003/04/16/was-muss-ich-bei-der-schema-erweiterung-beachten/' rel='bookmark' title='Was muss ich bei der Schema-Erweiterung beachten?'>Was muss ich bei der Schema-Erweiterung beachten?</a> <br /><small>Vieles! Das &Auml;ndern des AD-Schemas ist ein schwerwiegender Eingriff, der...</small></li>
<li><a href='http://www.faq-o-matic.net/2003/07/25/carlos-konfigurationsmaske-fuer-csvde-exe/' rel='bookmark' title='Carlos: Konfigurationsmaske f&#252;r csvde.exe'>Carlos: Konfigurationsmaske f&#252;r csvde.exe</a> <br /><small>Mit dem in Windows 2000 Server und Windows Server 2003...</small></li>
<li><a href='http://www.faq-o-matic.net/2007/05/21/schema-erweiterungen-auffinden/' rel='bookmark' title='Schema-Erweiterungen auffinden'>Schema-Erweiterungen auffinden</a> <br /><small>Wer eine fremde Active-Directory-Umgebung &uuml;bernimmt oder bearbeitet, steht vor der...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2003/10/17/wo-finde-ich-eine-dokumentation-des-ad-schemas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

