<?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</title>
	<atom:link href="http://www.faq-o-matic.net/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, 16 May 2012 09:19:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Zeitsynchronisation in virtuellen Umgebungen</title>
		<link>http://www.faq-o-matic.net/2012/05/16/zeitsynchronisation-in-virtuellen-umgebungen/</link>
		<comments>http://www.faq-o-matic.net/2012/05/16/zeitsynchronisation-in-virtuellen-umgebungen/#comments</comments>
		<pubDate>Wed, 16 May 2012 04:06:00 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[Virtualisierung]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/?p=4028</guid>
		<description><![CDATA[Alle Virtualisierungsl&#246;sungen bieten die M&#246;glichkeit, die Systemzeit virtueller Maschinen mit der lokalen Zeit des VM-Hostservers zu synchronisieren. W&#228;hrend dies in Test- und Entwicklungsumgebungen als praktisch erscheint, stellt sich die Frage, ob es in produktiven Umgebungen auch sinnvoll ist. Meistens ist es das nicht – oder um es deutlicher zu sagen: Im Regelfall sollte man in [...]
Keine verwandten Beiträge.]]></description>
			<content:encoded><![CDATA[<p><img src="http://vg02.met.vgwort.de/na/b906505e9ac34245bc5c19e53914e686" width="1" height="1" alt="" align="left" />Alle Virtualisierungsl&ouml;sungen bieten die M&ouml;glichkeit, die Systemzeit virtueller Maschinen mit der lokalen Zeit des VM-Hostservers zu synchronisieren. W&auml;hrend dies in Test- und Entwicklungsumgebungen als praktisch erscheint, stellt sich die Frage, ob es in produktiven Umgebungen auch sinnvoll ist.</p>
<p>Meistens ist es das nicht – oder um es deutlicher zu sagen: Im Regelfall sollte man in produktiven Umgebungen die Systemzeit virtueller Maschinen <em>nicht</em> mit dem Host synchronisieren, sondern mit externen Zeitquellen – in Windows-Netzwerken also tunlichst mit den Zeitdiensten des Active Directory.</p>
<p>Warum dies?</p>
<p><span id="more-4028"></span>Die grunds&auml;tzliche technische Problematik der Zeitsynchronisation virtueller Maschinen erl&auml;utert VMware sehr gut in einem eigenen Whitepaper (die Hintergr&uuml;nde gelten durchaus unabh&auml;ngig von der eingesetzten Virtualisierungstechnik):
<p>[Timekeeping in VMware Virtual Machines]    <br /><a href="http://www.vmware.com/vmtn/resources/238">http://www.vmware.com/vmtn/resources/238</a>     <br />(direkter Download <a href="http://www.vmware.com/files/pdf/techpaper/Timekeeping-In-VirtualMachines.pdf" target="_blank">hier</a>)</p>
<p>Da die Systemzeit in vielen Systemen ein wichtiger oder sogar kritischer Faktor ist, sollte man diesbez&uuml;glich keine unn&ouml;tigen Risiken eingehen. Besonders in Active-Directory-Dom&auml;nen etwa darf die Zeit aller beteiligten Systeme (also <em>aller</em> Server und Clients, die der Dom&auml;ne angeh&ouml;ren) nicht mehr als f&uuml;nf Minuten auseinanderlaufen, denn sonst sind die Anmeldedaten nicht mehr g&uuml;ltig (genauer: das Kerberos-Ticket). Typisches Symptom in einem solchen Fall: Pl&ouml;tzlich funktioniert f&uuml;r einzelne Anwender der Zugriff auf bestimmte Daten oder Dienste nicht mehr.</p>
<h4>Wie stellt man es aber richtig an?</h4>
<p>Eine sinnvolle Empfehlung lautet, alle Rechner im Netzwerk mit einer zentralen, einheitlichen Zeitquelle zu synchronisieren. Daf&uuml;r eignet sich das NTP-Protokoll, das genau f&uuml;r solche Zwecke entworfen wurde. Windows enth&auml;lt NTP-Clients und NTP-Serverfunktionen, dasselbe gilt f&uuml;r alle anderen wichtigen Betriebssysteme.</p>
<p>Im Fall von Active Directory lautet die Best-Practice-Empfehlung, dass der Dom&auml;nencontroller mit der Rolle “PDC-Emulator” (auch “PDCe” genannt) als zentraler Zeitserver dienen sollte. Er gibt seine Zeit an die anderen Dom&auml;nencontroller weiter, die ihrerseits die Clients mit der Zeit versorgen. Um hier Probleme zu vermeiden, sollte der DC mit der PDCe-Rolle nicht virtualisiert sein, sondern auf Hardware laufen (alle anderen DCs k&ouml;nnen prinzipiell auch virtualisiert sein). Nur dieser Server sollte seine Zeit von einer externen Quelle holen, also einem NTP-Server im Internet oder einer lokalen Uhr.</p>
<p>Folgender Artikel beschreibt eine gute und flexible Technik, die AD-Zeitsynchronisation den Empfehlungen gem&auml;&szlig; f&uuml;r alle Windows-Rechner sicherzustellen:</p>
<p>[Zeitserver - w32time - ueber Gruppenrichtlinien konfigurieren]    <br /><a href="http://www.gruppenrichtlinien.de/HowTo/Zeitserver_per_GPO.htm">http://www.gruppenrichtlinien.de/HowTo/Zeitserver_per_GPO.htm</a> </p>
<p>Damit nun der NTP-Client in einer VM ordnungsgem&auml;&szlig; funktioniert, sollte es keine Konflikte mit anderen Zeitabgleichs-Methoden geben. Insbesondere bedeutet das: <strong>Die Zeitsynchronisation mit dem Host sollte man abschalten</strong> und nur mit der Zeitsynchronisation des Betriebssystems arbeiten (also NTP oder AD-Abgleich).</p>
<p>VMware beispielsweise &auml;u&szlig;ert sich in dem genannten Whitepaper recht eindeutig dazu (Seite 20):</p>
<blockquote><p>Generally, it is best to use only one clock synchronization service at a time in a given virtual machine to ensure that multiple services do not attempt to make conflicting changes to the clock. So if you are using native synchronization software, we suggest turning VMware Tools periodic clock synchronization off.</p>
</blockquote>
<h4>Stolperfallen und Tipps</h4>
<p>Nat&uuml;rlich gibt es da einige Dinge zu ber&uuml;cksichtigen. Eine unvollst&auml;ndige Auswahl:</p>
<ul>
<li>Wer Hyper-V einsetzt und seine Umgebung mit dem<em> Virtual Machine Manager 2008 R2</em> verwaltet, darf die Zeitsynchronisation der Integrationsdienste <em>nicht</em> &uuml;ber den VMM abschalten. Es gibt einen bekannten Bug im VMM 2008 R2, der diese Einstellung nicht an die VM weiterreicht. Man entfernt also das H&auml;kchen, und beim n&auml;chsten Nachsehen ist es wieder da. Erst VMM 2012 handhabt das korrekt.       <br /><em>Abhilfe:</em> Diese Einstellung (Abschalten der Zeitsynchronisation &uuml;ber die Integrationsdienste) muss &uuml;ber den Hyper-V-Manager erfolgen (also das bordeigene Verwaltungstool). </li>
<li>Die VMware-Tools erlauben zwar das Abschalten der Zeitsynchronisation, allerdings bezieht sich das nur auf den periodischen Abgleich. In bestimmten Situationen setzen die VMware Tools die Zeit einer VM <em>trotzdem</em> auf die des Hosts (z.B. beim Neustart der Tools). Das kann zu unerw&uuml;nschten Situationen f&uuml;hren, daher sollte man darauf achten, dass auch die ESX(i)-Hosts per NTP ihre Zeit von den Dom&auml;nencontrollern beziehen.       <br />Dies trifft auf alle Versionen der VMware-Tools zu, siehe auch das obige Whitepaper auf Seite 19 unten:<br />
<blockquote style="margin-right: 0px" dir="ltr">
<p>Note that all versions of VMware Tools make one-shot corrections of the virtual machine clock in certain cases […], independently of whether the periodic synchronization feature is on or off.</p>
</blockquote>
</li>
<li dir="ltr">Um ESX(i)-Server auf ausfallsichere Weise per NTP mit der Zeit der AD-Dom&auml;ne zu versorgen, gibt es einen Trick: Als NTP-Server f&uuml;r den Host tr&auml;gt man nicht den Namen oder die IP-Adresse eines bestimmten Servers ein, sondern den DNS-Namen der Dom&auml;ne. Dieser Name wird n&auml;mlich auf alle DCs aufgel&ouml;st, sodass in jedem Fall ein NTP-Server erreicht wird, auch wenn ein bestimmter DC mal nicht antwortet. </li>
</ul>
<p>Keine verwandten Beiträge.</p>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2012/05/16/zeitsynchronisation-in-virtuellen-umgebungen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows-Update-Status auslesen</title>
		<link>http://www.faq-o-matic.net/2012/05/14/windows-update-status-auslesen/</link>
		<comments>http://www.faq-o-matic.net/2012/05/14/windows-update-status-auslesen/#comments</comments>
		<pubDate>Mon, 14 May 2012 04:59:00 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Sicherheit]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/?p=4023</guid>
		<description><![CDATA[Die folgenden beiden Skripte eignen sich, um einen schnellen, wenn auch sehr groben &#220;berblick &#252;ber den Update-Status eines Windows-Systems zu erhalten. Das erste ist ein Batch-Skript, das aus der Registry das Datum des letzten erfolgreichen Windows-Updates ausliest. Das bedeutet nicht, dass an diesem Datum alle verf&#252;gbaren Updates installiert wurden. Nach diesem Datum hat Windows Update [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2011/02/22/heute-das-erste-update-fr-windows-phone-7-nur-nicht-das-update/' rel='bookmark' title='Heute: Das erste Update f&uuml;r Windows Phone 7 &ndash; nur nicht &ldquo;das&rdquo; Update &hellip;'>Heute: Das erste Update f&uuml;r Windows Phone 7 &ndash; nur nicht &ldquo;das&rdquo; Update &hellip;</a> <small>Laut dem Windows-Phone-Blog kommt heute das erste Update f&uuml;r Windows...</small></li>
<li><a href='http://www.faq-o-matic.net/2011/09/30/windows-phone-mango-update-beschleunigen/' rel='bookmark' title='Windows Phone: &ldquo;Mango&rdquo;-Update beschleunigen'>Windows Phone: &ldquo;Mango&rdquo;-Update beschleunigen</a> <small>Endlich hat Microsoft das gro&szlig;e Update “Mango” f&uuml;r Windows Phone...</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>Die folgenden beiden Skripte eignen sich, um einen schnellen, wenn auch sehr groben &Uuml;berblick &uuml;ber den Update-Status eines Windows-Systems zu erhalten.</p>
<p>Das erste ist ein Batch-Skript, das aus der Registry das Datum des letzten erfolgreichen Windows-Updates ausliest. Das bedeutet nicht, dass an diesem Datum alle verf&uuml;gbaren Updates installiert wurden. Nach diesem Datum hat Windows Update aber keine Aktualisierungen mehr ausgef&uuml;hrt.</p>
<div>
<pre>FOR /F "usebackq tokens=3,4" %%i IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\Install" /v LastSuccessTime`) DO (ECHO %%i %%j)</pre>
</div>
<p>Das zweite Skript nutzt das Windows-Update-Objektmodell, um die Zahl der ausstehenden Updates herauszufinden. Auch dieser Wert ist nicht zu 100 Prozent verl&auml;sslich, denn wenn beispielsweise Windows Update deaktiviert ist oder nicht ordentlich l&auml;uft oder wenn auf einem lokalen WSUS-Server n&ouml;tige Updates nicht freigegeben sind, gibt die Zahl nicht die Wahrheit wieder. Als Orientierung ist die Ausgabe aber durchaus n&uuml;tzlich.</p>
<pre>
Set updateSession = CreateObject("Microsoft.Update.Session")
Set updateSearcher = updateSession.CreateupdateSearcher()        
Set searchResult = updateSearcher.Search("IsInstalled=0 and Type='Software'")
WScript.Echo searchResult.Updates.Count &amp; " Windows Updates are pending."</pre>
<p>Hier der Download der Skripte:</p>
Note: There is a file embedded within this post, please visit this post to download the file.
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2011/02/22/heute-das-erste-update-fr-windows-phone-7-nur-nicht-das-update/' rel='bookmark' title='Heute: Das erste Update f&uuml;r Windows Phone 7 &ndash; nur nicht &ldquo;das&rdquo; Update &hellip;'>Heute: Das erste Update f&uuml;r Windows Phone 7 &ndash; nur nicht &ldquo;das&rdquo; Update &hellip;</a> <br /><small>Laut dem Windows-Phone-Blog kommt heute das erste Update f&uuml;r Windows...</small></li>
<li><a href='http://www.faq-o-matic.net/2011/09/30/windows-phone-mango-update-beschleunigen/' rel='bookmark' title='Windows Phone: &ldquo;Mango&rdquo;-Update beschleunigen'>Windows Phone: &ldquo;Mango&rdquo;-Update beschleunigen</a> <br /><small>Endlich hat Microsoft das gro&szlig;e Update “Mango” f&uuml;r Windows Phone...</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/2012/05/14/windows-update-status-auslesen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exchange-Version per PowerShell auslesen</title>
		<link>http://www.faq-o-matic.net/2012/05/09/exchange-version-per-powershell-auslesen/</link>
		<comments>http://www.faq-o-matic.net/2012/05/09/exchange-version-per-powershell-auslesen/#comments</comments>
		<pubDate>Wed, 09 May 2012 04:46:00 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[Exchange]]></category>
		<category><![CDATA[PowerShell]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/?p=4020</guid>
		<description><![CDATA[Hier ein kurzer Einzeiler, der die Versions- und Buildnummer von Exchange 2010 und 2007 per PowerShell ausliest und in einfacher Ansicht ausgibt. Get-ExchangeServer -Identity $env:COMPUTERNAME &#124; ft name,AdminDisplayVersion -HideTableHeaders -AutoSize Verwandte Beitr&auml;ge: Exchange 2010: Letztes Backup-Datum auslesen Der Zeitpunkt der letzten Datensicherung ist bei Exchange schon immer... Exchange 2010: Volltextfilter f&#252;r PDF-Dateien installieren In den [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2012/01/25/exchange-2010-letztes-backup-datum-auslesen/' rel='bookmark' title='Exchange 2010: Letztes Backup-Datum auslesen'>Exchange 2010: Letztes Backup-Datum auslesen</a> <small>Der Zeitpunkt der letzten Datensicherung ist bei Exchange schon immer...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/10/22/exchange-2010-volltextfilter-fr-pdf-dateien-installieren/' rel='bookmark' title='Exchange 2010: Volltextfilter f&uuml;r PDF-Dateien installieren'>Exchange 2010: Volltextfilter f&uuml;r PDF-Dateien installieren</a> <small>In den Installationsvoraussetzungen f&uuml;r Exchange Server 2010 [http://technet.microsoft.com/de-de/library/bb691354(EXCHG.140).aspx] befindet sich...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/06/18/exchange-2010-fehlende-systemmailboxen-fr-approval-workflows/' rel='bookmark' title='Exchange 2010: Fehlende Systemmailboxen f&uuml;r Approval-Workflows'>Exchange 2010: Fehlende Systemmailboxen f&uuml;r Approval-Workflows</a> <small>Heute wollte ich einen Approval-Workflow erstellen und wurde von der...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Hier ein kurzer Einzeiler, der die Versions- und Buildnummer von Exchange 2010 und 2007 per PowerShell ausliest und in einfacher Ansicht ausgibt.</p>
<div>
<pre>Get-ExchangeServer -Identity $env:COMPUTERNAME | ft name,AdminDisplayVersion -HideTableHeaders -AutoSize</pre>
</div>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2012/01/25/exchange-2010-letztes-backup-datum-auslesen/' rel='bookmark' title='Exchange 2010: Letztes Backup-Datum auslesen'>Exchange 2010: Letztes Backup-Datum auslesen</a> <br /><small>Der Zeitpunkt der letzten Datensicherung ist bei Exchange schon immer...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/10/22/exchange-2010-volltextfilter-fr-pdf-dateien-installieren/' rel='bookmark' title='Exchange 2010: Volltextfilter f&uuml;r PDF-Dateien installieren'>Exchange 2010: Volltextfilter f&uuml;r PDF-Dateien installieren</a> <br /><small>In den Installationsvoraussetzungen f&uuml;r Exchange Server 2010 [http://technet.microsoft.com/de-de/library/bb691354(EXCHG.140).aspx] befindet sich...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/06/18/exchange-2010-fehlende-systemmailboxen-fr-approval-workflows/' rel='bookmark' title='Exchange 2010: Fehlende Systemmailboxen f&uuml;r Approval-Workflows'>Exchange 2010: Fehlende Systemmailboxen f&uuml;r Approval-Workflows</a> <br /><small>Heute wollte ich einen Approval-Workflow erstellen und wurde von der...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2012/05/09/exchange-version-per-powershell-auslesen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitoring: Ping-Checks zeitabh&#228;ngig</title>
		<link>http://www.faq-o-matic.net/2012/05/07/monitoring-ping-checks-zeitabhngig/</link>
		<comments>http://www.faq-o-matic.net/2012/05/07/monitoring-ping-checks-zeitabhngig/#comments</comments>
		<pubDate>Mon, 07 May 2012 04:05:00 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[Batch]]></category>
		<category><![CDATA[Downloads]]></category>
		<category><![CDATA[Monitoring]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/?p=3946</guid>
		<description><![CDATA[Eine simple Form des Monitoring pr&#252;ft per Ping, ob ein bestimmter Rechner im Netz erreichbar ist. Das ist zwar nicht so richtig aussagekr&#228;ftig, aber als Basis f&#252;r eine Beurteilung oft schon hilfreich. Problematisch ist dabei manchmal, dass manche Systeme bekannterma&#223;en zu bestimmten Zeiten gar nicht antworten. Beliebte Falle sind da etwa Netzwerkdrucker, die abends in [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2010/10/29/mini-pingtest-fr-einen-netzwerkbereich/' rel='bookmark' title='Mini-Pingtest f&uuml;r einen Netzwerkbereich'>Mini-Pingtest f&uuml;r einen Netzwerkbereich</a> <small>Schnell &amp; schmutzig: Um f&uuml;r einen kleinen (!) internen Netzwerkbereich...</small></li>
<li><a href='http://www.faq-o-matic.net/2012/04/25/monitoring-sind-die-sql-datenbanken-aktuell-gesichert/' rel='bookmark' title='Monitoring: Sind die SQL-Datenbanken aktuell gesichert?'>Monitoring: Sind die SQL-Datenbanken aktuell gesichert?</a> <small>Zu den wichtigsten Aufgaben des Monitoring geh&ouml;rt die Pr&uuml;fung, ob...</small></li>
<li><a href='http://www.faq-o-matic.net/2003/10/12/wie-fuehre-ich-eine-aktion-nur-aus-wenn-der-ziel-host-erreichbar-ist/' rel='bookmark' title='Wie f&#252;hre ich eine Aktion nur aus, wenn der Ziel-Host erreichbar ist?'>Wie f&#252;hre ich eine Aktion nur aus, wenn der Ziel-Host erreichbar ist?</a> <small>Oft soll eine bestimmte Aktion nur ausgef&uuml;hrt werden, wenn der...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://vg02.met.vgwort.de/na/e2bab25eccde46119642699a3b10ca7d" width="1" height="1" alt="" align="left" />Eine simple Form des Monitoring pr&uuml;ft per Ping, ob ein bestimmter Rechner im Netz erreichbar ist. Das ist zwar nicht so richtig aussagekr&auml;ftig, aber als Basis f&uuml;r eine Beurteilung oft schon hilfreich.</p>
<p>Problematisch ist dabei manchmal, dass manche Systeme bekannterma&szlig;en zu bestimmten Zeiten gar nicht antworten. Beliebte Falle sind da etwa Netzwerkdrucker, die abends in einen Energiesparmodus wechseln und dann nicht auf Echo-Anforderungen reagieren. Mit Hilfe von etwas Batch-Magie kann man die Fehlalarme in solchen Situationen deutlich reduzieren. Die gezeigte Technik kann man nat&uuml;rlich auch f&uuml;r andere Zwecke nutzen als nur Ping-Checks.</p>
<p><span id="more-3946"></span>
<p>Wie die meisten Monitoring-Skripte geben auch diese den Errorcode 0 zur&uuml;ck, wenn alles okay ist (also wenn die Rechner auf Ping antworten) und den Wert 1 bei einem Fehler (Ausbleiben der Antwort). Ganz unten gibt es die Skripte zum Download.</p>
<h4>Skript 1: Zeitabh&auml;ngig pingen</h4>
<p>Die erste Variante des Skripts erlaubt die Definition von Uhrzeiten, in denen der Check ausgef&uuml;hrt wird. Vorsicht dabei, da ich mich hier rein auf Batch-Mittel beschr&auml;nke, ist der Code sprachabh&auml;ngig. Man sollte also immer erst lokal auf dem System testen, von dem der Ping sp&auml;ter ausgehen soll, und ggf. die regionalen Ausgaben anpassen. </p>
<p>Dieses Skript kann die wichtigen Parameter auch &uuml;ber die Kommandozeile entgegennehmen. &Uuml;bergibt man dort nichts, verwendet es die Vorgaben aus dem Code. Beispiel:</p>
<ul>
<li><em>Ping-InTimeRange 10 18 10.10.10.101</em>       <br />Pingt zwischen 10:00 Uhr und 18:59 Uhr den Rechner mit der IP-Adresse 10.10.10.101 an </li>
</ul>
<pre>@echo off
rem Ping-InTimeRange.bat
rem Script to ping an address only in a specified time range
rem By Nils Kaczenski, faq-o-matic.net
rem Version 1.0, 2012-02-29

rem Specify default values (may be altered by command line)
rem Begin is the first hour of the range (included)
rem End is the last hour of the range (included)
rem PingAddress may be an IP address or a host name (if name resolution works)
rem Example: 10 to 14 means begin at 10:00:00 and end at 14:59:59
rem *** Modify here if needed ***
SET Begin=10
SET End=18
SET PingAddress=127.0.0.1
rem *** End modify

rem Use command line values if provided
IF NOT &quot;%1&quot;==&quot;&quot; SET Begin=%1
IF NOT &quot;%2&quot;==&quot;&quot; SET End=%2
IF NOT &quot;%3&quot;==&quot;&quot; SET PingAddress=%3

rem Uncomment this to display the settings
rem ECHO Ping %PingAddress% between %Begin% and %End%

rem Split time into tokens
for /f &quot;tokens=1-4 delims=.:, &quot; %%i in (&quot;%time%&quot;) do (
 set hour=%%i
 set minute=%%j
 set second=%%k
 set hundredth=%%l
)

rem Initialize check variable
rem Check=1 means time is out of range, 0 means within range
SET Check=1

rem Check current time against Begin and End
IF %hour% GEQ %Begin% (
	IF %hour% LEQ %End% SET Check=0
	)

IF %Check%==1 (
	ECHO Current time %time% is out of range %Begin% to %End%. Will not ping.
	EXIT /B 0
	) ELSE (
	ping -n 1 %PingAddress%&gt;nul
	)</pre>
<h4>Skript 2: Tages- und zeitabh&auml;ngig pingen</h4>
<p>Das zweite Skript geht noch einen Schritt weiter. Es f&uuml;hrt die Pr&uuml;fung nur zu den angegebenen Zeiten aus und erlaubt zus&auml;tzlich die Angabe von Wochentagen, an denen es nicht pr&uuml;fen soll. Das ist z.B. n&uuml;tzlich, wenn die Zielsysteme am Wochenende abgeschaltet sind. </p>
<p>Auch hier sind ggf. Anpassungen wegen der Sprachversion des pr&uuml;fenden Rechners n&ouml;tig. Anders als das erste Skript nimmt diese Fassung keine Angaben &uuml;ber die Kommandozeile entgegen. Daf&uuml;r kann man gleich mehrere Pr&uuml;fungen hineinpacken, indem man gegen Ende des Codes die angegebenen Zeilen kopiert und anpasst. Jede Pr&uuml;fung besteht hier aus zwei Zeilen (“ping” und Auswertung der Antwort mit “if errorlevel 1”).</p>
<div>
<pre>@echo off
rem Ping-InTimeAndDateRange.bat
rem Pings a number of IP addresses only at specified times
rem Version 1.1 EN, 2012-03-07

rem Specify default values (may be altered by command line)
rem Begin is the first hour of the range (included)
rem End is the last hour of the range (included)
rem Example: 10 to 14 means begin at 10:00:00 and end at 14:59:59
rem *** Modify here if needed ***
SET Begin=7
SET End=18
rem *** End modify

rem Split time into tokens
for /f &quot;tokens=1-4 delims=.:, &quot; %%i in (&quot;%time%&quot;) do (
 set hour=%%i
 set minute=%%j
 set second=%%k
 set hundredth=%%l
)

rem Get day of week
rem see http://www.administrator.de/index.php?content=80546
rem *** Modify here if needed ***
rem *** English version - for German systems use &quot;delims=.&quot; and &quot;mm=%%b&quot; and &quot;dd=%%a&quot;FOR /F &quot;tokens=1,2,3 delims=-&quot; %%a in ('echo %date%') do set yy=%%c &amp; set mm=%%a &amp; set dd=%%b rem *** End modify
set /a &quot;TwoDigitYearMax=2038%%1000&quot;
if 1%yy% LSS 200 if 1%yy% LSS 1%TwoDigitYearMax% (set yy=20%yy%) else (set yy=19%yy%) set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,dow=153*m+2
set /a dow=dow/5+dd+y*365+y/4-y/100+y/400-2472630,dow%%=7,dow+=1
rem *** Modify here if needed ***
rem *** set day names according to the system language
If %dow% equ 1 set &quot;WoTa=Montag&quot;
If %dow% equ 2 set &quot;WoTa=Dienstag&quot;
If %dow% equ 3 set &quot;WoTa=Mittwoch&quot;
If %dow% equ 4 set &quot;WoTa=Donnerstag&quot;
If %dow% equ 5 set &quot;WoTa=Freitag&quot;
If %dow% equ 6 set &quot;WoTa=Samstag&quot;
If %dow% equ 7 set &quot;WoTa=Sonntag&quot;
rem *** End modify

rem Initialize check variable
rem Check=1 means time is out of range, 0 means within range
SET Check=1

rem Check current time against Begin and End
IF %hour% GEQ %Begin% (
	IF %hour% LEQ %End% SET Check=0
	)

rem Check day of week
rem *** Modify here if needed ***
rem *** set day names according to the system language
rem *** set Check=1 to NOT perform the tests on given days
IF %WoTa%==Samstag SET Check=1
IF %WoTa%==Sonntag SET Check=1
rem *** End modify

rem Initialize error variable
SET PingError=0

rem Do the actual ping checks
IF %Check%==1 (
	ECHO Time %time% on %WoTa% is not between %Begin% and %End%. No tests to do.
	EXIT /B 0
	) ELSE (
rem *** Modify here if needed ***
rem *** copy and modify the lines as needed
	ping -n 1 10.10.10.101&gt;nul
	IF ERRORLEVEL 1 (SET PingError=1 &amp; ECHO No reply from SYSTEM NAME!)

	ping -n 10.10.10.102&gt;nul
	IF ERRORLEVEL 1 (SET PingError=1 &amp; ECHO No reply from SYSTEM NAME!)
rem *** End modify
	)

IF %PingError%==1 (
	ECHO No reply from at least one system.
	EXIT /B 1
	) ELSE (
	ECHO All systems replied correctly.
	EXIT /B 0
	)</pre>
</div>
<p>Und hier der Download:</p>
Note: There is a file embedded within this post, please visit this post to download the file.
Note: There is a file embedded within this post, please visit this post to download the file.
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2010/10/29/mini-pingtest-fr-einen-netzwerkbereich/' rel='bookmark' title='Mini-Pingtest f&uuml;r einen Netzwerkbereich'>Mini-Pingtest f&uuml;r einen Netzwerkbereich</a> <br /><small>Schnell &amp; schmutzig: Um f&uuml;r einen kleinen (!) internen Netzwerkbereich...</small></li>
<li><a href='http://www.faq-o-matic.net/2012/04/25/monitoring-sind-die-sql-datenbanken-aktuell-gesichert/' rel='bookmark' title='Monitoring: Sind die SQL-Datenbanken aktuell gesichert?'>Monitoring: Sind die SQL-Datenbanken aktuell gesichert?</a> <br /><small>Zu den wichtigsten Aufgaben des Monitoring geh&ouml;rt die Pr&uuml;fung, ob...</small></li>
<li><a href='http://www.faq-o-matic.net/2003/10/12/wie-fuehre-ich-eine-aktion-nur-aus-wenn-der-ziel-host-erreichbar-ist/' rel='bookmark' title='Wie f&#252;hre ich eine Aktion nur aus, wenn der Ziel-Host erreichbar ist?'>Wie f&#252;hre ich eine Aktion nur aus, wenn der Ziel-Host erreichbar ist?</a> <br /><small>Oft soll eine bestimmte Aktion nur ausgef&uuml;hrt werden, wenn der...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2012/05/07/monitoring-ping-checks-zeitabhngig/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gruppenrichtlinien-&#220;bersicht f&#252;r Windows 8</title>
		<link>http://www.faq-o-matic.net/2012/05/02/gruppenrichtlinien-bersicht-fr-windows-8/</link>
		<comments>http://www.faq-o-matic.net/2012/05/02/gruppenrichtlinien-bersicht-fr-windows-8/#comments</comments>
		<pubDate>Wed, 02 May 2012 04:16:00 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[Gruppenrichtlinien]]></category>
		<category><![CDATA[Windows 8]]></category>
		<category><![CDATA[Windows Server 2012]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/?p=4031</guid>
		<description><![CDATA[Microsoft hat seine &#220;bersicht &#252;ber die Gruppenrichtlinien-Einstellungen aktualisiert und bietet nun auch eine Auflistung aller Einzelpunkte f&#252;r Windows 8 und Windows Server 2012. Nat&#252;rlich beziehen sich die j&#252;ngsten Informationen derzeit nur auf die Beta-Versionen, doch erfahrungsgem&#228;&#223; wird sich nicht mehr viel daran &#228;ndern. Auf der folgenden Seite gibt es den Download, aufgeschl&#252;sselt nach Betriebssystem-Familien. Die [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2010/05/17/gruppenrichtlinien-fr-office-2010/' rel='bookmark' title='Gruppenrichtlinien f&uuml;r Office 2010'>Gruppenrichtlinien f&uuml;r Office 2010</a> <small>Bereits seit zwei Wochen sind die ADM- und ADMX-Dateien verf&uuml;gbar,...</small></li>
<li><a href='http://www.faq-o-matic.net/2012/02/29/windows-8-die-beta-ist-da/' rel='bookmark' title='Windows 8: Die Beta ist da'>Windows 8: Die Beta ist da</a> <small>Ohne weitere Umst&auml;nde: [Windows 8 Consumer Preview ISO formats] http://windows.microsoft.com/en-US/windows-8/iso...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/11/03/bginfo-per-gruppenrichtlinien-ausrollen/' rel='bookmark' title='BGInfo per Gruppenrichtlinien ausrollen'>BGInfo per Gruppenrichtlinien ausrollen</a> <small>BGInfo ist ein sehr n&uuml;tzliches kleines Werkzeug von Sysinternals, das...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Microsoft hat seine &Uuml;bersicht &uuml;ber die Gruppenrichtlinien-Einstellungen aktualisiert und bietet nun auch eine Auflistung aller Einzelpunkte f&uuml;r Windows 8 und Windows Server 2012. Nat&uuml;rlich beziehen sich die j&uuml;ngsten Informationen derzeit nur auf die Beta-Versionen, doch erfahrungsgem&auml;&szlig; wird sich nicht mehr viel daran &auml;ndern.</p>
<p>Auf der folgenden Seite gibt es den Download, aufgeschl&uuml;sselt nach Betriebssystem-Familien. Die jeweiligen Excel-Dokumente beschr&auml;nken sich auf die “Administrativen Vorlagen” und einige systemnahe Einstellungen, ber&uuml;cksichtigen also leider nicht alle GPO-Bereiche.</p>
<p>[Download: Group Policy Settings Reference for Windows and Windows Server - Microsoft Download Center - Download Details]   <br /><a href="http://www.microsoft.com/download/en/details.aspx?id=25250">http://www.microsoft.com/download/en/details.aspx?id=25250</a></p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2010/05/17/gruppenrichtlinien-fr-office-2010/' rel='bookmark' title='Gruppenrichtlinien f&uuml;r Office 2010'>Gruppenrichtlinien f&uuml;r Office 2010</a> <br /><small>Bereits seit zwei Wochen sind die ADM- und ADMX-Dateien verf&uuml;gbar,...</small></li>
<li><a href='http://www.faq-o-matic.net/2012/02/29/windows-8-die-beta-ist-da/' rel='bookmark' title='Windows 8: Die Beta ist da'>Windows 8: Die Beta ist da</a> <br /><small>Ohne weitere Umst&auml;nde: [Windows 8 Consumer Preview ISO formats] http://windows.microsoft.com/en-US/windows-8/iso...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/11/03/bginfo-per-gruppenrichtlinien-ausrollen/' rel='bookmark' title='BGInfo per Gruppenrichtlinien ausrollen'>BGInfo per Gruppenrichtlinien ausrollen</a> <br /><small>BGInfo ist ein sehr n&uuml;tzliches kleines Werkzeug von Sysinternals, das...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2012/05/02/gruppenrichtlinien-bersicht-fr-windows-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitoring: Ist der Admin an die Konsole angemeldet?</title>
		<link>http://www.faq-o-matic.net/2012/04/30/monitoring-ist-der-admin-an-die-konsole-angemeldet/</link>
		<comments>http://www.faq-o-matic.net/2012/04/30/monitoring-ist-der-admin-an-die-konsole-angemeldet/#comments</comments>
		<pubDate>Mon, 30 Apr 2012 04:47:00 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[Downloads]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/?p=3944</guid>
		<description><![CDATA[Leider gibt es immer wieder Software, die f&#252;r ihren Betrieb ung&#252;nstige Voraussetzungen erfordert. Bei Kunden treffe ich beispielsweise immer wieder auf Programme, die mit einem bestimmten Konto in einer bestimmten Sitzung auf einem Rechner laufen m&#252;ssen, damit die Applikation funktioniert. Mit einem kleinen Skript kann ich im Monitoring &#252;berpr&#252;fen, ob das der Fall ist. Wie [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2012/04/04/monitoring-ist-sql-server-online/' rel='bookmark' title='Monitoring: Ist SQL Server online?'>Monitoring: Ist SQL Server online?</a> <small>F&uuml;r das Monitoring habe ich zwei kleine Skripte geschrieben, die...</small></li>
<li><a href='http://www.faq-o-matic.net/2012/04/12/monitoring-tgliche-prfung-von-exchange-2010/' rel='bookmark' title='Monitoring: T&auml;gliche Pr&uuml;fung von Exchange 2010'>Monitoring: T&auml;gliche Pr&uuml;fung von Exchange 2010</a> <small>Exchange Server 2010 bringt einen gro&szlig;en Satz an diagnostischen Funktionen...</small></li>
<li><a href='http://www.faq-o-matic.net/2012/04/16/monitoring-laufende-prfung-von-exchange-2010/' rel='bookmark' title='Monitoring: Laufende Pr&uuml;fung von Exchange 2010'>Monitoring: Laufende Pr&uuml;fung von Exchange 2010</a> <small>Auf Basis des Monitoring-Tutorials von MSExchange.org habe ich zwei PowerShell-Skripte...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Leider gibt es immer wieder Software, die f&uuml;r ihren Betrieb ung&uuml;nstige Voraussetzungen erfordert. Bei Kunden treffe ich beispielsweise immer wieder auf Programme, die mit einem bestimmten Konto in einer bestimmten Sitzung auf einem Rechner laufen m&uuml;ssen, damit die Applikation funktioniert. Mit einem kleinen Skript kann ich im Monitoring &uuml;berpr&uuml;fen, ob das der Fall ist.</p>
<p>Wie die meisten Monitoring-Skripte gibt auch dieses den Exitcode 0 zur&uuml;ck, wenn die Pr&uuml;fung bestanden ist, und den Wert 1 bei einem Fehler.</p>
<p><span id="more-3944"></span>
<p>Das Skript bedient sich des Terminalserver-Befehls “query”, um die aktiven Sessions abzufragen. Das Kommando steht in allen aktuellen Windows-Versionen zur Verf&uuml;gung (auch auf Clients). Die Pr&uuml;fung schaut nach, ob in der Sitzung namens “console” der User “administrator” angemeldet ist.</p>
<div>
<pre>@echo off
rem Das Skript fragt die Session-Liste ab, ob &quot;administrator&quot; an &quot;console&quot; verbunden ist
query session | find /I &quot;console&quot; | find /I &quot;administrator&quot;</pre>
</div>
<p>Hier der Download:</p>
Note: There is a file embedded within this post, please visit this post to download the file.
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2012/04/04/monitoring-ist-sql-server-online/' rel='bookmark' title='Monitoring: Ist SQL Server online?'>Monitoring: Ist SQL Server online?</a> <br /><small>F&uuml;r das Monitoring habe ich zwei kleine Skripte geschrieben, die...</small></li>
<li><a href='http://www.faq-o-matic.net/2012/04/12/monitoring-tgliche-prfung-von-exchange-2010/' rel='bookmark' title='Monitoring: T&auml;gliche Pr&uuml;fung von Exchange 2010'>Monitoring: T&auml;gliche Pr&uuml;fung von Exchange 2010</a> <br /><small>Exchange Server 2010 bringt einen gro&szlig;en Satz an diagnostischen Funktionen...</small></li>
<li><a href='http://www.faq-o-matic.net/2012/04/16/monitoring-laufende-prfung-von-exchange-2010/' rel='bookmark' title='Monitoring: Laufende Pr&uuml;fung von Exchange 2010'>Monitoring: Laufende Pr&uuml;fung von Exchange 2010</a> <br /><small>Auf Basis des Monitoring-Tutorials von MSExchange.org habe ich zwei PowerShell-Skripte...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2012/04/30/monitoring-ist-der-admin-an-die-konsole-angemeldet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitoring: Sind die SQL-Datenbanken aktuell gesichert?</title>
		<link>http://www.faq-o-matic.net/2012/04/25/monitoring-sind-die-sql-datenbanken-aktuell-gesichert/</link>
		<comments>http://www.faq-o-matic.net/2012/04/25/monitoring-sind-die-sql-datenbanken-aktuell-gesichert/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 04:25:00 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[Downloads]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/?p=3938</guid>
		<description><![CDATA[Zu den wichtigsten Aufgaben des Monitoring geh&#246;rt die Pr&#252;fung, ob alle Datenbanken eines SQL Server aktuell gesichert sind. Viele Werkzeuge fragen dazu die Backup-Software ab. Im Falle des SQL Server geht dies aber auch flexibler und unabh&#228;ngig von der konkreten Sicherungs-Software: Sofern diese n&#228;mlich die mitgelieferte Backup-Schnittstelle verwendet, wei&#223; SQL Server, wann die Sicherung stattgefunden [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2012/04/04/monitoring-ist-sql-server-online/' rel='bookmark' title='Monitoring: Ist SQL Server online?'>Monitoring: Ist SQL Server online?</a> <small>F&uuml;r das Monitoring habe ich zwei kleine Skripte geschrieben, die...</small></li>
<li><a href='http://www.faq-o-matic.net/2012/04/16/monitoring-laufende-prfung-von-exchange-2010/' rel='bookmark' title='Monitoring: Laufende Pr&uuml;fung von Exchange 2010'>Monitoring: Laufende Pr&uuml;fung von Exchange 2010</a> <small>Auf Basis des Monitoring-Tutorials von MSExchange.org habe ich zwei PowerShell-Skripte...</small></li>
<li><a href='http://www.faq-o-matic.net/2012/04/12/monitoring-tgliche-prfung-von-exchange-2010/' rel='bookmark' title='Monitoring: T&auml;gliche Pr&uuml;fung von Exchange 2010'>Monitoring: T&auml;gliche Pr&uuml;fung von Exchange 2010</a> <small>Exchange Server 2010 bringt einen gro&szlig;en Satz an diagnostischen Funktionen...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img src="http://vg09.met.vgwort.de/na/5fbeb151c3ad4800a89b208be0f3bbec" width="1" height="1" alt="" align="left" />Zu den wichtigsten Aufgaben des Monitoring geh&ouml;rt die Pr&uuml;fung, ob alle Datenbanken eines SQL Server aktuell gesichert sind. Viele Werkzeuge fragen dazu die Backup-Software ab. Im Falle des SQL Server geht dies aber auch flexibler und unabh&auml;ngig von der konkreten Sicherungs-Software: Sofern diese n&auml;mlich die mitgelieferte Backup-Schnittstelle verwendet, wei&szlig; SQL Server, wann die Sicherung stattgefunden hat. Die meisten Sicherungsprogramme erf&uuml;llen diese Voraussetzung.</p>
<p>Das folgende Skript verbindet sich mit dem lokalen SQL Server und fragt die Sicherungsstatus aller Datenbanken ab. Liegt die Sicherung weniger als 24 Stunden zur&uuml;ck, so gilt die Pr&uuml;fung als bestanden. Wie die meisten Monitoring-Skripte gibt auch dieses den Exitcode 0 zur&uuml;ck, wenn alles in Ordnung ist. Der Code 1 weist auf einen Fehler hin.</p>
<p><span id="more-3938"></span></p>
<p>Das Skript nutzt die SQL-Syntax des SQL Server, um die Abfrage auszuf&uuml;hren. Folgender SQL-Code ist dazu einsetzbar:</p>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"><span style="color: #008000;">-- Define desired backup interval in hours</span></pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"><a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=DECLARE&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">DECLARE</a> @BackupInterval <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=int&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">int</a></pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"><a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=SET&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">SET</a> @BackupInterval = 24</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"><a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=SET&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">SET</a> NOCOUNT <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=ON&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">ON</a></pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"><a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=SELECT&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">SELECT</a> database_name <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=AS&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">AS</a> '<span style="color: #8b0000;">Database</span>'</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;">, type <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=AS&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">AS</a> BackupType</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;">, <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=MAX&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">MAX</a>(backup_start_date) <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=AS&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">AS</a> Start</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;">, <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=MAX&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">MAX</a>(backup_finish_date) <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=AS&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">AS</a> Finish</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;">, (DATEDIFF(s,  <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=MAX&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">MAX</a>(backup_start_date), <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=MAX&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">MAX</a>(backup_finish_date))) <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=AS&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">AS</a> DurationSec</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;">, (DATEDIFF(hh, <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=MAX&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">MAX</a>(backup_finish_date), GETDATE())) <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=AS&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">AS</a> HoursAgo</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;">, <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=CASE&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">CASE</a> <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=WHEN&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">WHEN</a> (DATEDIFF(hh, <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=MAX&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">MAX</a>(backup_finish_date), GETDATE())) &gt; @BackupInterval <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=THEN&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">THEN</a> '<span style="color: #8b0000;">Critical</span>' <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=ELSE&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">ELSE</a> '<span style="color: #8b0000;">OK</span>' <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=END&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">END</a> <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=AS&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">AS</a> BackupStatus</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"><a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=FROM&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">FROM</a> msdb..backupset</pre>
<pre style="background-color: #fbfbfb; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"><a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=GROUP&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">GROUP</a> <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=BY&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">BY</a> database_name, type</pre>
<pre style="background-color: #ffffff; margin: 0em; width: 100%; font-family: consolas,'Courier New',courier,monospace; font-size: 12px;"><a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=ORDER&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">ORDER</a> <a style="color: #0000ff;" href="http://search.microsoft.com/default.asp?so=RECCNT&amp;siteid=us%2Fdev&amp;p=1&amp;nq=NEW&amp;qu=BY&amp;IntlSearch=&amp;boolean=PHRASE&amp;ig=01&amp;i=09&amp;i=99">BY</a> database_name</pre>
<p>Um diesen mehrzeiligen Code innerhalb einer einzigen Batchdatei an das SQL-Server-Werkzeug sqlcmd.exe verf&uuml;ttern zu k&ouml;nnen, bedient sich die Batchdatei eines Tricks: Sie erzeugt eine tempor&auml;re SQL-Eingabedatei mit dem Code, ruft sqlcmd.exe mit dieser Datei auf und pr&uuml;ft das Ergebnis. Dadurch muss nicht mehr als eine einzelne Batchdatei an das Monitoring-Tool &uuml;bergeben werden.</p>
<div>
<pre>@echo off
rem Sind alle Datenbanken auf SQL Server aktuell gesichert?
rem Nils Kaczenski, WITstor GmbH, 20.2.2012
rem Das Skript verbindet sich mit dem lokalen SQL Server und fragt den Backup-Status aller Datenbanken ab
rem SQL-Eingabedatei entfernen, falls vorhanden
SET SQL=%TEMP%\CheckSQL.sql
IF EXIST %SQL% DEL %SQL%

rem SQL-Eingabedatei erzeugen
echo -- Define desired backup interval in hours&gt;&gt;%SQL%
echo DECLARE @BackupInterval int&gt;&gt;%SQL%
echo SET @BackupInterval = 24&gt;&gt;%SQL%

echo SET NOCOUNT ON&gt;&gt;%SQL%
echo SELECT database_name AS 'Database'&gt;&gt;%SQL%
echo , type AS BackupType&gt;&gt;%SQL%
echo , MAX(backup_start_date) AS Start&gt;&gt;%SQL%
echo , MAX(backup_finish_date) AS Finish &gt;&gt;%SQL%
echo , (DATEDIFF(s,  MAX(backup_start_date), MAX(backup_finish_date))) AS DurationSec &gt;&gt;%SQL%echo , (DATEDIFF(hh, MAX(backup_finish_date), GETDATE())) AS HoursAgo&gt;&gt;%SQL%
echo , CASE WHEN (DATEDIFF(hh, MAX(backup_finish_date), GETDATE())) ^&gt; @BackupInterval THEN 'Critical' ELSE 'OK' END AS BackupStatus&gt;&gt;%SQL%echo FROM msdb..backupset&gt;&gt;%SQL%
echo GROUP BY database_name, type&gt;&gt;%SQL%
echo ORDER BY database_name&gt;&gt;%SQL%

rem SQL-Check ausfuehren
sqlcmd -E -W -h-1 -i %SQL% | find /I "ok" &gt;nul</pre>
</div>
<p>Und hier ist der Download dieses Skripts:</p>
Note: There is a file embedded within this post, please visit this post to download the file.
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2012/04/04/monitoring-ist-sql-server-online/' rel='bookmark' title='Monitoring: Ist SQL Server online?'>Monitoring: Ist SQL Server online?</a> <br /><small>F&uuml;r das Monitoring habe ich zwei kleine Skripte geschrieben, die...</small></li>
<li><a href='http://www.faq-o-matic.net/2012/04/16/monitoring-laufende-prfung-von-exchange-2010/' rel='bookmark' title='Monitoring: Laufende Pr&uuml;fung von Exchange 2010'>Monitoring: Laufende Pr&uuml;fung von Exchange 2010</a> <br /><small>Auf Basis des Monitoring-Tutorials von MSExchange.org habe ich zwei PowerShell-Skripte...</small></li>
<li><a href='http://www.faq-o-matic.net/2012/04/12/monitoring-tgliche-prfung-von-exchange-2010/' rel='bookmark' title='Monitoring: T&auml;gliche Pr&uuml;fung von Exchange 2010'>Monitoring: T&auml;gliche Pr&uuml;fung von Exchange 2010</a> <br /><small>Exchange Server 2010 bringt einen gro&szlig;en Satz an diagnostischen Funktionen...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2012/04/25/monitoring-sind-die-sql-datenbanken-aktuell-gesichert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 8: &#8220;Release Preview&#8221; kommt Anfang Juni</title>
		<link>http://www.faq-o-matic.net/2012/04/24/windows-8-release-preview-kommt-anfang-juni/</link>
		<comments>http://www.faq-o-matic.net/2012/04/24/windows-8-release-preview-kommt-anfang-juni/#comments</comments>
		<pubDate>Tue, 24 Apr 2012 06:49:50 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/?p=4018</guid>
		<description><![CDATA[Es ist ja nicht so, dass Microsoft keine originellen Namen f&#252;r seine Beta-Versionen f&#228;nde. Was andere als “Release Candidate” bezeichnen, hei&#223;t in Redmond nun “Release Preview” – gemeint ist sehr wahrscheinlich dasselbe, n&#228;mlich eine so gut wie fertige Version. Jedenfalls hat Microsoft sich diesmal eine Entwicklerkonferenz in Japan ausgesucht, um die letzte Vorabversion von Windows [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2009/04/25/windows-7-der-rc-kommt-nee-doch/' rel='bookmark' title='Windows 7: Der RC kommt! Nee &ndash; doch?!'>Windows 7: Der RC kommt! Nee &ndash; doch?!</a> <small>Kurz vor dem Release eines neuen Kernprodukts wird es ja...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/05/12/ice2010-anmeldung-ab-1-juni/' rel='bookmark' title='ice:2010: Anmeldung ab 1. Juni'>ice:2010: Anmeldung ab 1. Juni</a> <small>Die wohl sch&ouml;nste Community-Konferenz ice:2010 in Lingen findet dieses Jahr...</small></li>
<li><a href='http://www.faq-o-matic.net/2011/05/24/ice2011-anmeldung-ab-1-juni/' rel='bookmark' title='\\ice:2011: Anmeldung ab 1. Juni'>\\ice:2011: Anmeldung ab 1. Juni</a> <small>Wie jedes Jahr &ouml;ffnet Nicki Wruck am 1. Juni die...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2012/04/ArN1E6PCEAAOdQ01.jpg"><img style="background-image: none; border-right-width: 0px; margin: 0px 10px 10px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="ArN1E6PCEAAOdQ0[1]" border="0" alt="ArN1E6PCEAAOdQ0[1]" align="left" src="http://www.faq-o-matic.net/wp-content/uploads/2012/04/ArN1E6PCEAAOdQ01_thumb.jpg" width="244" height="164" /></a>Es ist ja nicht so, dass Microsoft keine originellen Namen f&uuml;r seine Beta-Versionen f&auml;nde. Was andere als “Release Candidate” bezeichnen, hei&szlig;t in Redmond nun “Release Preview” – gemeint ist sehr wahrscheinlich dasselbe, n&auml;mlich eine so gut wie fertige Version.</p>
<p>Jedenfalls hat Microsoft sich diesmal eine Entwicklerkonferenz in Japan ausgesucht, um die letzte Vorabversion von Windows 8 anzuk&uuml;ndigen. Demnach kommt diese in der ersten Juni-Woche.</p>
<p>[Twitter / @BuildWindows8: Announce...Windows 8 Relea ...]    <br /><a href="http://twitter.com/#!/BuildWindows8/status/194627936115101696/photo/1">http://twitter.com/#!/BuildWindows8/status/194627936115101696/photo/1</a></p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2009/04/25/windows-7-der-rc-kommt-nee-doch/' rel='bookmark' title='Windows 7: Der RC kommt! Nee &ndash; doch?!'>Windows 7: Der RC kommt! Nee &ndash; doch?!</a> <br /><small>Kurz vor dem Release eines neuen Kernprodukts wird es ja...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/05/12/ice2010-anmeldung-ab-1-juni/' rel='bookmark' title='ice:2010: Anmeldung ab 1. Juni'>ice:2010: Anmeldung ab 1. Juni</a> <br /><small>Die wohl sch&ouml;nste Community-Konferenz ice:2010 in Lingen findet dieses Jahr...</small></li>
<li><a href='http://www.faq-o-matic.net/2011/05/24/ice2011-anmeldung-ab-1-juni/' rel='bookmark' title='\\ice:2011: Anmeldung ab 1. Juni'>\\ice:2011: Anmeldung ab 1. Juni</a> <br /><small>Wie jedes Jahr &ouml;ffnet Nicki Wruck am 1. Juni die...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2012/04/24/windows-8-release-preview-kommt-anfang-juni/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hyper-V und Netzwerke</title>
		<link>http://www.faq-o-matic.net/2012/04/23/hyper-v-und-netzwerke/</link>
		<comments>http://www.faq-o-matic.net/2012/04/23/hyper-v-und-netzwerke/#comments</comments>
		<pubDate>Mon, 23 Apr 2012 04:51:00 +0000</pubDate>
		<dc:creator>Nils Kaczenski</dc:creator>
				<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Virtualisierung]]></category>
		<category><![CDATA[Windows Server 2008 R2]]></category>
		<category><![CDATA[Windows Server 2012]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/?p=3993</guid>
		<description><![CDATA[Die Netzwerkkonfiguration geh&#246;rt zu den komplexesten Komponenten einer Hyper-V-Installation. Erstaunlicherweise gilt dies, obwohl – zumindest im aktuellen Release – die Netzwerkf&#228;higkeiten des Microsoft-Hypervisors deutlich hinter denen der Mitbewerber zur&#252;ckbleiben. So gibt es funktional nicht viel mehr zu tun, als virtuelle Switches zu erzeugen und die Netzwerkkarten der virtuellen Maschinen darauf zu verbinden. Als einzige Erweiterung [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2010/09/22/hyper-v-dynamic-memory-reservierung-fr-den-parent/' rel='bookmark' title='Hyper-V Dynamic Memory: Reservierung f&uuml;r den Parent'>Hyper-V Dynamic Memory: Reservierung f&uuml;r den Parent</a> <small>Toni Pohl vom &ouml;sterreichischen TechNet-Team weist auf einen Umstand hin,...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/05/03/warum-der-hyper-v-host-keine-weiteren-dienste-ausfhren-sollte/' rel='bookmark' title='Warum der Hyper-V-Host keine (!) weiteren Dienste ausf&uuml;hren sollte'>Warum der Hyper-V-Host keine (!) weiteren Dienste ausf&uuml;hren sollte</a> <small>Beinahe t&auml;glich beantworte ich die Frage erstaunter Anwender, warum auf...</small></li>
<li><a href='http://www.faq-o-matic.net/2011/12/30/unsere-adventstipps-2011-zu-hyper-v/' rel='bookmark' title='Unsere Adventstipps 2011 zu Hyper-V'>Unsere Adventstipps 2011 zu Hyper-V</a> <small>In diesem Jahr haben wir zum zweiten Mal einen IT-Adventskalender...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><img alt="" align="left" src="http://vg03.met.vgwort.de/na/92b86560fe8b41dabb39ea3bed2ca6f8" width="1" height="1" /><a href="http://www.faq-o-matic.net/wp-content/uploads/2012/04/image.png"><img style="background-image: none; border-right-width: 0px; margin: 0px 10px 10px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" align="left" src="http://www.faq-o-matic.net/wp-content/uploads/2012/04/image_thumb.png" width="134" height="141" /></a>Die Netzwerkkonfiguration geh&ouml;rt zu den komplexesten Komponenten einer Hyper-V-Installation. Erstaunlicherweise gilt dies, obwohl – zumindest im aktuellen Release – die Netzwerkf&auml;higkeiten des Microsoft-Hypervisors deutlich hinter denen der Mitbewerber zur&uuml;ckbleiben. So gibt es funktional nicht viel mehr zu tun, als virtuelle Switches zu erzeugen und die Netzwerkkarten der virtuellen Maschinen darauf zu verbinden. Als einzige Erweiterung ist es in Windows Server 2008 R2 m&ouml;glich, der jeweiligen Verbindung eine VLAN-ID mitzugeben. Der Switch selbst wiederum kann als “extern” (Verbindung zum Host und ins externe LAN m&ouml;glich), “intern” (Verbindungen nur zum Host und anderen lokalen VMs, aber nicht ins externe Netz) oder “privat” (Verbindung zu lokalen VMs, aber nicht zum Host) definiert werden. Das war es. Netzwerk-Pools, Bandbreitensteuerung oder Firewall-Funktionen sucht man in Hyper-V vergeblich.</p>
<p>Und trotzdem gibt es bei Admins erhebliche Unsicherheiten und immer wieder &auml;rgerliche Fehlkonfigurationen mit den rudiment&auml;ren Hyper-V-Netzwerken. Wie kommt das?</p>
<p><span id="more-3993"></span>
<p>Ein Gro&szlig;teil der Unklarheit liegt an der ung&uuml;nstigen Darstellung, die Microsoft f&uuml;r die Netzwerkverbindungen gew&auml;hlt hat. Es gibt n&auml;mlich nicht mehr als das bekannte Verbindungs-Applet der Systemsteuerung, das alle Netzwerktypen, die der Virtualisierungshost sieht, unterschiedslos mit demselben Icon anzeigt. Ein noch relativ einfaches Beispiel zeigt die n&auml;chste Abbildung. Preisfrage: Wieviele physische Netzwerkkarten hat dieser Server?</p>
<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2012/04/image1.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.faq-o-matic.net/wp-content/uploads/2012/04/image_thumb1.png" width="244" height="167" /></a></p>
<p><em>Abb. 1: Ansicht der Netzwerkverbindungen in der “Parent Partiton”</em></p>
<p>Aufl&ouml;sung: Der hier betrachtete Server hat drei physische Netzwerkadapter. Die anderen beiden Eintr&auml;ge zeigen virtuelle Karten, die durch Hyper-V ins Spiel kamen. Doch auch die drei “physischen” Verbindungen geh&ouml;ren zwei unterschiedlichen Typen an: Zwei davon sind n&auml;mlich virtuelle Switches, die dritte ist eine “normale” Netzwerkkarte. Wie man leicht sieht, haben alle dasselbe Icon. Alles klar?</p>
<h3>Die Logik der Hyper-V-Netzwerke</h3>
<p>Um hier Licht ins Dunkel zu bringen, ist etwas Hintergrund erforderlich. Trotz der geringen Gestaltungsm&ouml;glichkeiten f&uuml;r virtuelle Netzwerke ist die unterliegende Technik durch das Hypervisor-Prinzip n&auml;mlich sehr komplex: Zu unterscheiden sind je nach Betrachtungsweise mindestens drei Ebenen, die wir im Folgenden zugrunde legen. Dabei handelt es sich um</p>
<ul>
<li>die Host-Ebene mit den physischen Netzwerkadaptern, die tats&auml;chlich die elektrische Verbindung zum Netzwerk herstellen. Zus&auml;tzlich ordnet unsere Betrachtung auch das Adapter-Teaming dieser Ebene zu, dazu gleich mehr </li>
<li>die Hypervisor-Ebene mit den virtuellen Switches, &uuml;ber die die virtuellen Maschinen ihre Verbindung ins Netzwerk herstellen </li>
<li>die VM-Ebene, in der die virtuellen Maschinen (einschlie&szlig;lich der Parent-Partition – auch dazu gleich mehr) und ihre jeweiligen Betriebssysteme ihre Netzwerkkarten “sehen” und konfigurieren </li>
</ul>
<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2012/04/image2.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.faq-o-matic.net/wp-content/uploads/2012/04/image_thumb2.png" width="244" height="205" /></a></p>
<p><em>Abb. 2: Logik der Netzwerkverbindungen in Hyper-V</em></p>
<h4>Die Host-Ebene</h4>
<p>In unserem Beispiel hat der betrachtete Host-Server sechs Netzwerkkarten, die unten auf der Host-Ebene dargestellt sind (violetter Bereich). F&uuml;nf dieser Netzwerkkarten (hier: NIC1 bis NIC5) sind dazu gedacht, den virtuellen Maschinen Verbindungen in das externe Netzwerk zu bieten (wobei es sich hier um bis zu drei getrennte Netzwerke handeln kann, es k&ouml;nnen aber auch weniger sein). Die sechste Karte (NIC6) dient dazu, einen separaten Netzwerkzugang f&uuml;r die “Parent Partition” zu definieren, &uuml;ber den keine der VMs eine Verbindung erhalten kann. Microsoft empfiehlt ein solches separates Management-Netzwerk, um die administrativen Aufgaben, die den Hyper-V-Host betreffen, vom normalen Netzwerkverkehr zu trennen. Zwingend notwendig ist ein solches eigenes Management-Netz nicht, und viele Kunden verzichten darauf.</p>
<p>Jeweils zwei Netzwerkkarten (NIC1/NIC2 sowie NIC3/NIC4) sind als Teams definiert, damit die zugeh&ouml;rigen Netzwerkverbindungen eine gewisse Ausfallsicherheit und in g&uuml;nstigen F&auml;llen auch eine Lastverteilung haben. Das Teaming muss in Windows Server 2008 R2 mit separater Software geschehen, die normalerweise vom Hersteller der Netzwerkkarten stammt (z.B. Broadcom BACP oder Intel ProSet). Dieses Teaming findet logisch betrachtet auf der Ebene des Hosts statt, weil Hyper-V nichts davon wei&szlig;. Das bedeutet auch, dass man bei der Einrichtung des Teaming eine bestimmte Installationsreihenfolge einhalten muss, weil es sonst zu gravierenden Zugriffsproblemen im Netzwerk kommen kann.</p>
<h4>Die Hypervisor-Ebene</h4>
<p>Der Hypervisor (orangefarbener Bereich) definiert virtuelle Switches (in Windows Server 2008 R2 als “virtuelle Netzwerke” bezeichnet, erst Windows Server “8” spricht von virtuellen Switches) und bietet damit die M&ouml;glichkeit, mehrere virtuelle Maschinen an die physischen Netzwerkadapter des Hostservers zu binden. Diese virtuellen Switches lassen eine unbegrenzte “&Uuml;berbuchung” der physischen Verbindungen zu: Ob nur eine virtuelle Netzwerkkarte an eine physische gebunden ist, drei oder zwanzig, ist dem Hypervisor zun&auml;chst egal.</p>
<p>Die virtuellen Switches definiert man zum ersten Mal bei der Ersteinrichtung von Hyper-V. Auf einem Host mit drei Netzwerkkarten sieht das z.B. so aus (hierbei wird ebenfalls eine Karte f&uuml;r das Management-Netz reserviert):</p>
<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2012/04/image3.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.faq-o-matic.net/wp-content/uploads/2012/04/image_thumb3.png" width="244" height="181" /></a></p>
<p><em>Abb.3: Definition virtueller Switches bei der Erstkonfiguration von Hyper-V in Windows Server 2008 R2</em></p>
<p>Nachtr&auml;glich lassen sich virtuelle Switches im Hyper-V-Manager erzeugen und konfigurieren, in Windows Server 2008 R2 &uuml;ber den Punkt “Manager f&uuml;r virtuelle Netzwerke” bzw. in Windows Server “8” &uuml;ber “Manager f&uuml;r virtuelle Switches”. </p>
<p>Wie oben bereits angemerkt, sind die Konfigurationsm&ouml;glichkeiten f&uuml;r die virtuellen Switches sehr eingeschr&auml;nkt. Man kann dort nur den Netzwerktyp sowie eine VLAN-ID f&uuml;r die Parent Partition zuweisen:</p>
<ul>
<li>“Extern”: Dieser Switch stellt eine uneingeschr&auml;nkte Verbindung in das dahinterliegende Netzwerk her. &Uuml;ber welche Netzwerkkarte der Verkehr l&auml;uft, w&auml;hlt man im Auswahlfeld darunter aus – Vorsicht, hier steht der Ger&auml;tename und nicht der evtl. manuell gew&auml;hlte “freundliche” Name.      <br />Ist das darunter stehende H&auml;kchen gesetzt, k&ouml;nnen VMs nicht nur andere Rechner im betreffenden LAN, sondern auch den “Host” selbst (genauer: die Parent Partition) erreichen. Obwohl das H&auml;kchen standardm&auml;&szlig;ig aktiviert ist, ist diese Einstellung meistens nicht notwendig, weil VMs normalerweise den Host gar nicht &uuml;ber das Netz ansprechen m&uuml;ssen. </li>
<li>“Nur intern”: Ein solcher Switch stellt in Wirklichkeit gar keine Verbindung ins physische LAN her, sondern erlaubt nur den Verkehr innerhalb des virtuellen Netzwerks. Die daran angebundenen VMs erreichen also keine Rechner im LAN, sondern nur solche auf demselben Host sowie den “Host” selbst. Aus diesem Grund kann man dort auch keine Netzwerkkarte ausw&auml;hlen.      <br />In der Produktion ist ein solches Netzwerk meist nicht n&uuml;tzlich, es ist eher interessant f&uuml;r Testaufbauten oder zur Vorkonfiguration von VMs, die zun&auml;chst nicht ans LAN sollen. </li>
<li>“Privates Netzwerk f&uuml;r virtuelle Computer”: Dieser Switch hat auch keine Verbindung zur Au&szlig;enwelt, daher gibt es auch hier keine Netzwerkkarte zur Auswahl. Dieses Netzwerk entspricht weitgehend dem “internen” mit dem Unterschied, dass der “Host” dar&uuml;ber nicht erreichbar ist. </li>
<li>Die VLAN-ID, die man an dieser Stelle ausw&auml;hlen kann, betrifft nur den Datenverkehr der Parent Partition, hier auch als “Verwaltungsbetriebssystem” bezeichnet. Sie betrifft keine anderen VMs, die man an solch einen Switch anbindet! Wirksam wird sie daher nur, wenn man das H&auml;kchen “Gemeinsames Verwenden dieses Netzwerkadapters f&uuml;r das Verwaltungsbetriebssystem zulassen” aktiviert – anderenfalls hat die Parent Partition ja gar keine Verbindung zu diesem Switch. </li>
</ul>
<p>Erst in Windows Server “8” kann man virtuelle Switches funktional erweitern. Das ist allerdings ein v&ouml;llig separates Thema, das wir an dieser Stelle nicht weiter behandeln.</p>
<h4>Die VM-Ebene</h4>
<p>Auf der VM-Ebene (t&uuml;rkiser Bereich) weist man den virtuellen Maschinen ihre Netzwerkkarten zu, verbindet sie mit virtuellen Switches und konfiguriert sie innerhalb des Betriebssystems der jeweiligen VM. Unter Windows Server 2008 R2 kann eine VM bis zu acht virtuelle Netzwerkkarten erhalten, von denen jede an maximal einen virtuellen Switch verbunden werden kann (also keine oder eine Verbindung, aber nicht mehr als eine – ein physischer Netzwerkport kann ja auch keine oder eine Kabelverbindung haben, aber nicht mehrere). Dabei kann man auch mehrere virtuelle Karten mit demselben virtuellen Switch verbinden, aber das ist nur in Ausnahmef&auml;llen sinnvoll.</p>
<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2012/04/image4.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.faq-o-matic.net/wp-content/uploads/2012/04/image_thumb4.png" width="244" height="196" /></a></p>
<p><em>Abb. 4: Netzwerkverbindungen f&uuml;r eine VM, hier mit aktivierter VLAN-ID f&uuml;r einen der Ports</em></p>
<p>Auf der Ebene der einzelnen Netzwerkports einer VM kann man optional eine VLAN-ID zuweisen. Dabei muss man nat&uuml;rlich daf&uuml;r sorgen, dass dieses VLAN au&szlig;erhalb der Hostumgebung (also auf den dahinterliegenden physischen Switches) korrekt umgesetzt wird. </p>
<p>In unserer Beispielgrafik oben haben wir exemplarisch zwei virtuelle Maschinen und die Parent Partition dargestellt:</p>
<ul>
<li>Die VM-A verf&uuml;gt &uuml;ber eine einzige virtuelle Netzwerkkarte (vNIC-A). Diese ist an den virtuellen Switch “vSwitch1” gebunden (welcher seinerseits auf Team1 konnektiert, also &uuml;ber NIC1 und NIC2 ins physische Netzwerk zeigt). </li>
<li>Die VM-B hat zwei virtuelle Netzwerkkarten: vNIC-B1 konnektiert auf den vSwitch3 und l&auml;uft so auf der physischen NIC5 ins LAN. vNIC-B2 ist mit vSwitch2 verbunden, l&auml;uft also &uuml;ber Team2 auf den Karten NIC3 und NIC4 ins physische Netz. </li>
<li>Die Parent Partition hat in unserem Beispiel ebenfalls zwei Netzwerkkarten. Die virtuelle Karte vNIC-Par ist beim Einrichten des virtuellen Switches vSwitch3 &uuml;ber das H&auml;kchen “Gemeinsame Verbindung … zulassen” definiert worden. Sie stellt also eine Verbindung zu vSwitch3 her, auf den auch VM-B konnektiert ist.      <br />Die physische Verbindung pNIC-Par ist nichts anderes als die physische Karte NIC6, die wir in unserem Beispiel f&uuml;r das Management-Netzwerk reserviert haben. </li>
</ul>
<p>Ein wichtiger Hinweis: Diese Konfiguration ist nur eine Illustration der Prinzipien. Sie stellt keine Empfehlung f&uuml;r echte Konfigurationen dar (wenn sie auch technisch m&ouml;glich w&auml;re und nicht unsinnig ist).</p>
<p>In der Grafik ist auch zu sehen, an welchen Stellen die Netzwerkverbindungen mit IP-Adressen versehen sind (dunkler “IP”-Kreis). Diese Konfigurationen finden ausschlie&szlig;lich innerhalb der jeweiligen VM-Betriebssysteme bzw. in der Parent Partition (dort f&uuml;r deren eigene Netzwerkverbindungen) statt. Virtuelle Switches haben in Hyper-V keine eigenen IP-Adressen, und auch den physischen Karten ist keine IP-Konfiguration zugewiesen!</p>
<h4>Die Ansicht in der Parent Partition</h4>
<p>Spannend ist nun die Frage, wie die Verbindungen in unserem Beispiel in der Parent Partition angezeigt w&uuml;rden. Zur Erinnerung: Der Host hat sechs Netzwerkkarten. Wie viele Verbindungs-Icons sieht man nun also in unserem Beispiel, wenn man im “Host” die Netzwerksteuerung &ouml;ffnet? Und Zusatzfrage: Wie viele IP-Adressen sind im Host zu konfigurieren?</p>
<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2012/04/image5.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.faq-o-matic.net/wp-content/uploads/2012/04/image_thumb5.png" width="244" height="140" /></a></p>
<p><em>Abb. 5: Die Ansicht der Verbindungs-Icons in der Systemsteuerung der Parent Partition (schematisch)</em></p>
<p>Antwort: Man sieht in unserem Beispiel neun Verbindungssymbole!</p>
<ul>
<li>F&uuml;nf Icons stellen die physischen Karten dar, die direkt oder &uuml;ber ein Team als virtuelle Switches konfiguriert sind. &Ouml;ffnet man die Eigenschaften dieser Symbole, so sieht man dort keine IP-Konfiguration und keine “normalen” Protokollbindungen, sondern nur das virtuelle Switch-Protokoll bzw. den Protokolleintrag der Teaming-Software. </li>
<li>Ein Icon (pNIC-Par) stellt die sechste physische Karte dar. Da diese nicht in Hyper-V mit einem vSwitch verbunden ist, zeigt sie die normalen Protokollbindungen und hat auch eine IP-Konfiguration. </li>
<li>Zwei Icons stammen von der Teaming-Software. Hierbei handelt es sich um die virtuellen Adapter, die die Netzwerk-Teams repr&auml;sentieren. Da wir im Beispiel an jedes Team einen vSwitch gebunden haben, haben auch diese Symbole keine IP-Konfiguration, sondern sind nur an das virtuelle Switch-Protokoll gebunden. </li>
<li>Schlie&szlig;lich gibt es eine virtuelle Netzwerkkarte innerhalb der Parent Partition (vNIC-Par). Sie ist, wie oben schon gesagt, &uuml;ber das H&auml;kchen “Gemeinsame Verbindung … zulassen” eingerichtet worden. Da es sich f&uuml;r die Parent Partition um eine “normale” Netzwerkkarte handelt, gibt es hier die normalen Protokollbindungen und damit auch eine IP-Konfiguration. </li>
</ul>
<p>Wenn man nun den “Host” konfiguriert, sollte man die Finger von der Protokollkonfiguration aller virtuellen Switches lassen, ebenso sollte man die Teams in Ruhe lassen. Zu konfigurieren sind hier je nach Bedarf nur zwei der Verbindungen: pNIC-Par und vNIC-Par, denn nur diese beiden stellen tats&auml;chlich “klassische” Netzwerkverbindungen f&uuml;r das Host-Betriebssystem (also die Parent Partition) dar.</p>
<h3>Best Practice</h3>
<p>Auch die Darstellungen in diesem Artikel werden nicht jede Frage beantworten und stellen noch keine ausreichende Grundlage f&uuml;r Planung und Konfiguration dar. Daher im Folgenden noch einige erg&auml;nzende Hinweise.</p>
<ul>
<li>Wie man sieht, sind <strong>Planung und Aufbau virtueller Netzwerke</strong> in Hyper-V durchaus komplex. Es empfiehlt sich also, hierf&uuml;r ausreichend Zeit schon in der Design-Phase vorzusehen. </li>
<li>Ein produktiver Hyper-V-Hostserver sollte <strong>ausreichend Netzwerkports</strong> vorsehen, um hinterher die konkreten Anforderungen zu erf&uuml;llen. Das kann durchaus bedeuten, dass manche Hardware nicht in Frage kommt, wenn sie nicht gen&uuml;gend Ports bietet (z.B. einfachere Blade-Systeme). Ber&uuml;cksichtigen sollte man je nach Situation:
<ul>
<li>Wie viele getrennte physische Netzwerkverbindungen ben&ouml;tigen die VMs, die auf dem System laufen sollen?          <br />Dabei ist zu ber&uuml;cksichtigen, dass man zwar durchaus f&uuml;nf, zehn oder auch zwanzig VMs &uuml;ber nur eine physische Netzwerkkarte anbinden kann. F&uuml;r viele Zwecke ist das auch ohne Probleme machbar. Aber: Obwohl hier ein virtueller Switch im Spiel ist, der den Verkehr steuert, handelt es sich dann eben nur um eine einzige Karte, also ggf. nur einmal 1 Gbit ins Netzwerk. Hier ist zu pr&uuml;fen, ob es f&uuml;r die VMs wirklich ausreicht, sich 1 Gbit Gesamtbandbreite zu teilen. Ist das zu wenig, sollte man mehrere physische Karten (und mehrere vSwitches) vorsehen. </li>
<li>Ist der Zugriff auf getrennte LAN-Segmente durch die VMs auf einem Host erforderlich?          <br />Pro physisches LAN ben&ouml;tigt man eine physische Netzwerkkarte und einen zugeordneten vSwitch. Sollen einige VMs also in ein Segment 172.16.x.y gelangen, andere in ein physisch getrenntes Segment 192.168.x.y, so sind zwei NICs einzuplanen. </li>
<li>Soll es ein separates Management-LAN geben? </li>
<li>Ist ein Speichernetz angebunden?          <br />Ein Speichernetz sollte man in der Produktion unbedingt &uuml;ber ein separates LAN f&uuml;hren, also auf keinen Fall &uuml;ber dieselben Netzwerkkarten ansprechen, die auch den produktiven LAN-Verkehr bedienen. Besonders im Fall von iSCSI ist dies relevant. </li>
<li>Gibt es ein Cluster-Netzwerk?          <br />Ein Hyper-V-Cluster sollte auf jeden Fall (mindestens) ein eigenes physisches Netzwerksegment f&uuml;r den clusterinternen Datenverkehr (Heartbeat, Live Migration, CSV) haben. In gr&ouml;&szlig;eren Umgebungen wird man hier sogar mehrere getrennte Netzwerke definieren. </li>
</ul>
</li>
<li>Die Parent Partition sollte auf eine Netzwerkverbindung zugreifen k&ouml;nnen, &uuml;ber die sie sich mit<strong> Updates</strong> versorgen kann (vorzugsweise per WSUS). Hierbei kann es sich um das Management-LAN handeln, was aber evtl. zus&auml;tzliche Konfiguration erfordert. </li>
<li>Ben&ouml;tigt die VM-Umgebung auf Netzwerkebene <strong>erweiterte Funktionen</strong> (z.B. Netzwerk-Management, Bandbreitensteuerung, Filterung/Firewalls, Intrusion Detection usw.), so stehen in Windows Server 2008 R2 daf&uuml;r keine Bordmittel und nur sehr wenige Drittanbieter-Produkte zur Verf&uuml;gung. Erst mit Windows Server “8” und seinen “Extensible vSwitches” gibt es hier eine definierte Schnittstelle f&uuml;r erg&auml;nzende Plug-ins. </li>
<li>Das <strong>Teaming</strong> ist unbedingt nach den Vorgaben des jeweiligen Herstellers einzurichten. Hinweise dazu gibt z.B. dieser Artikel:       <br />[How-To: Netzwerkkarten Teaming mit Hyper-V | Server Talk]       <br /><a href="http://www.server-talk.eu/2009/12/02/how-to-netzwerkkarten-teaming-mit-hyper-v/">http://www.server-talk.eu/2009/12/02/how-to-netzwerkkarten-teaming-mit-hyper-v/</a> </li>
<li>Es empfiehlt sich, die Netzwerkverbindungen in der Parent Partition mehrfach manuell <strong>umzubenennen</strong>. Windows selbst vergibt sonst nur Standardbezeichnungen à la “LAN-Verbindung 7”, was schnell sehr un&uuml;bersichtlich wird.
<ul>
<li>Die erste Umbenennung erfolgt direkt nach der Installation des Host-Betriebssystems und noch vor der Aktivierung der Hyper-V-Rolle.          <br />Bew&auml;hrt hat sich eine Namenskonvention, die die Karten als physisch kennzeichnet und gleichzeitig &uuml;ber das Netzwerk Auskunft gibt, das &uuml;ber das angeschlossene Netzwerkkabel erreichbar ist. Zudem ist es meist sinnvoll, den Port eindeutig zu kennzeichnen. Beispiele:
<ul>
<li>phy-LAN-Port1, phy-LAN-Port2 </li>
<li>phy-DMZ-Port-links, phy-Mgmt-Port-rechts </li>
</ul>
</li>
<li>Die zweite Umbenennung erfolgt ggf. wenn Teams eingerichtet sind. Auch hier sollten die Namen pr&auml;gnant und sprechend sein. Beispiele:
<ul>
<li>phy-Team-LAN-Port1-2 </li>
<li>phy-Team-LAN-VLAN2 </li>
</ul>
</li>
<li>Die dritte Umbenennung erfolgt, wenn Hyper-V fertig installiert und die virtuellen Karten der Parent Partition erzeugt sind. Diese sollten auch aussagekr&auml;ftige Namen haben. Beispiele:
<ul>
<li>vir-Parent-LAN </li>
<li>vir-Parent-WSUSNetz </li>
</ul>
</li>
</ul>
</li>
<li>Und schlie&szlig;lich ist es dringend zu empfehlen, die Design-Entscheidungen und die reale Implementierung der Netzwerke gut zu <strong>dokumentieren</strong>, weil man sonst schnell wieder den &Uuml;berblick verliert. </li>
</ul>
<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2012/04/image6.png"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.faq-o-matic.net/wp-content/uploads/2012/04/image_thumb6.png" width="244" height="167" /></a></p>
<p><em>Abb. 6: Beispiele f&uuml;r sprechend benannte Netzwerkverbindungen in der Parent Partition</em></p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2010/09/22/hyper-v-dynamic-memory-reservierung-fr-den-parent/' rel='bookmark' title='Hyper-V Dynamic Memory: Reservierung f&uuml;r den Parent'>Hyper-V Dynamic Memory: Reservierung f&uuml;r den Parent</a> <br /><small>Toni Pohl vom &ouml;sterreichischen TechNet-Team weist auf einen Umstand hin,...</small></li>
<li><a href='http://www.faq-o-matic.net/2010/05/03/warum-der-hyper-v-host-keine-weiteren-dienste-ausfhren-sollte/' rel='bookmark' title='Warum der Hyper-V-Host keine (!) weiteren Dienste ausf&uuml;hren sollte'>Warum der Hyper-V-Host keine (!) weiteren Dienste ausf&uuml;hren sollte</a> <br /><small>Beinahe t&auml;glich beantworte ich die Frage erstaunter Anwender, warum auf...</small></li>
<li><a href='http://www.faq-o-matic.net/2011/12/30/unsere-adventstipps-2011-zu-hyper-v/' rel='bookmark' title='Unsere Adventstipps 2011 zu Hyper-V'>Unsere Adventstipps 2011 zu Hyper-V</a> <br /><small>In diesem Jahr haben wir zum zweiten Mal einen IT-Adventskalender...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2012/04/23/hyper-v-und-netzwerke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Microsoft User Experience Virtualization (UE-V): Fakten und Bewertung</title>
		<link>http://www.faq-o-matic.net/2012/04/18/microsoft-user-experience-virtualization-ue-v-fakten-und-bewertung/</link>
		<comments>http://www.faq-o-matic.net/2012/04/18/microsoft-user-experience-virtualization-ue-v-fakten-und-bewertung/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 04:37:52 +0000</pubDate>
		<dc:creator>Helge Klein</dc:creator>
				<category><![CDATA[Benutzerprofile]]></category>

		<guid isPermaLink="false">http://www.faq-o-matic.net/?p=3962</guid>
		<description><![CDATA[Dies ist die deutsche Fassung des im englischen Original in meinem Blog auf helgeklein.com ver&#246;ffentlichten Artikels. 16 Jahre nachdem servergespeicherte Profile in Windows NT 4.0 deb&#252;tierten, versucht Microsoft auf eine ganz andere Art, Benutzereinstellungen zwischen verschiedenen Ger&#228;ten zu synchronisieren. Wie wir sehen werden, unterscheidet sich UE-V grunds&#228;tzlich von servergespeicherten Profilen, &#228;hnelt anderen Produkten zur Profilverwaltung [...]<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2003/10/14/wie-bekomme-ich-heraus-wann-ein-user-sich-zuletzt-ans-ad-angemeldet-hat/' rel='bookmark' title='Wie bekomme ich heraus, wann ein User sich zuletzt ans AD angemeldet hat?'>Wie bekomme ich heraus, wann ein User sich zuletzt ans AD angemeldet hat?</a> <small>Es gibt f&uuml;r diesen Zweck im AD ein Attribut namens...</small></li>
<li><a href='http://www.faq-o-matic.net/2011/04/20/microsoft-office-2010-standard-auf-remotedesktopserver-windows-2008-r2-aktivieren/' rel='bookmark' title='Microsoft Office 2010 Standard auf Remotedesktopserver Windows 2008 R2 aktivieren'>Microsoft Office 2010 Standard auf Remotedesktopserver Windows 2008 R2 aktivieren</a> <small>Dieser Beitrag erschien zuerst auf Bents Blog. F&uuml;r einen Kunden...</small></li>
<li><a href='http://www.faq-o-matic.net/2007/09/15/microsoft-updates-ohne-wsus-verteilen-teil-1/' rel='bookmark' title='Microsoft-Updates ohne WSUS verteilen &#8211; Teil 1'>Microsoft-Updates ohne WSUS verteilen &#8211; Teil 1</a> <small>Achtung! Zu der hier vorgestellten Software gibt es eine v&ouml;llig...</small></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p><em>Dies ist die deutsche Fassung des im englischen Original in meinem Blog auf <a href="http://helgeklein.com/blog/2012/04/microsoft-user-experience-virtualization-ue-v-facts-and-review/" target="_blank">helgeklein.com</a> ver&ouml;ffentlichten Artikels.</em></p>
<p>16 Jahre nachdem servergespeicherte Profile in Windows NT 4.0 deb&uuml;tierten, versucht Microsoft auf eine ganz andere Art, Benutzereinstellungen zwischen verschiedenen Ger&auml;ten zu synchronisieren. Wie wir sehen werden, unterscheidet sich UE-V grunds&auml;tzlich von servergespeicherten Profilen, &auml;hnelt anderen Produkten zur Profilverwaltung dagegen so sehr, dass man praktisch von einer Best-Practices-Implementierung sprechen kann.<span id="more-3962"></span></p>
<h3>&Uuml;berblick</h3>
<p>User Experience Virtualization (UE-V) wird ein Teil von MDOP werden. Es verwaltet ausschlie&szlig;lich Benutzer-<strong>Einstellungen</strong>, keine Daten. F&uuml;r letztere sieht Microsoft Ordnerumleitung und Offlinedateien vor.</p>
<h3>Vorlagen</h3>
<p>Im Gegensatz zu servergespeicherten Profilen, wo das gesamte Profil mit dem Benutzer wandert (mit Ausnahme von AppData\Local), speichert UE-V nichts im Netzwerk, das nicht explizit in einer Vorlage (Template) aufgef&uuml;hrt ist.</p>
<p>Eine Vorlage ist eine <strong>XML-Datei</strong>, die beschreibt, wo Einstellungen in der Registrierung oder im Dateisystem gespeichert sind. Typischerweise wird pro Anwendung oder Windows-Komponente jeweils eine eigene Vorlage verwendet. Folgende Vorlagen werden mitgeliefert:</p>
<p><strong>Anwendungseinstellungen:</strong></p>
<ul>
<li>Office 2010 (Word, Excel, Outlook, Access, Project, PowerPoint, Visio, SharePoint Workspace, InfoPath)</li>
<li>Internet Explorer 9 und 10 (Favoriten, Startseite, Tabs und Toolbars)</li>
<li>Windows-Anwendungen (Taschenrechner, Notepad, Wordpad)</li>
</ul>
<p><strong>Windows-Einstellungen:</strong></p>
<ul>
<li>Themes (Desktop Theme mit Hintergrundbild, Farben, Sounds und Bildschirmschoner)</li>
<li>Einstellungen zu erleichterter Bedienung und Eingabe</li>
</ul>
<h3>Erstellung von Vorlagen</h3>
<p><a href="http://www.faq-o-matic.net/wp-content/uploads/2012/04/UE-V-Generator.png"><img class="alignleft size-thumbnail wp-image-3971" style="margin: 10px;" title="UE-V-Generator" src="http://www.faq-o-matic.net/wp-content/uploads/2012/04/UE-V-Generator-150x150.png" alt="" width="150" height="150" align="left" /></a>Bei einem auf Einschlusslisten basierenden Produkt besteht die Schwierigkeit darin, dass eben diese Einschlusslisten vorhanden sein m&uuml;ssen. Anders gesagt, f&uuml;r jede Anwendung muss eine Vorlage erstellt werden. Microsoft wei&szlig; nat&uuml;rlich ganz genau, dass das einen gro&szlig;en Aufwand darstellt. Um diesen in Grenzen zu halten, wird eine Anwendung mit dem programmatischen Namen Generator mitgeliefert.</p>
<p>Wenn f&uuml;r eine Anwendung eine Vorlage ben&ouml;tigt wird, startet man sie mittels Generator. Dieser protokolliert, auf welche Pfade die Anwendung zugreift (Dateisystem und Registrierung) und erstellt eine ma&szlig;geschneiderte XML-Datei, die genau diese Pfade enth&auml;lt. Man sollte sich jedoch im Klaren dar&uuml;ber sein, dass eine <strong>manuelle Nachbearbeitung</strong> in vielen F&auml;llen n&ouml;tig sein wird.</p>
<p>Generator kann unabh&auml;ngig vom Client installiert werden. Wem bei der Ausf&uuml;hrung Fehler gemeldet werden: ben&ouml;tigt wird die Visual C++ 2010 Runtime.</p>
<h3>Vorlagenspeicher</h3>
<p>Selbsterstellte Vorlagen m&uuml;ssen allen Computern zur Verf&uuml;gung gestellt werden, auf denen UE-V verwendet wird. Dies geschieht am einfachsten durch Angabe eines <strong>Vorlagenkatalogpfads</strong> (template catalog path) in Form einer Dateifreigabe. Alternativ k&ouml;nnen PowerShell und WMI zur Registrierung neuer Vorlagen direkt auf dem jeweiligen Computer verwendet werden.</p>
<h3>Client und Infrastruktur</h3>
<p>UE-V ben&ouml;tigt praktisch keine Infrastruktur. Der zugeh&ouml;rige Client muss auf allen Computern installiert werden, wo Benutzer sich anmelden, deren Einstellungen von UE-V verwaltet werden sollen. Abgesehen davon wird nur ein File Server zur Speicherung der Einstellungen ben&ouml;tigt. Wenn kein Pfad zu den Benutzereinstellungen konfiguriert ist, wird das jeweilige Heimatverzeichnis verwendet. Dies entspricht dem Verhalten von Citrix Profile Management. Eine solche Architektur hat den Vorteil, dass das Produkt nur minimalen Konfigurationsaufwand erfordert.</p>
<h3>Offline-Verwendung</h3>
<p>Da UE-V zur Speicherung der Einstellungen eine normale Dateifreigabe verwendet, kann durch Nutzung der <strong>Windows-Offlinedateien</strong> auch UE-V sehr leicht mobil verf&uuml;gbar gemacht werden. In Situationen ohne oder mit nur langsamer Verbindung zum File Server werden &Auml;nderungen im Offlinedateicache gespeichert, der wiederum mit dem File Server synchronisiert wird.</p>
<p>Die Nutzung der Offlinedatei-Technologie f&uuml;r UE-V ist pfiffig, jedoch wird sich zeigen, wie mit Synchronisierungskonflikten umgegangen wird, die zwangsl&auml;ufig entstehen, wenn Einstellungen beispielsweise des Internet Explorer gleichzeitig auf einem Laptop und einem Terminalserver ge&auml;ndert werden.</p>
<p>Mein Artikel <a href="http://helgeklein.com/blog/2012/04/windows-7-offline-files-survival-guide/" target="_blank">Windows 7 Offline Files Survival Guide</a> besch&auml;ftigt sich mit Offlinedateien im Detail.</p>
<h3>Trigger</h3>
<p>Im Gegensatz zu servergespeicherten Profilen, wo das gesamte Profil w&auml;hrend der Anmeldung geladen wird, l&auml;dt UE-V Einstellungen erst dann, wenn sie ben&ouml;tigt werden. Windows-Einstellungen werden bei der Anmeldung, beim Entsperren und beim Verbinden mit einer entfernten Sitzung geladen, Anwendungseinstellungen jedoch erst dann, wenn das zugeh&ouml;rige Programm gestartet wird. Die Speicherung von Einstellungen l&auml;uft genau umgekehrt: bei Anwendungen, wenn sie geschlossen werden, bei Windows-Einstellungen wenn der Benutzer sich abmeldet, den Bildschirm sperrt oder die Sitzung trennt. Diese Ereignisse, die UE-V veranlassen, Daten zu speichern, werden Trigger genannt.</p>
<p>Anwendungs-Trigger, ausgel&ouml;st beim Starten und Stoppen von Programmen, erm&ouml;glichen eine sehr <strong>coole Demo</strong>: starten Sie zwei Sitzungen parallel auf unterschiedlichen Computern. Zeigen Sie, dass Word in beiden Sitzungen gleich konfiguriert ist. Starten Sie Word in Sitzung 1, &auml;ndern Sie einige Einstellungen und schlie&szlig;en Sie die Anwendung. Starten Sie dann Word in Sitzung 2 und demonstrieren Sie dem erstaunten Publikum, wie die ge&auml;nderten Einstellungen aus Sitzung 1 auf magisch anmutende Art und Weise &uuml;bernommen wurden.</p>
<h3>Unterst&uuml;tzte Betriebssysteme und Anwendungsbereitstellungsmethoden</h3>
<p>UE-V l&auml;uft unter Windows 7, Windows Server 2008 R2 und Windows 8 (Client und Server, aber mit einiger Sicherheit nicht unter Windows on ARM, WOA). UE-V kann sicherlich in fast allen Anwendungsbereichen servergespeicherte Profile ersetzen. UE-V funktioniert problemlos auch mit Remote Desktop Services und, dies ist bemerkenswert, auch mit <strong>App-V</strong>. Es kann also beispielsweise Einstellungen zwischen einem virtualisierten und einem nativ installierten Outlook synchronisieren.</p>
<h3>Rollback</h3>
<p>Einstellungss&auml;tze k&ouml;nnen in den <strong>Ursprungszustand zur&uuml;ckversetzt</strong> werden, und das pro Anwendung. Wenn also ein Problem mit Word besteht, wird dessen Einstellungsdatei gel&ouml;scht, w&auml;hrend alle anderen Benutzereinstellungen erhalten blieben. Dies ist eine sehr m&auml;chtige Funktion, die dazu beitragen k&ouml;nnte, Profill&ouml;schungen zu vermeiden &#8211; das L&ouml;schen von Profilen ist eine leider viel zu beliebte Methode, mit &#034;unerkl&auml;rlichen&#034; Anwendungsfehlern umzugehen, wenn die Zeit oder das Know-how f&uuml;r eine echte Analyse fehlt.</p>
<h3>Virtualisierung?</h3>
<p>Obwohl UE-V das &#034;V&#034; im Namen tr&auml;gt, hat es wenig mit Virtualisierung zu tun. Es <strong>synchronisiert Dateien und Registrierungsschl&uuml;ssel</strong> zwischen unterschiedlichen Computern. Es kann somit die vorhandenen Benutzerprofile nicht ersetzen, jedoch als Ersatz f&uuml;r servergespeicherte Profile verwendet werden, sofern eine ausreichende Anzahl an Vorlagen bereitsteht.</p>
<p>Genauso wenig migriert UE-V Einstellungen zwischen unterschiedlichen Versionen einer Anwendung, die ihre Einstellungen auf verschiedene Arten speichern, beispielsweise Office 2007 und 2010. UE-V repliziert Daten, es interpretiert sie nicht.</p>
<p>UE-V unterst&uuml;tzt nur Einstellungen, die im Benutzerprofil gespeichert werden. Au&szlig;erhalb von C:\Users\<em>Username</em> gespeicherte Daten k&ouml;nnen nicht mit UE-V verwaltet werden.</p>
<h3>Bewertung</h3>
<p>UE-V kommt sp&auml;t, sehr sp&auml;t. In der Terminalserverwelt, wo Profilprobleme durch die Zustandslosigkeit der Server und die oft gleichzeitige Verwendung mehrerer Sitzungen pro Benutzer an der Tagesordnung sind, entstand in den letzten 10 Jahren ein richtiggehendes &Ouml;kosystem, in dem sich die unterschiedlichsten Hersteller mit ihren jeweiligen L&ouml;sungen zur Synchronisation von Einstellungen tummeln. Dies wird bald vorbei sein.</p>
<p>Die Konsolidierung im Benutzerprofil-Markt wurde eingeleitet durch Citrix mit der &Uuml;bernahme von sepagoPROFILE (dessen Architekt ich war) im Jahr 2008. Zwei Jahre sp&auml;ter zog VMware nach und &uuml;bernahm die relevanten Teile von RTO Software. Weitere zwei Jahre sp&auml;ter stellt Microsoft UE-V vor.</p>
<p>Jetzt, wo Produkte zum Profilmanagement sowohl vom Betriebssystemhersteller mitgeliefert werden, als auch von Citrix und VMware f&uuml;r ihre jeweiligen Plattformen kostenlos bereitgestellt werden, wird das &Uuml;berleben f&uuml;r weitere Hersteller schwer. Wie immer in solchen F&auml;llen ist dies f&uuml;r die meisten Kunden vorteilhaft, da sie ein Produkt kostenlos erhalten, das f&uuml;r ihr Anwendungsszenario ausreichend ist. Die unabh&auml;ngigen Softwarehersteller haben derweil das Nachsehen.</p>
<p>Was in UE-V am meisten fehlt, sind Vorlagen f&uuml;r Anwendungen. Diese k&ouml;nnen jedoch durch Microsofts &uuml;beraus gro&szlig;e Community leicht bereitgestellt werden. Dazu ist nur eine gut gemachte Webseite n&ouml;tig, auf der Vorlagen ver&ouml;ffentlicht und mit Bewertungen und Kommentaren versehen werden k&ouml;nnen. Ein Anfang ist bereits gemacht: Microsoft hat in der <a href="http://gallery.technet.microsoft.com/site/search?f%5B0%5D.Type=RootCategory&amp;f%5B0%5D.Value=UE-V" target="_blank">TechNet Gallery</a> Platz f&uuml;r UE-V geschaffen und einen <a href="https://www.microsoft.com/download/en/details.aspx?id=29300" target="_blank">Wettbewerb</a> zur Erzeugung von Vorlagen ins Leben gerufen.</p>
<h3>Verwandte Beiträge:</h3><ol>
<li><a href='http://www.faq-o-matic.net/2003/10/14/wie-bekomme-ich-heraus-wann-ein-user-sich-zuletzt-ans-ad-angemeldet-hat/' rel='bookmark' title='Wie bekomme ich heraus, wann ein User sich zuletzt ans AD angemeldet hat?'>Wie bekomme ich heraus, wann ein User sich zuletzt ans AD angemeldet hat?</a> <br /><small>Es gibt f&uuml;r diesen Zweck im AD ein Attribut namens...</small></li>
<li><a href='http://www.faq-o-matic.net/2011/04/20/microsoft-office-2010-standard-auf-remotedesktopserver-windows-2008-r2-aktivieren/' rel='bookmark' title='Microsoft Office 2010 Standard auf Remotedesktopserver Windows 2008 R2 aktivieren'>Microsoft Office 2010 Standard auf Remotedesktopserver Windows 2008 R2 aktivieren</a> <br /><small>Dieser Beitrag erschien zuerst auf Bents Blog. F&uuml;r einen Kunden...</small></li>
<li><a href='http://www.faq-o-matic.net/2007/09/15/microsoft-updates-ohne-wsus-verteilen-teil-1/' rel='bookmark' title='Microsoft-Updates ohne WSUS verteilen &#8211; Teil 1'>Microsoft-Updates ohne WSUS verteilen &#8211; Teil 1</a> <br /><small>Achtung! Zu der hier vorgestellten Software gibt es eine v&ouml;llig...</small></li>
</ol>]]></content:encoded>
			<wfw:commentRss>http://www.faq-o-matic.net/2012/04/18/microsoft-user-experience-virtualization-ue-v-fakten-und-bewertung/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

