<?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; Frank R&ouml;der</title>
	<atom:link href="http://www.faq-o-matic.net/author/frank-roeder/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, 01 Feb 2012 05:19: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>AD Snapshots „Deluxe“</title>
		<link>http://www.faq-o-matic.net/2008/10/26/ad-snapshots-deluxe/</link>
		<comments>http://www.faq-o-matic.net/2008/10/26/ad-snapshots-deluxe/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 16:36:12 +0000</pubDate>
		<dc:creator>Frank Röder</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[AD: Erweiterte Abfragen]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows Server 2008]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/?p=957</guid>
		<description><![CDATA[Dass man unter Windows Server 2008 mit dem Kommandozeilenprogramm „ntdsutil“ Snapshots von einem produktiven Active Directory erstellen kann, ist bereits weitl&#228;ufig bekannt. Siehe dazu z.B. unseren Artikel: [faq-o-matic.net » Windows Server 2008: Snapshots des Active Directory] http://www.faq-o-matic.net/2007/04/30/windows-server-2008-snapshots-des-active-directory/ Wenn man sich allerdings etwas eingehender mit dieser Funktion besch&#228;ftigt, dann wird man recht schnell feststellen, dass man [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2007/04/30/windows-server-2008-snapshots-des-active-directory/' rel='bookmark' title='Windows Server 2008: Snapshots des Active Directory'>Windows Server 2008: Snapshots des Active Directory</a> <small>(Dies ist die am 28. Februar 2009 &uuml;berarbeitete Fassung des...</small></li>
<li><a href='http://www.faq-o-matic.net/2009/08/18/bug-im-dsct-kein-recovery-bei-backslash-im-namen/' rel='bookmark' title='[Update] Bug im DSCT: Kein Recovery bei Backslash im Namen'>[Update] Bug im DSCT: Kein Recovery bei Backslash im Namen</a> <small>Fredrik Lindstr&ouml;m hat uns das hervorragende Werkzeug “Directory Services Comparison...</small></li>
<li><a href='http://www.faq-o-matic.net/2009/08/22/ice2009-ad-recovery-die-folien/' rel='bookmark' title='ice:2009: AD-Recovery &ndash; die Folien'>ice:2009: AD-Recovery &ndash; die Folien</a> <small>Hier die Folien zu meiner Session “Active Directory Disaster Recovery:...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Dass man unter Windows Server 2008 mit dem Kommandozeilenprogramm „ntdsutil“ Snapshots von einem produktiven Active Directory erstellen kann, ist bereits weitl&auml;ufig bekannt. Siehe dazu z.B. unseren Artikel:</p>
<p>[faq-o-matic.net » Windows Server 2008: Snapshots des Active Directory]<br />
<a href="http://www.faq-o-matic.net/2007/04/30/windows-server-2008-snapshots-des-active-directory/">http://www.faq-o-matic.net/2007/04/30/windows-server-2008-snapshots-des-active-directory/</a></p>
<p>Wenn man sich allerdings etwas eingehender mit dieser Funktion besch&auml;ftigt, dann wird man recht schnell feststellen, dass man mit diesen Snapshots nicht viel anfangen kann. Wenn man zum Beispiel Ver&auml;nderungen nachverfolgen m&ouml;chte, die seit dem Erstellen des Snapshots aufgetreten sind, dann ist das mit den Boardmitteln des Servers recht m&uuml;hselig beziehungsweise in gr&ouml;&szlig;eren Umgebungen fast unm&ouml;glich. Deshalb habe ich schon des &Ouml;fteren dar&uuml;ber nachgedacht, ein Tool zu entwickeln, was automatisch diese Ver&auml;nderungen auffinden kann und diese dann zur Darstellung bringt.</p>
<p>Bevor ich solche gro&szlig;en Projekte anfange, bem&uuml;he ich „google“, um eventuell L&ouml;sungsans&auml;tze oder auch schon fertige Anwendungen zu finden. Dabei ist mir das Tool „Directory Service Comparison Tool 1.2.1” aufgefallen, was durch Fredrik Lindstr&ouml;m entwickelt wurde. Dieses MMC Snapin erf&uuml;llt alle Dinge, die man sich bei der Arbeit mit AD Snapshots nur w&uuml;nschen kann.</p>
<p><span id="more-957"></span>Zu den Features z&auml;hlen:</p>
<ul>
<li>Anzeigen von Unterschieden zwischen Objekten im produktiven Active Directory und einem Active Directory Snapshot</li>
<li>Wiederherstellen von Objektattributen mit der Hilfe eines Snapshots</li>
<li>Wiederherstellen gel&ouml;schter Objekte im produktiven Active Directory</li>
<li>Wiederherstellen von Gruppenmitgliedschaften</li>
</ul>
<p>Damit man mit diesem Tool arbeiten kann, ben&ouml;tigt man als Erstes einen AD Snapshot, der mit dem Kommandozeilenprogramm „dsamain“ bereitgestellt wurde. Wie Snapshots erstellt und bereitgestellt werden, wird in unserem oben aufgef&uuml;hrten Artikel erkl&auml;rt.</p>
<p>Danach ben&ouml;tigt man nat&uuml;rlich noch das <a title="Directory Service Comparision Tool" href="http://lindstrom.nullsession.com/?page_id=11" target="_blank">„Directory Service Comparison Tool 1.2.1”</a>.<br />
Nach dem Herunterladen und Installieren hat kann man es als Snapin in eine MMC hinzuf&uuml;gen.<a href="http://www.faq-o-matic.net/wp-content/uploads/2008/10/1_addmmc.jpg"><img class="size-thumbnail wp-image-958 alignleft" title="Snapin" src="http://www.faq-o-matic.net/wp-content/uploads/2008/10/1_addmmc-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>Anschlie&szlig;end muss man eine Verbindung zum produktiven Active Directroy und zum bereitgestellten Snapshot herstellen.<br />
<a href="http://www.faq-o-matic.net/wp-content/uploads/2008/10/2_datasource_settings.jpg"><img class="alignleft size-thumbnail wp-image-960" title="Datasource Settings" src="http://www.faq-o-matic.net/wp-content/uploads/2008/10/2_datasource_settings-150x150.jpg" alt="" width="150" height="150" /></a><br />
<a href="http://www.faq-o-matic.net/wp-content/uploads/2008/10/3_datasource.jpg"><img class="alignright size-thumbnail wp-image-961" title="Datasource" src="http://www.faq-o-matic.net/wp-content/uploads/2008/10/3_datasource-150x150.jpg" alt="" width="150" height="150" /></a><br />
Wenn die Verbindung erfolgreich war, kommt es noch zu einer kleinen Abfrage. Diese Abfrage ist notwendig, da bei einem Active Directory Snapshot die „highestCommitedUSN“ ver&auml;ndert wird. Dadurch erscheint der Snapshot aktueller als das produktive Active Directory. Diesen Bug hat Fredrik galant umschifft, indem er ein Attribut eines Benutzers solange aktualisiert, bis das produktive Active Directory eine h&ouml;here „highestCommitedUSN“ als der Snapshot hat.</p>
<p>Nachdem das erledigt ist, werden sofort die Unterschiede zwischen beiden Versionen angezeigt. Ich habe in meiner Demoumgebung alle M&ouml;glichkeiten nachgestellt. Als Erstes habe ich bei einer bereits existierenden Gruppe das Feld „Beschreibung“ ausgef&uuml;llt.<br />
<a href="http://www.faq-o-matic.net/wp-content/uploads/2008/10/4_object_modified.jpg"><img class="alignleft size-thumbnail wp-image-962" title="Objekt modifiziert" src="http://www.faq-o-matic.net/wp-content/uploads/2008/10/4_object_modified-150x150.jpg" alt="" width="150" height="150" /></a><br />
Auch mein neuerstellter Benutzer wurde einwandfrei durch das Tool erkannt.<br />
<a href="http://www.faq-o-matic.net/wp-content/uploads/2008/10/5_new_user.jpg"><img class="alignleft size-thumbnail wp-image-963" title="Neuer Benutzer" src="http://www.faq-o-matic.net/wp-content/uploads/2008/10/5_new_user-150x150.jpg" alt="" width="150" height="150" /></a><br />
Bei meinem dritten Versuch habe ich ein Objekt im produktiven Active Directory gel&ouml;scht. Das Tool erkennt dieses gel&ouml;schte Objekt und bietet auch das Wiederherstellen an. Der Vorteil des Wiederherstellens von Objekten aus einem Snapshot heraus besteht darin, dass man auch alle Attribute des Objektes wiederherstellen kann. Dadurch kann man zum Beispiel bei gel&ouml;schten Benutzern auch die Gruppenmitgliedschaften wiederherstellen.<br />
<a href="http://www.faq-o-matic.net/wp-content/uploads/2008/10/6_deleted_object.jpg"><img class="alignleft size-thumbnail wp-image-964" title="Gel&ouml;schtes Objekt" src="http://www.faq-o-matic.net/wp-content/uploads/2008/10/6_deleted_object-150x150.jpg" alt="" width="150" height="150" /></a><br />
Alles in allem kann man auf dieses Tool nicht verzichten, wenn man ernsthaft mit Active Directory Snapshots arbeiten will.</p>
<p>Vielen Dank an Fredrik f&uuml;r die Zeit und M&uuml;he, die er in dieses Tool investiert hat.</p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2007/04/30/windows-server-2008-snapshots-des-active-directory/' rel='bookmark' title='Windows Server 2008: Snapshots des Active Directory'>Windows Server 2008: Snapshots des Active Directory</a> <br /><small>(Dies ist die am 28. Februar 2009 &uuml;berarbeitete Fassung des...</small></li>
<li><a href='http://www.faq-o-matic.net/2009/08/18/bug-im-dsct-kein-recovery-bei-backslash-im-namen/' rel='bookmark' title='[Update] Bug im DSCT: Kein Recovery bei Backslash im Namen'>[Update] Bug im DSCT: Kein Recovery bei Backslash im Namen</a> <br /><small>Fredrik Lindstr&ouml;m hat uns das hervorragende Werkzeug “Directory Services Comparison...</small></li>
<li><a href='http://www.faq-o-matic.net/2009/08/22/ice2009-ad-recovery-die-folien/' rel='bookmark' title='ice:2009: AD-Recovery &ndash; die Folien'>ice:2009: AD-Recovery &ndash; die Folien</a> <br /><small>Hier die Folien zu meiner Session “Active Directory Disaster Recovery:...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2008/10/26/ad-snapshots-deluxe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RDP absichern &#8211; aber wie?</title>
		<link>http://www.faq-o-matic.net/2008/08/20/rdp-absichern-aber-wie/</link>
		<comments>http://www.faq-o-matic.net/2008/08/20/rdp-absichern-aber-wie/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 18:44:46 +0000</pubDate>
		<dc:creator>Frank Röder</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Terminal Server]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/?p=885</guid>
		<description><![CDATA[Die Remotedesktopverwaltung ist jedem Administrator sicherlich ans Herz gewachsen. Dass durch das Aktivieren der Remotedesktopverbindungen auch User zumindest schon einmal bis zum Logonfenster des Servers kommen, ist hier aber ein kleines &#196;rgernis bzw. Sicherheitsrisiko. Zumindest wird der eine oder andere User versuchen, ob ihm eine erfolgreiche Anmeldung m&#246;glich ist. Man k&#246;nnte nat&#252;rlich den Zugriff auf [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2002/02/12/sa-konto-absichern/' rel='bookmark' title='sa-Konto absichern'>sa-Konto absichern</a> <small>Eigentlich ist es seit Jahren bekannt &#8230;&#8230; aber immer wieder...</small></li>
<li><a href='http://www.faq-o-matic.net/2006/01/08/absichern-der-willkommensmeldung-in-exchange/' rel='bookmark' title='Absichern der Willkommensmeldung (&quot;HELO&quot;) in Exchange'>Absichern der Willkommensmeldung (&quot;HELO&quot;) in Exchange</a> <small>Eine der h&auml;ufigsten Schwachstellen in einem Unternehmensnetzwerk ist immer der...</small></li>
<li><a href='http://www.faq-o-matic.net/2005/01/03/warum-kann-ein-benutzer-dateien-aendern-fuer-die-er-keine-rechte-hat/' rel='bookmark' title='Warum kann ein Benutzer Dateien &#228;ndern, f&#252;r die er keine Rechte hat?'>Warum kann ein Benutzer Dateien &#228;ndern, f&#252;r die er keine Rechte hat?</a> <small>Benutzer k&ouml;nnen Dateien l&ouml;schen, auf die sie keinen Zugriff haben....</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Die Remotedesktopverwaltung ist jedem Administrator sicherlich ans Herz gewachsen. Dass durch das Aktivieren der Remotedesktopverbindungen auch User zumindest schon einmal bis zum Logonfenster des Servers kommen, ist hier aber ein kleines &Auml;rgernis bzw. Sicherheitsrisiko. Zumindest wird der eine oder andere User versuchen, ob ihm eine erfolgreiche Anmeldung m&ouml;glich ist. Man k&ouml;nnte nat&uuml;rlich den Zugriff auf RDP durch entsprechende Firewallregeln sch&uuml;tzen. Das ist aber unter gewissen Umst&auml;nden nicht so einfach m&ouml;glich.<br />
<a href="http://www.faq-o-matic.net/wp-content/uploads/2008/08/2xsecurerdp.jpg"><img class="size-thumbnail wp-image-886" style="margin: 5px;" title="2xsecurerdp" src="http://www.faq-o-matic.net/wp-content/uploads/2008/08/2xsecurerdp-150x150.jpg" alt="" width="150" height="150" align="left" /></a><br />
Ein n&uuml;tzliches Tool, was ich schon l&auml;nger in meiner Werkzeugkiste habe, ist „2xSecureRDP4“. Mit diesem Tool hat man die M&ouml;glichkeit, seine RDP Zug&auml;nge besser abzusichern. Der Administrator kann hier die RDP Verbindungen auf Basis der IP-Adresse, der MAC Adresse, des Client Computernamens, der Clientversion oder auch der Tageszeit festmachen. Dadurch ist diese L&ouml;sung wesentlich flexibler als das Einrichten von Firewallregeln. Wer es m&ouml;chte, kann dann auch noch f&uuml;r die einzelnen Filter eigene Popup Meldungen definieren, die dem User dann angezeigt werden, wenn er einen Verbindungsversuch startet, der auf einen Filter passt. Alles in allem ein sehr n&uuml;tzliches Tool, was zudem auch noch Freeware ist und unter Windows Server 2000 und Windows Server 2003 installiert werden kann. Heruntergeladen werden kann es z.B. unter <a href="http://www.download25.com/2x-securerdp-for-terminal-services-download.html"><span style="font-size: small; color: #800080; font-family: Calibri;">http://www.download25.com/2x-securerdp-for-terminal-services-download.html</span></a><span style="font-size: small; font-family: Calibri;">.</span></p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2002/02/12/sa-konto-absichern/' rel='bookmark' title='sa-Konto absichern'>sa-Konto absichern</a> <br /><small>Eigentlich ist es seit Jahren bekannt &#8230;&#8230; aber immer wieder...</small></li>
<li><a href='http://www.faq-o-matic.net/2006/01/08/absichern-der-willkommensmeldung-in-exchange/' rel='bookmark' title='Absichern der Willkommensmeldung (&quot;HELO&quot;) in Exchange'>Absichern der Willkommensmeldung (&quot;HELO&quot;) in Exchange</a> <br /><small>Eine der h&auml;ufigsten Schwachstellen in einem Unternehmensnetzwerk ist immer der...</small></li>
<li><a href='http://www.faq-o-matic.net/2005/01/03/warum-kann-ein-benutzer-dateien-aendern-fuer-die-er-keine-rechte-hat/' rel='bookmark' title='Warum kann ein Benutzer Dateien &#228;ndern, f&#252;r die er keine Rechte hat?'>Warum kann ein Benutzer Dateien &#228;ndern, f&#252;r die er keine Rechte hat?</a> <br /><small>Benutzer k&ouml;nnen Dateien l&ouml;schen, auf die sie keinen Zugriff haben....</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2008/08/20/rdp-absichern-aber-wie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kuriose Fundst&#252;cke</title>
		<link>http://www.faq-o-matic.net/2008/08/15/kuriose-fundstuecke/</link>
		<comments>http://www.faq-o-matic.net/2008/08/15/kuriose-fundstuecke/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 19:19:11 +0000</pubDate>
		<dc:creator>Frank Röder</dc:creator>
				<category><![CDATA[Freie Wildbahn]]></category>
		<category><![CDATA[Sonstiges]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/?p=872</guid>
		<description><![CDATA[Ab und zu kommt einen bei der Arbeit auch die eine oder andere kuriose Sache unter. F&#252;r eine Demonstration wollte ich die msgina.dll manipulieren.   Dabei bin ich &#252;ber diesen Dialog gestolpert. Ab und zu scheinen die Entwickler bei Microsoft, einen eigenwilligen Humor zu entwickeln. Damit auch nicht euer Computer &#034;verarmt&#034;, spendiert ihm doch einfach [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2009/12/30/windows-clients-neu-in-eine-domne-aufnehmen/' rel='bookmark' title='Windows-Clients neu in eine Dom&auml;ne aufnehmen'>Windows-Clients neu in eine Dom&auml;ne aufnehmen</a> <small>Windows-Rechner lassen sich seit Windows NT in eine Dom&auml;ne aufnehmen....</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Ab und zu kommt einen bei der Arbeit auch die eine oder andere kuriose Sache unter. F&uuml;r eine Demonstration wollte ich die msgina.dll manipulieren.</p>
<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2008/08/winxp_msgina.jpg"><img class="size-medium wp-image-873 alignleft" style="margin: 0px 5px;" title="winxp_msgina" src="http://www.faq-o-matic.net/wp-content/uploads/2008/08/winxp_msgina-300x257.jpg" alt="" width="180" height="154" align="left" /></a></p>
<p> </p>
<p>Dabei bin ich &uuml;ber diesen Dialog gestolpert. Ab und zu scheinen die Entwickler bei Microsoft, einen eigenwilligen Humor zu entwickeln. Damit auch nicht euer Computer &#034;verarmt&#034;, spendiert ihm doch einfach mal eine neue Platte oder etwas mehr RAM. Man will ja nicht, dass der eigene Rechner in die ewigen Jagdgr&uuml;nde geht&#8230;..</p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2009/12/30/windows-clients-neu-in-eine-domne-aufnehmen/' rel='bookmark' title='Windows-Clients neu in eine Dom&auml;ne aufnehmen'>Windows-Clients neu in eine Dom&auml;ne aufnehmen</a> <br /><small>Windows-Rechner lassen sich seit Windows NT in eine Dom&auml;ne aufnehmen....</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2008/08/15/kuriose-fundstuecke/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>St&#246;rrischer FSRM</title>
		<link>http://www.faq-o-matic.net/2008/01/19/stoerrischer-fsrm/</link>
		<comments>http://www.faq-o-matic.net/2008/01/19/stoerrischer-fsrm/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 14:28:55 +0000</pubDate>
		<dc:creator>Frank Röder</dc:creator>
				<category><![CDATA[Dateisystem]]></category>
		<category><![CDATA[Dokumentation]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Troubleshooting]]></category>
		<category><![CDATA[Windows Server 2003]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/2008/01/19/stoerrischer-fsrm/</guid>
		<description><![CDATA[Seit der Einf&#252;hrung von Windows Server 2003 R2 hat der Administrator endlich ein Werkzeug in der Hand, mit dem er sehr schnell und effektiv den Speicherplatzbedarf seiner Netzwerkbenutzer auf den Dateiservern analysieren kann. Durch das Erstellen von Speicherberichten kann der Administrator auf einen Blick erkennen, wie viel Speicherplatz ein Benutzer auf einem bestimmten Laufwerk in [...]
Keine verwandten Beiträge.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/ntfs_standard.jpg" title="ntfs_standard.jpg"></a>Seit der Einf&uuml;hrung von Windows Server 2003 R2 hat der Administrator endlich ein Werkzeug in der Hand, mit dem er sehr schnell und effektiv den Speicherplatzbedarf seiner Netzwerkbenutzer auf den Dateiservern analysieren kann. Durch das Erstellen von Speicherberichten kann der Administrator auf einen Blick erkennen, wie viel Speicherplatz ein Benutzer auf einem bestimmten Laufwerk in Anspruch nimmt. Zus&auml;tzlich k&ouml;nnen die Berichte auch noch eingeschr&auml;nkt werden. Das hei&szlig;t, man kann beispielsweise nach Duplikaten suchen oder auch nach Dateien die schon eine l&auml;ngere Zeit nicht mehr benutzt wurden.</p>
<p><span id="more-732"></span><br />
Der Ressourcen-Manager f&uuml;r Dateiserver ist also ein rundum n&uuml;tzliches Werkzeug, das in die Werkzeugsammlung eines jeden Administrators geh&ouml;rt. Ein weiterer Vorteil ist die sehr einfache Einrichtung und Konfiguration des Ressourcen-Manager f&uuml;r Dateiserver.</p>
<p>Neulich bei einem Kunden kam das Problem auf, dass der Platz f&uuml;r die Datensicherung nicht mehr ausreichte. Leider kann man bei diesem Kunden nicht mit Kontingenten auf den Laufwerken arbeiten. Die Mitarbeiter nutzen hier sehr gro&szlig;e Videodateien und andere Bin&auml;rdaten, die auch recht schnell auf ein Gigabyte und mehr anwachsen k&ouml;nnen. Die einzelnen Laufwerke der Server sind mit mehreren Terabyte an Daten gef&uuml;llt. Was liegt also n&auml;her, als einfach mal einen Speicherreport zu erstellen. Ziel des Speicherberichtes war es, Duplikate dieser Video- und Bin&auml;rdateien aufzusp&uuml;ren und dann entsprechend zu l&ouml;schen. Nach einer kurzen Diskussion hatte ich die Freigabe des dort angestellten Administrators und konnte den Ressourcen-Manager f&uuml;r Dateiserver installieren. Nach der Installation und einem anschlie&szlig;enden Neustart machte ich mich an die Erstellung des Berichtes, und von da an nahm das Unheil seinen Lauf.</p>
<p>Nachdem ich das Laufwerk mit dem gr&ouml;&szlig;ten Datenvolumen identifiziert hatte, wollte ich f&uuml;r dieses Laufwerk einen Speicherbericht erstellen. Nach dem Einrichten und dem Klicken auf „OK“ ereilte mich diese Fehlermeldung:<br />
<a target="_blank" href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/fehler_task.jpg" title="Fehler im FSRM"><img src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/fehler_task.thumbnail.jpg" alt="Fehler im FSRM" /></a></p>
<p>F&uuml;r mich kam diese Fehlermeldung genauso unerwartet wie f&uuml;r den Server. OK, was also tun? Der erste Blick ging also in das Ereignisprotokoll, denn das wurde mir ja in der sehr ausf&uuml;hrlichen Fehlermeldung vorgeschlagen. Das offenbarte mir dann Folgendes:</p>
<p><em>Ereignistyp: Fehler<br />
Ereignisquelle: FSRM<br />
Ereigniskategorie: Keine<br />
Ereigniskennung: 0<br />
Datum:  19.01.2008<br />
Zeit:  11:03:27<br />
Benutzer:  Nicht zutreffend<br />
Computer: W2K3-SRV1<br />
Beschreibung:<br />
Unerwarteter Fehler beim MMC-Snap-In Ressourcen-Manager f&uuml;r Dateiserver<br />
bei Microsoft.Storage.SrmMmc.ReportTask.SaveChanges(ISrmReportManager reportManager)<br />
bei Microsoft.Storage.SrmMmc.StorageReportTaskPropertySheet.SaveChanges()<br />
bei Microsoft.Storage.SrmMmc.PropertySheet.OnOkButtonClicked(Object sender, EventArgs eventArgs)<br />
Ung&uuml;ltiges Argument: NamespaceRoots[0] = &#039;E:\&#039;<br />
bei Microsoft.Storage.SrmMmc.ISrmReport.put_NamespaceRoots(Object[] namespaceRoots)<br />
bei Microsoft.Storage.SrmMmc.ReportTask.SaveChanges(ISrmReportManager reportManager)<br />
Weitere Informationen &uuml;ber die Hilfe- und Supportdienste erhalten Sie unter </em><a href="http://go.microsoft.com/fwlink/events.asp"><em>http://go.microsoft.com/fwlink/events.asp</em></a><em>.</em></p>
<p>Super! Das Laufwerk „E:\“ ist also ein ung&uuml;ltiges Argument. Warum es ein „ung&uuml;ltiges Argument“ ist, bleibt aber offen. Der Eintrag im Ereignisprotokoll brachte mich also auch keinen Schritt weiter.</p>
<p>Da ging mir kurzzeitig folgendes durch den Kopf: <em>Da steh ich nun, ich armer Tor!<br />
Und bin so klug als wie zuvor. (J.W.v.Goethe / Faust I) </em></p>
<p>Also hie&szlig; es wieder „selbst ist der Administrator“. Im n&auml;chsten Schritt habe ich mir gedacht, wenn das System mir nicht das Problem verraten will, dann muss ich selbst suchen. Eine andere Alternative blieb mir auch nicht &uuml;brig. F&uuml;r alle Ph&auml;nomene, die mit dem Dateisystem auftreten, bietet sich als Werkzeug „Filemon“ an. Mit Filemon kann man alle Zugriffe auf das Dateisystem in Echtzeit verfolgen. Also habe ich die Zugriffe des Ressourcen-Manager f&uuml;r Dateiserver protokolliert. Das Ergebnis sah so aus:</p>
<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/filemon_accdenied.jpg" title="Filemon"><img src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/filemon_accdenied.thumbnail.jpg" alt="Filemon" /></a></p>
<p>Aha, siehe da, ein „ACCESS DENIED“ f&uuml;r den Prozess „srmhost.exe“. Dieser Prozess ist der Dienst, unter dem der Ressourcen-Manager f&uuml;r Dateiserver l&auml;uft. Der Dienst selbst l&auml;uft unter dem Benutzerkonto „SYSTEM“. Warum kommt aber hier diese Fehlermeldung? Als N&auml;chstes habe ich mir also die NTFS Berechtigung des Laufwerks angesehen und hier lag auch des R&auml;tsels L&ouml;sung:</p>
<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/ntfs_geaendert.jpg" title="ntfs_geaendert.jpg"><img src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/ntfs_geaendert.thumbnail.jpg" alt="ntfs_geaendert.jpg" /></a><br />
(Berechtigungen des Laufwerks)</p>
<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2008/01/ntfs_standard.jpg" title="ntfs_standard.jpg"><img src="http://www.faq-o-matic.net/wp-content/uploads/2008/01/ntfs_standard.thumbnail.jpg" alt="ntfs_standard.jpg" /></a><br />
(Standardberechtigungen eines NTFS Laufwerks nach der Formatierung)</p>
<p>Der Administrator vor Ort hatte die NTFS Berechtigungen des Laufwerks ver&auml;ndert und dem Benutzerkonto „SYSTEM“ die Zugriffsrechte auf das Laufwerk entzogen. Dadurch hat der Ressourcen-Manager f&uuml;r Dateiserver nat&uuml;rlich keinen Zugriff auf das Laufwerk.</p>
<p>Was mich an diesem Sachverhalt sehr &auml;rgert, ist nicht das fehlende Benutzerkonto bzw. die fehlenden Berechtigungen, sondern die miserable Fehlerbehandlung innerhalb des Ressourcen-Manager f&uuml;r Dateiserver. Mit einer Fehlermeldung à la „Kein Zugriff auf das Laufwerk E:\“ h&auml;tte ich ca. vier Stunden eher im Feierabend sein k&ouml;nnen. Schade, dass an der Fehlermeldung nicht dieser Button existierte:</p>
<p><a href="http://www.youtube.com/watch?v=1Q_EPUXlyME">http://www.youtube.com/watch?v=1Q_EPUXlyME</a></p>
<p>Ich h&auml;tte nur zu gern davon Gebrauch gemacht &#8230;</p>
<p>Keine verwandten Beiträge.</p>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2008/01/19/stoerrischer-fsrm/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>Mehrere Kennwortrichtlinien in einer Dom&#228;ne</title>
		<link>http://www.faq-o-matic.net/2007/05/21/mehrere-kennwortrichtlinien-in-einer-domaene/</link>
		<comments>http://www.faq-o-matic.net/2007/05/21/mehrere-kennwortrichtlinien-in-einer-domaene/#comments</comments>
		<pubDate>Mon, 21 May 2007 13:57:00 +0000</pubDate>
		<dc:creator>Frank Röder</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Windows Server 2008]]></category>

		<guid isPermaLink="false">http://faq-o-matic.net.dd18938.kasserver.com/2007/05/21/mehrere-kennwortrichtlinien-in-einer-domaene/</guid>
		<description><![CDATA[Endlich ist es soweit! Unterschiedliche Kennwortrichtlinien k&#246;nnen innerhalb einer Dom&#228;ne definiert werden. Microsoft hat die Administratoren erh&#246;rt und f&#252;hrt mit Windows Server 2008 (&#034;Longhorn&#034;) die M&#246;glichkeit ein, unterschiedliche Kennwortrichtlinien innerhalb einer Dom&#228;ne zu definieren. Wer jetzt hier erwartet, dass er das bequem &#252;ber die MMC &#034;Active Directory-Benutzer und -Computer&#034; festlegen kann, wird leider entt&#228;uscht. Hier [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2010/01/26/abgestufte-kennwortrichtlinien-endlich-komfortabel/' rel='bookmark' title='Abgestufte Kennwortrichtlinien endlich komfortabel'>Abgestufte Kennwortrichtlinien endlich komfortabel</a> <small>Windows Server 2008 hat als neue Funktion die so genannten...</small></li>
<li><a href='http://www.faq-o-matic.net/2008/07/04/mitglieder-einer-ad-gruppe-mit-zusatzdaten-ausgeben/' rel='bookmark' title='Mitglieder einer AD-Gruppe mit Zusatzdaten ausgeben'>Mitglieder einer AD-Gruppe mit Zusatzdaten ausgeben</a> <small>MItglieder einer Gruppe werden in Active Directory an zwei Stellen...</small></li>
<li><a href='http://www.faq-o-matic.net/2005/10/10/flexible-kennwortrichtlinien/' rel='bookmark' title='Flexible Kennwortrichtlinien'>Flexible Kennwortrichtlinien</a> <small>In vielen Firmen ist die Situation hinsichtlich der Kennwortsicherheit leider...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="/wp-content/uploads/business/517007.jpg"><img src="/wp-content/uploads/business/517007.jpg" align="left" border="0" alt="" /></a>Endlich ist es soweit! Unterschiedliche Kennwortrichtlinien k&ouml;nnen innerhalb einer Dom&auml;ne definiert werden. Microsoft hat die Administratoren erh&ouml;rt und f&uuml;hrt mit Windows Server 2008 (&#034;Longhorn&#034;) die M&ouml;glichkeit ein, unterschiedliche Kennwortrichtlinien innerhalb einer Dom&auml;ne zu definieren. Wer jetzt hier erwartet, dass er das bequem &uuml;ber die MMC &#034;Active Directory-Benutzer und -Computer&#034; festlegen kann, wird leider entt&auml;uscht. Hier wird wieder Handarbeit n&ouml;tig. </p>
<p><span id="more-485"></span>
<p>Um die Kennwortrichtlinien technisch zu realisieren, hat Microsoft zwei neue Klassen im AD definiert. Um diese Klassen bzw. die eigentliche Funktion nutzen zu k&ouml;nnen, muss sich die Dom&auml;ne im Funktionslevel &#034;Windows Server 2008&#034; befinden. Die Klasse &#034;ms-DS-Password-Settings-Container&#034; ist daf&uuml;r zust&auml;ndig, neue Kennwortrichtlinien aufzunehmen. <br />Das eigentliche Objekt daf&uuml;r wird automatisch w&auml;hrend der Installation von Active Directory in der Dom&auml;nenpartition eingerichtet. Die Klasse &#034;ms-DS-Password-Settings&#034;&nbsp; stellt die eigentlichen Kennwortrichtlinien dar. Diese Richtlinien m&uuml;ssen innerhalb des Containers &#034;Password Settings Container&#034; angelegt werden. Finden kann man diesen Container unter folgendem Distinguished Name:</p>
<p><a class="" title="ADSI Edit" href="/wp-content/uploads/artikel/roeder/roeder-kennwortrl-01-adisedit.jpg" target="_blank"><img style="width:388px;height:218px;" height="353" src="/wp-content/uploads/artikel/roeder/roeder-kennwortrl-01-adisedit.jpg" width="480" border="0" alt="" /></a></p>
<p>&#034;<em>CN=Password Settings Container,CN=System,DC=testdom,DC=de</em>&#034;</p>
<p>Wer jetzt denkt, dass er die angelegten Richtlinien mit einer Organisationseinheit verkn&uuml;pfen kann, ist leider auf dem Holzweg. Die Kennwortrichtlinien lassen sich nur mit Benutzerobjekten, InetOrgPerson-Objekten und globalen Sicherheitsgruppen verkn&uuml;pfen. Dies muss aber kein Nachteil sein, denn man kann dadurch Mitglieder einer administrativen Gruppe zwingen, wesentlich sicherere Kennw&ouml;rter zu nutzen als die normalen Benutzer, die sich in der gleichen Organisationseinheit befinden. </p>
<p>Jetzt k&ouml;nnte es durch diesen Sachverhalt passieren, dass durch direkte oder indirekte Gruppenmitgliedschaften der Benutzer mit mehreren Kennwortrichtlinien verkn&uuml;pft ist. Um die effektive Richtlinie zu ermitteln, nutzt der Windows-Server-2008-Dom&auml;nencontroller das Attribut &#034;ms-DS-Password-Settings-Precedence&#034; der Klasse &#034;ms-DS-Password-Settings&#034;. Dieses Attribut kann mit einem beliebigen Integer-Wert gef&uuml;llt werden. Als Mindestwert ist hier &#034;1&#034; vorgegeben. Die Kennwortrichtlinie mit dem niedrigsten Wert im Attribut &#034;ms-DS-Password-Settings-Precedence&#034; hat die h&ouml;chste Priorit&auml;t und setzt alle anderen Richtlinien au&szlig;er Kraft. Sollte es passieren, dass zwei Richtlinien die gleiche Priorit&auml;t besitzen, dann wird die Richtlinie gezogen, die die kleinste GUID hat. Dieser Vorgang ist nat&uuml;rlich nicht sonderlich transparent. Deshalb empfiehlt Microsoft, f&uuml;r jede Kennwortrichtlinie eine eindeutige Priorit&auml;t zu vergeben.&nbsp;</p>
<p><a href="/wp-content/uploads/artikel/roeder/roeder-kennwortrl-02-Ablauf.jpg" target="_blank"><img style="width:386px;height:420px;" height="497" src="/wp-content/uploads/artikel/roeder/roeder-kennwortrl-02-Ablauf.jpg" width="386" border="0" alt="" /></a></p>
<p><em>Ablaufdarstellung der Kennwortrichtlinienauswertung</em></p>
<p>Zum Anlegen einer eigenen Richtlinie ist im Container &#034;Password Settings Container&#034; ein neues &#034;msDS-Password-Settings&#034; Objekt zu erstellen.</p>
<p><a href="/wp-content/uploads/artikel/roeder/roeder-kennwortrl-03-newpol_adsiedit.jpg" target="_blank"><img style="width:401px;height:306px;" height="336" src="/wp-content/uploads/artikel/roeder/roeder-kennwortrl-03-newpol_adsiedit.jpg" width="455" border="0" alt="" /></a></p>
<p>Als Erstes gibt man dem Objekt einen CN. In meinem Beispiel habe ich den Namen &#034;Policy-Restricted&#034; gew&auml;hlt.</p>
<p><a href="/wp-content/uploads/artikel/roeder/roeder-kennwortrl-04-newpol_dialog.jpg" target="_blank"><img height="342" src="/wp-content/uploads/artikel/roeder/roeder-kennwortrl-04-newpol_dialog.jpg" width="408" border="0" alt="" /></a></p>
<p>Im n&auml;chsten Schritt werden alle verbindlichen Attribute des Objekts abgefragt.</p>
<ul>
<li>msDS-PasswordSettingsPrecedence = Kennwortrichtlinienpriorit&auml;t</li>
<li>msDS-PasswordReversibleEncryptionEnabled = Kennwort mit umkehrbarer Verschl&uuml;sselung speichern</li>
<li>msDS-PasswordHistoryLength = Kennwortchronik erzwingen</li>
<li>msDS-PasswordComplexityEnabled = Kennwort muss Komplexit&auml;tsvoraussetzungen entsprechen</li>
<li>msDS-MinimumPasswordLength = Minimale Kennwortl&auml;nge</li>
<li>msDS-MinimumPasswordAge = Minimales Kennwortalter</li>
<li>msDS-MaximumPasswordAge = Maximales Kennwortalter</li>
<li>msDS-LockoutThreshold = Kontensperrschwelle</li>
<li>msDS-LockoutObservationWindow = Zur&uuml;cksetzungsdauer des Kontosperrungsz&auml;hlers</li>
<li>msDS-LockoutDuration = Kontosperrdauer</li>
</ul>
<p>Bei allen Attributen, die mit Zeitwerten zu tun haben, muss der Administrator etwas Rechenarbeit leisten. Diese Zeitwerte werden als ein Vielfaches von -100 Nanosekunden dargestellt. Dadurch wird zum Beispiel das minimale Kennwortalter von einem Tag folgenderma&szlig;en errechnet:</p>
<p>-24*60*60*(10&circ;7) = -864000000000</p>
<p>Ich habe f&uuml;r meine Testrichtlinie folgende Werte festgelegt:</p>
<p>msDS-MinimumPasswordAge = -864000000000&nbsp; = 1 Tag<br />msDS-MaximumPasswordAge = -17280000000000 = 20 Tage<br />msDS-LockoutObservationWindow = -36000000000 = 1 Stunde<br />msDS-LockoutDuration = -72000000000 = 2 Stunden</p>
<p>Im n&auml;chsten Schritt muss diese Richtlinie einem Benutzer oder einer Gruppe zugewiesen werden. Ich habe mich in diesem Beispiel f&uuml;r eine Gruppe entschieden. Dadurch habe ich die M&ouml;glichkeit, durch die Mitgliedschaft in dieser Gruppe die Kennwortrichtlinien zu steuern, die sich auf ihre Mitglieder auswirken. Jede definierte Richtlinie besitzt ein Attribut mit dem Namen &#034;msDS-PsoAppliesTo&#034;. Dieses Attribut ist ein multivalued Attribut, das also mehrere Werte aufnehmen kann. Als Wert m&uuml;ssen hier die Distinguished Names der einzelnen globalen Gruppen oder Benutzer hinterlegt werden, auf die sich diese Richtlinie auswirken soll.</p>
<p>In meiner Testumgebung habe ich eine Organisationseinheit mit dem Namen &#034;Password-Policies&#034; unterhalb der Dom&auml;ne angelegt. In dieser Organisationseinheit befindet sich eine globale Gruppe&nbsp; &#034;Pass-Test&#034;. Mit dieser Gruppe m&ouml;chte ich meine Kennwortrichtlinie verkn&uuml;pfen. </p>
<p><a href="/wp-content/uploads/artikel/roeder/roeder-kennwortrl-05-aduc-oupasstest.jpg" target="_blank"><img style="width:428px;height:296px;" height="378" src="/wp-content/uploads/artikel/roeder/roeder-kennwortrl-05-aduc-oupasstest.jpg" width="494" border="0" alt="" /></a></p>
<p>Ich f&uuml;lle also das Attribut &#034;msDS-PsoAppliesTo&#034;&nbsp; meiner Kennwortrichtlinie mit dem Distinguished Name meiner globalen Gruppe.</p>
<p><a href="/wp-content/uploads/artikel/roeder/roeder-kennwortrl-06-multivalued-string-editor.jpg"><img src="/wp-content/uploads/artikel/roeder/roeder-kennwortrl-06-multivalued-string-editor.jpg" border="0" alt="" /></a></p>
<p>CN=Pass-Test,OU=Password-Policies,DC=testdom,DC=de</p>
<p>Zus&auml;tzlich befindet sich in meiner Organisationseinheit ein Benutzer &#034;Frank R&ouml;der&#034;. Diesen Benutzer mache ich zum Mitglied der Gruppe &#034;Pass-Test&#034;. Dadurch wirken sich jetzt die Einstellungen meiner Richtlinie auf diesen Benutzer aus.<br />&Uuml;berpr&uuml;fen kann man die effektive Richtlinie nat&uuml;rlich auch. In der MMC &#034;Active Directory Benutzer und Computer&#034; befindet sich in den Eigenschaften eines Benutzerobjekts eine Registerkarte &#034;Attribute Editor&#034;. Dar&uuml;ber kann man alle Attribute eines Benutzerobjekts einsehen. F&uuml;r uns ist hier das Attribut &#034;msDS-ResultantPSO&#034; interessant. Dieses Attribut wird mit dem distinguished Name der effektiven Kennwortrichtlinie aufgef&uuml;llt.</p>
<p><a href="/wp-content/uploads/artikel/roeder/roeder-kennwortrl-07-prop_user.jpg"><img src="/wp-content/uploads/artikel/roeder/roeder-kennwortrl-07-prop_user.jpg" border="0" alt="" /></a></p>
<p>ACHTUNG! Bei diesem Attribut handelt es sich um ein &#034;constructed Attribute&#034;, das bedeutet, es wird zur Laufzeit erstellt und kann nicht in LDAP-Suchfiltern verwendet werden. Man kann also keine Suche starten &agrave; la &#034;Gib mir bitte alle Benutzer zur&uuml;ck, auf die sich Richtlinie &#034;xyz&#034; auswirkt.&#034;&nbsp;</p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2010/01/26/abgestufte-kennwortrichtlinien-endlich-komfortabel/' rel='bookmark' title='Abgestufte Kennwortrichtlinien endlich komfortabel'>Abgestufte Kennwortrichtlinien endlich komfortabel</a> <br /><small>Windows Server 2008 hat als neue Funktion die so genannten...</small></li>
<li><a href='http://www.faq-o-matic.net/2008/07/04/mitglieder-einer-ad-gruppe-mit-zusatzdaten-ausgeben/' rel='bookmark' title='Mitglieder einer AD-Gruppe mit Zusatzdaten ausgeben'>Mitglieder einer AD-Gruppe mit Zusatzdaten ausgeben</a> <br /><small>MItglieder einer Gruppe werden in Active Directory an zwei Stellen...</small></li>
<li><a href='http://www.faq-o-matic.net/2005/10/10/flexible-kennwortrichtlinien/' rel='bookmark' title='Flexible Kennwortrichtlinien'>Flexible Kennwortrichtlinien</a> <br /><small>In vielen Firmen ist die Situation hinsichtlich der Kennwortsicherheit leider...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2007/05/21/mehrere-kennwortrichtlinien-in-einer-domaene/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standardkennwort bei Benutzern pr&#252;fen</title>
		<link>http://www.faq-o-matic.net/2007/01/23/standardkennwort-bei-benutzern-pruefen/</link>
		<comments>http://www.faq-o-matic.net/2007/01/23/standardkennwort-bei-benutzern-pruefen/#comments</comments>
		<pubDate>Tue, 23 Jan 2007 18:14:00 +0000</pubDate>
		<dc:creator>Frank Röder</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Administration]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://faq-o-matic.net.dd18938.kasserver.com/2007/01/23/standardkennwort-bei-benutzern-pruefen/</guid>
		<description><![CDATA[Manchmal werden Benutzer durch eine Migration, beim Neuanlegen oder auch beim Zur&#252;cksetzen des Kennwortes mit einem Standardkennwort versehen. Ab und zu wird dann vergessen, bei der erstmaligen Anmeldung von einem Benutzer an der Dom&#228;ne einen Kennwortwechsel zu erzwingen. Leider ist es nicht m&#246;glich, die Kennw&#246;rter der Benutzer aus dem Active Directory direkt auszulesen, da diese [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2006/02/05/benutzern-einmalig-nachrichten-anzeigen/' rel='bookmark' title='Benutzern einmalig Nachrichten anzeigen'>Benutzern einmalig Nachrichten anzeigen</a> <small>Problem Wegen Updates oder &auml;hnlichem ist es n&ouml;tig, zu unterschiedlichen...</small></li>
<li><a href='http://www.faq-o-matic.net/2008/12/25/dienst-und-task-konten-identifizieren/' rel='bookmark' title='Dienst- und Task-Konten identifizieren'>Dienst- und Task-Konten identifizieren</a> <small>Es ist keine schlechte Idee, die Kennw&ouml;rter von Dienst- und...</small></li>
<li><a href='http://www.faq-o-matic.net/2005/03/17/ad-informationen-schnell-auslesen/' rel='bookmark' title='AD-Informationen schnell auslesen'>AD-Informationen schnell auslesen</a> <small>Neben eineAm klassischen ADSI-Skript gibt es eine relativ einfache M&ouml;glichkeit,...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Manchmal werden Benutzer durch eine Migration, beim Neuanlegen oder auch beim Zur&uuml;cksetzen des Kennwortes mit einem Standardkennwort versehen. Ab und zu wird dann vergessen, bei der erstmaligen Anmeldung von einem Benutzer an der Dom&auml;ne einen Kennwortwechsel zu erzwingen. Leider ist es nicht m&ouml;glich, die Kennw&ouml;rter der Benutzer aus dem Active Directory direkt auszulesen, da diese nur als Hashwert in der Active-Directory-Datenbank abgelegt sind. Mit einem kleinen Trick kann man aber mehrere Benutzerobjekte pr&uuml;fen, ob diese ein bekanntes Standardkennwort noch verwenden.</p>
<p><span id="more-536"></span>Um dieses Ziel zu erreichen, haben Nils Kaczenski und ich ein kleines VB-Script geschrieben, das diesen Job &uuml;bernimmt. Das Skript liest in einer bestimmten OU alle Benutzerkonten aus und verwendet von diesen den SamAccountName (Pr&auml;-Windows-2000-Anmeldename) plus das Standardkennwort, um ein Netzlaufwerk auf einem Fileserver zu mappen. Wenn dieses Netzlaufwerkmapping gelingt, dann kann man davon ausgehen, dass dieses Benutzerkonto noch das Standardkennwort verwendet. Sollte ein Fehler dabei auftreten, dann verwendet dieses Konto kein Standardkennwort mehr.</p>
<p>Alle Benutzerkonten, unter denen das Netzlaufwerkmapping funktioniert, werden in einer Textdatei protokolliert. Wichtig ist noch, dass der Fileserver, auf dem die Testfreigabe erstellt wurde, um das Netzlaufwerk zu mappen, kein DC ist (dieser w&uuml;rde nicht mehrere Verbindungen unter verschiedenen Benutzerkontexten gleichzeitig vom selben Rechner zulassen), sondern ein Memberserver oder im einfachsten Falle eine Workstation.</p>
<p>Das Skript wird folgenderma&szlig;en in der CMD aufgerufen:<br />
<em>cscript check_standard_password.vbs</em></p>
<p>Das Skript hier einfach per Copy&amp;Paste in eine Textdatei einf&uuml;gen und als „check_standard_password.vbs“ abspeichern.</p>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">   1:</span> <span style="color: #008000">'=================================================================</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">   2:</span> <span style="color: #008000">'</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">   3:</span> <span style="color: #008000">'</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">   4:</span> <span style="color: #008000">' NAME: check_standard_password </span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">   5:</span> <span style="color: #008000">'</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">   6:</span> <span style="color: #008000">' AUTHOR: Nils Kaczenski, Frank R&ouml;der</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">   7:</span> <span style="color: #008000">' DATE  : 17.01.2007</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">   8:</span> <span style="color: #008000">'</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">   9:</span> <span style="color: #008000">' COMMENT: Teamarbeit;-)</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  10:</span> <span style="color: #008000">'</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  11:</span> <span style="color: #008000">'=================================================================</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  12:</span> <span style="color: #008000">'Hier die einzelnen Variablen definieren</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  13:</span> <span style="color: #008000">'DN der OU, die durchsucht werden soll</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  14:</span> strDN = <span style="color: #006080">""</span> <span style="color: #008000">'Beispiel "OU=TestOU,OU=oberOU,DC=test,DC=de"</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  15:</span> <span style="color: #008000">'Pfad zum Logfile, in dem die User mit Standardkennwort eingetragen werden</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  16:</span> sollen</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  17:</span> strLogPath = <span style="color: #006080">""</span> <span style="color: #008000">'Beispiel "c:\logfile.txt"</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  18:</span> <span style="color: #008000">'UNC-Pfad, der zum Test gemappt werden soll</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  19:</span> strTestUNC = <span style="color: #006080">""</span> <span style="color: #008000">'Beipiel "\\testserver\testshare"</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  20:</span> <span style="color: #008000">'Wie sieht das Standardkennwort aus?</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  21:</span> strPass = <span style="color: #006080">""</span> <span style="color: #008000">'Beispiel "Standardkennw0rt"</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  22:</span> <span style="color: #008000">'AB HIER NICHTS MEHR VER&Auml;NDERN!</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  23:</span> <span style="color: #008000">'===========================================================================</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  24:</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  25:</span> <span style="color: #0000ff">Set</span> objOU = GetObject (<span style="color: #006080">"LDAP://"</span> &amp; strDN)</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  26:</span> objOU.Filter = Array(<span style="color: #006080">"User"</span>)</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  27:</span> <span style="color: #0000ff">Set</span> objNet = CreateObject (<span style="color: #006080">"WScript.Network"</span>)</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  28:</span> <span style="color: #0000ff">Set</span> objFso = CreateObject(<span style="color: #006080">"Scripting.FileSystemObject"</span>)</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  29:</span> <span style="color: #0000ff">Set</span> objTs = objFso.OpenTextFile(strLogPath, 2, <span style="color: #0000ff">True</span>)</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  30:</span> objTs.WriteLine Now</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  31:</span> objTs.writeline(<span style="color: #006080">"Folgende Benutzer verwenden noch "</span> _</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  32:</span>     &amp; <span style="color: #006080">"das initiale Kennwort:"</span>)</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  33:</span> <span style="color: #0000ff">Set</span> WshShell = WScript.CreateObject(<span style="color: #006080">"WScript.Shell"</span>)</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  34:</span> <span style="color: #0000ff">On</span> <span style="color: #0000ff">Error</span> <span style="color: #0000ff">Resume</span> <span style="color: #0000ff">Next</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  35:</span> <span style="color: #0000ff">For</span> <span style="color: #0000ff">Each</span> user <span style="color: #0000ff">In</span> objOU</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  36:</span>     <span style="color: #008000">' Usernamen ausgeben</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  37:</span>     WScript.Echo user.Name</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  38:</span>     <span style="color: #008000">' Test: Laufwerk verbinden</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  39:</span>     objNet.MapNetworkDrive <span style="color: #006080">"X:"</span>, strTestUNC, _</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  40:</span>         , user.SamAccountName, strPass</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  41:</span>     <span style="color: #008000">' Fehler aufgetreten?</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  42:</span>     <span style="color: #0000ff">If</span> Err.Number = 0 <span style="color: #0000ff">Then</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  43:</span>         <span style="color: #008000">' Nein, User protokollieren</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  44:</span>         objTs.writeline(user.Samaccountname)</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  45:</span>     <span style="color: #0000ff">Else</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  46:</span>         <span style="color: #008000">' Ja, Fehler anzeigen</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  47:</span>         WScript.Echo <span style="color: #006080">"Fehler "</span> &amp; Err.number _</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  48:</span>             &amp; <span style="color: #006080">" ("</span> &amp; Err.Description &amp; <span style="color: #006080">") "</span> _</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  49:</span>             &amp; <span style="color: #006080">"bei User: "</span> &amp; user.Name</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  50:</span>         Err.Clear</pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  51:</span>     <span style="color: #0000ff">End</span> <span style="color: #0000ff">If</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: #f4f4f4; border-style: none; padding: 0px"><span style="color: #606060">  52:</span>     objNet.RemoveNetworkDrive <span style="color: #006080">"X:"</span></pre>
<pre style="font-size: 8pt; margin: 0em; overflow: visible; width: 100%; color: black; line-height: 12pt; font-family: consolas, 'Courier New', courier, monospace; background-color: white; border-style: none; padding: 0px"><span style="color: #606060">  53:</span> Next</pre>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2006/02/05/benutzern-einmalig-nachrichten-anzeigen/' rel='bookmark' title='Benutzern einmalig Nachrichten anzeigen'>Benutzern einmalig Nachrichten anzeigen</a> <br /><small>Problem Wegen Updates oder &auml;hnlichem ist es n&ouml;tig, zu unterschiedlichen...</small></li>
<li><a href='http://www.faq-o-matic.net/2008/12/25/dienst-und-task-konten-identifizieren/' rel='bookmark' title='Dienst- und Task-Konten identifizieren'>Dienst- und Task-Konten identifizieren</a> <br /><small>Es ist keine schlechte Idee, die Kennw&ouml;rter von Dienst- und...</small></li>
<li><a href='http://www.faq-o-matic.net/2005/03/17/ad-informationen-schnell-auslesen/' rel='bookmark' title='AD-Informationen schnell auslesen'>AD-Informationen schnell auslesen</a> <br /><small>Neben eineAm klassischen ADSI-Skript gibt es eine relativ einfache M&ouml;glichkeit,...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2007/01/23/standardkennwort-bei-benutzern-pruefen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Was ist ABE?</title>
		<link>http://www.faq-o-matic.net/2006/10/31/was-ist-abe/</link>
		<comments>http://www.faq-o-matic.net/2006/10/31/was-ist-abe/#comments</comments>
		<pubDate>Tue, 31 Oct 2006 18:14:00 +0000</pubDate>
		<dc:creator>Frank Röder</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://faq-o-matic.net.dd18938.kasserver.com/2006/10/31/was-ist-abe/</guid>
		<description><![CDATA[Bis jetzt musste man als Windows-Admin damit leben, dass Benutzer, die auf einem Fileserver arbeiten, stellenweise Ordner in Freigaben gesehen haben, auf die sie eigentlich keinen Zugriff hatten. Dies lie&#223; sich bis jetzt nur gekonnt umschiffen, wenn man die Ordner nur nach den Sicherheitseinstellungen gruppiert hat. Seit dem Service Pack 1 f&#252;r Windows Server 2003 [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2004/10/24/servermigration-mit-netbios-aliases/' rel='bookmark' title='Servermigration mit Netbios-Aliases'>Servermigration mit Netbios-Aliases</a> <small>Sunday, 24 October 2004 Es gibt seit Windows NT die...</small></li>
<li><a href='http://www.faq-o-matic.net/2009/04/23/ntfs-platten-mit-nt4-und-windows-2003-nutzen/' rel='bookmark' title='NTFS-Platten mit NT4 und Windows 2003 nutzen'>NTFS-Platten mit NT4 und Windows 2003 nutzen</a> <small>Aus einer aktuellen Situation in einem Migrationsprojekt habe ich getestet,...</small></li>
<li><a href='http://www.faq-o-matic.net/2005/01/03/warum-kann-ein-benutzer-dateien-aendern-fuer-die-er-keine-rechte-hat/' rel='bookmark' title='Warum kann ein Benutzer Dateien &#228;ndern, f&#252;r die er keine Rechte hat?'>Warum kann ein Benutzer Dateien &#228;ndern, f&#252;r die er keine Rechte hat?</a> <small>Benutzer k&ouml;nnen Dateien l&ouml;schen, auf die sie keinen Zugriff haben....</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Bis jetzt musste man als Windows-Admin damit leben, dass Benutzer, die auf einem Fileserver arbeiten, stellenweise Ordner in Freigaben gesehen haben, auf die sie eigentlich keinen Zugriff hatten. Dies lie&szlig; sich bis jetzt nur gekonnt umschiffen, wenn man die Ordner nur nach den Sicherheitseinstellungen gruppiert hat. Seit dem Service Pack 1 f&uuml;r Windows Server 2003 ist es nun m&ouml;glich, die ABE (Acces-based Enumeration) zu nutzen, um Objekte, auf die keine Zugriffsberechtigung besteht, f&uuml;r die Nutzer auszublenden.<br />
<span id="more-539"></span></p>
<p>ACHTUNG: Die Freigabe selbst wird nicht ausgeblendet, auch wenn der Benutzer keine Zugriffsrechte hat. Lediglich der Inhalt einer Freigabe wird ausgeblendet, auf den keine Zugriffsrechte bestehen.</p>
<p>Was ben&ouml;tigt man daf&uuml;r:</p>
<ul>
<li>Windows 2003 Server SP1</li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?familyid=04a563d9-78d9-4342-a485-b030ac442084&amp;displaylang=en">Download ABE</a></li>
</ul>
<p>Der Download f&uuml;r ABE ist ca. 800 KB gro&szlig;. Nachdem man es heruntergeladen und installiert hat, ist man sofort einsatzbereit. In den Eigenschaften des freigegebenen Ordners findet man jetzt eine neue Registerkarte &#034;Access Based Enumeration&#034;, mit der man das Feature aktivieren kann. Microsoft sagt, das sich dieses Feature nicht negativ auf die Performance des Fileservers auswirkt.</p>
<p>Weitere Informationen findet ihr auch <a href="http://www.microsoft.com/germany/technet/sicherheit/newsletter/abe.mspx">bei Microsoft in TechNet</a>.</p>
<p>Einige hochwertige Drittanbieter-Systeme haben ABE &uuml;brigens ebenfalls integriert. Das trifft beispielsweise auf die Storage-Systeme (Filer) von Network Appliance zu, die seit der Betriebssystemversion Data ONTAP 7.2 (Herbst 2006) das ABE-Feature unterst&uuml;tzen.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Lc-zc5JHbOQ&amp;hl=de_DE&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/Lc-zc5JHbOQ&amp;hl=de_DE&amp;fs=1&amp;" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2004/10/24/servermigration-mit-netbios-aliases/' rel='bookmark' title='Servermigration mit Netbios-Aliases'>Servermigration mit Netbios-Aliases</a> <br /><small>Sunday, 24 October 2004 Es gibt seit Windows NT die...</small></li>
<li><a href='http://www.faq-o-matic.net/2009/04/23/ntfs-platten-mit-nt4-und-windows-2003-nutzen/' rel='bookmark' title='NTFS-Platten mit NT4 und Windows 2003 nutzen'>NTFS-Platten mit NT4 und Windows 2003 nutzen</a> <br /><small>Aus einer aktuellen Situation in einem Migrationsprojekt habe ich getestet,...</small></li>
<li><a href='http://www.faq-o-matic.net/2005/01/03/warum-kann-ein-benutzer-dateien-aendern-fuer-die-er-keine-rechte-hat/' rel='bookmark' title='Warum kann ein Benutzer Dateien &#228;ndern, f&#252;r die er keine Rechte hat?'>Warum kann ein Benutzer Dateien &#228;ndern, f&#252;r die er keine Rechte hat?</a> <br /><small>Benutzer k&ouml;nnen Dateien l&ouml;schen, auf die sie keinen Zugriff haben....</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2006/10/31/was-ist-abe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wie kann ich eine SMS von der Kommandozeile versenden?</title>
		<link>http://www.faq-o-matic.net/2006/10/31/wie-kann-ich-eine-sms-von-der-kommandozeile-versenden/</link>
		<comments>http://www.faq-o-matic.net/2006/10/31/wie-kann-ich-eine-sms-von-der-kommandozeile-versenden/#comments</comments>
		<pubDate>Tue, 31 Oct 2006 07:17:00 +0000</pubDate>
		<dc:creator>Frank Röder</dc:creator>
				<category><![CDATA[Downloads]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Sonstiges]]></category>
		<category><![CDATA[Troubleshooting]]></category>

		<guid isPermaLink="false">http://faq-o-matic.net.dd18938.kasserver.com/2006/10/31/wie-kann-ich-eine-sms-von-der-kommandozeile-versenden/</guid>
		<description><![CDATA[Wenn auf einem Server Ausf&#228;lle eintreten oder vielleicht auch einmal der Strom ausf&#228;llt, dann will man als gewissenhafter Administrator nat&#252;rlich sofort informiert werden. Eine Benachrichtigung per E-Mail ist aber eher unzuverl&#228;ssig, denn wenn der Strom weg ist, dann ist nat&#252;rlich auch der Router aus, der die Internetverbindung herstellt. Viele Monitoring-Programme, die die Netzwerkkomponenten, Server und [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2003/03/09/kann-ich-eine-domaene-oder-einen-dc-umbenennen/' rel='bookmark' title='Kann ich eine Dom&#228;ne oder einen DC umbenennen?'>Kann ich eine Dom&#228;ne oder einen DC umbenennen?</a> <small>Das Umbenennen einer Dom&auml;ne oder eines Dom&auml;nencontrollers wurde zwischen Windows...</small></li>
<li><a href='http://www.faq-o-matic.net/2004/07/30/wie-kann-ich-die-mitglieder-einer-gruppe-in-eine-datei-schreiben/' rel='bookmark' title='Wie kann ich die Mitglieder einer Gruppe in eine Datei schreiben?'>Wie kann ich die Mitglieder einer Gruppe in eine Datei schreiben?</a> <small>Nat&uuml;rlich gibt es auch hierzu mehrere (kostenlose) M&ouml;glichkeiten &#8211; hier...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/08/16/sparkassen-sicherheit-eine-reaktion/' rel='bookmark' title='Sparkassen-Sicherheit: Eine Reaktion'>Sparkassen-Sicherheit: Eine Reaktion</a> <small>Vor einigen Tagen berichtete ich &uuml;ber ein IT-Sicherheitsproblem, das mir...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Wenn auf einem Server Ausf&auml;lle eintreten oder vielleicht auch einmal der Strom ausf&auml;llt, dann will man als gewissenhafter Administrator nat&uuml;rlich sofort informiert werden. Eine Benachrichtigung per E-Mail ist aber eher unzuverl&auml;ssig, denn wenn der Strom weg ist, dann ist nat&uuml;rlich auch der Router aus, der die Internetverbindung herstellt. Viele Monitoring-Programme, die die Netzwerkkomponenten, Server und Internetverbindungen &uuml;berwachen, bieten die M&ouml;glichkeit, bei bestimmten Ereignissen vom Administrator erstellte Skripte aufzurufen.</p>
<p><span id="more-664"></span></p>
<p>Was liegt da n&auml;her, als solche dringenden Nachrichten direkt per SMS auf ein Handy zuzustellen. Grunds&auml;tzlich ist der Versand von SMS Nachrichten &uuml;ber ein an dem Com-Port angeschlossenes Handy &uuml;ber AT-Befehle m&ouml;glich. Diese k&ouml;nnte man mit dem Hyperterminal an das Handy senden. Leider l&auml;sst sich aber das Hyperterminal nicht automatisieren. Durch Zufall bin ich auf die Webseite <a href="http://www.smslib.org/">www.smslib.org</a> aufmerksam geworden.</p>
<p>Der Autor Thanasis Delenikas hat dort eine Library ver&ouml;ffentlicht, mit der man unter .NET 2.0 SMS versenden kann. Ich habe diese Library genutzt und eine kleine C# Konsolenanwendung erstellt, die es erm&ouml;glicht, SMS von der Kommandozeile aus zu versenden. Nach der Installation kann man diese Anwendung folgenderma&szlig;en aus einer Batchdatei aufrufen:</p>
<p><font face="courier new,courier,monospace">cmdsms.exe -Comport COM1 -Baudrate 57600 -Nummer +491722344321 -Message &#034;EineNachricht mit max. 160 Zeichen&#034;</font></p>
<p>Der Parameter &#034;-Comport&#034; gibt den COM-Port an, an dem das Handy angeschlossen ist. &Uuml;ber den Parameter &#034;-Baudrate&#034; wird die Baudrate f&uuml;r die Kommunikation mit dem Handy festgelegt. &Uuml;ber den Parameter &#034;-Nummer&#034; wird die Empf&auml;ngernummer festgelegt. Bitte hier versuchen, das internationale Format zu nutzen. Mit dem Parameter &#034;-Message&#034; wird die Nachricht festgelegt. Die L&auml;nge der Nachricht ist auf 160 Zeichen beschr&auml;nkt. Sollte die Zeichenanzahl &uuml;berschritten werden, dann schneidet &#034;cmdsms.exe&#034; alle weiteren Zeichen ab.</p>
<p>Das Tool kann hier heruntergeladen werden:</p>
Note: There is a file embedded within this post, please visit this post to download the file.
<p>ACHTUNG! Ich &uuml;bernehme keinerlei Garantie f&uuml;r die korrekte Funktionsweise des Tools und kann nat&uuml;rlich auch keinerlei Support leisten. Sie k&ouml;nnen dieses Tool frei einsetzen und auch weiterverbreiten.</p>
<p>Vorraussetzungen:<br />
.Net 2.0 Framework<br />
Ein an einem COM-Port angeschlossenes Handy (bzw. ein GSM-Modem)</p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2003/03/09/kann-ich-eine-domaene-oder-einen-dc-umbenennen/' rel='bookmark' title='Kann ich eine Dom&#228;ne oder einen DC umbenennen?'>Kann ich eine Dom&#228;ne oder einen DC umbenennen?</a> <br /><small>Das Umbenennen einer Dom&auml;ne oder eines Dom&auml;nencontrollers wurde zwischen Windows...</small></li>
<li><a href='http://www.faq-o-matic.net/2004/07/30/wie-kann-ich-die-mitglieder-einer-gruppe-in-eine-datei-schreiben/' rel='bookmark' title='Wie kann ich die Mitglieder einer Gruppe in eine Datei schreiben?'>Wie kann ich die Mitglieder einer Gruppe in eine Datei schreiben?</a> <br /><small>Nat&uuml;rlich gibt es auch hierzu mehrere (kostenlose) M&ouml;glichkeiten &#8211; hier...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/08/16/sparkassen-sicherheit-eine-reaktion/' rel='bookmark' title='Sparkassen-Sicherheit: Eine Reaktion'>Sparkassen-Sicherheit: Eine Reaktion</a> <br /><small>Vor einigen Tagen berichtete ich &uuml;ber ein IT-Sicherheitsproblem, das mir...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2006/10/31/wie-kann-ich-eine-sms-von-der-kommandozeile-versenden/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

