<?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>Muckels Tagebuch &#187; Programmieren</title>
	<atom:link href="http://tobias-leben.de/blog/category/informations-technik/programmieren/feed" rel="self" type="application/rss+xml" />
	<link>http://tobias-leben.de/blog</link>
	<description>aus dem Leben geschrieben</description>
	<lastBuildDate>Sun, 05 Feb 2012 22:30:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Gesundheitsdaten verwalten</title>
		<link>http://tobias-leben.de/blog/gesundheitsdaten-verwalten-2587.htm</link>
		<comments>http://tobias-leben.de/blog/gesundheitsdaten-verwalten-2587.htm#comments</comments>
		<pubDate>Sun, 10 Oct 2010 10:10:52 +0000</pubDate>
		<dc:creator>Muckel</dc:creator>
				<category><![CDATA[Gesundheit]]></category>
		<category><![CDATA[Informations Technik]]></category>
		<category><![CDATA[php/mysql]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Ärzteliste]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Dokumentation]]></category>
		<category><![CDATA[Einnahmeplan]]></category>
		<category><![CDATA[Erkrankung]]></category>
		<category><![CDATA[Erkrankungen]]></category>
		<category><![CDATA[Krankheit]]></category>
		<category><![CDATA[Medikamente]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Schmerzskala]]></category>
		<category><![CDATA[Verwaltung]]></category>
		<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://tobias-leben.de/blog/?p=2587</guid>
		<description><![CDATA[Es gibt leider viele Menschen, die sich dauerhaft mit ihrer Gesundheit auseinandersetzten müssen. Gründe können Allergien, chronische Erkrankungen, Handicaps und vieles mehr sein. Irgendwann kommt man an einen Punkt, ab dem es schwer wird, all das im Detai zu wissen, was mit der eigenen Situation in Verbindung steht. Das fängt mit den Medikamenten an und [...]]]></description>
			<content:encoded><![CDATA[<p>Es gibt leider viele Menschen, die sich dauerhaft mit ihrer Gesundheit auseinandersetzten müssen. Gründe können Allergien, chronische Erkrankungen, Handicaps und vieles mehr sein. Irgendwann kommt man an einen Punkt, ab dem es schwer wird, all das im Detai zu wissen, was mit der eigenen Situation in Verbindung steht. Das fängt mit den Medikamenten an und geht bis zu einer Liste von Ärzten, Therapeuten, Kliniken bei denen man schon war.</p>
<p>Auf Grund dieser Situation, die mich selbst auch betrifft, möchte ich ein System schaffen, mit dem es möglich sein soll, all das zu verwalten. Wie das klappen kann, möchte ich hier zeigen. Dazu möchte ich erstmal die Bereiche zeigen, die ich verarbeiten möchte:</p>
<ul>
<li>persönliche Daten</li>
<li>Dokumentation
<ul>
<li>Werte
<ul>
<li>Schmerzskala</li>
<li>Gewicht</li>
<li>INR-Wert</li>
<li>ggf. Blutwerte (?)</li>
</ul>
</li>
<li>Medikamente
<ul>
<li>Einnahmeplan</li>
<li>Übersicht der bereits erhaltenen Medikamente</li>
</ul>
</li>
<li>Diagnosen</li>
<li>Einschränkungen</li>
<li>Krankenakte</li>
</ul>
</li>
<li>Ärzteliste</li>
<li>Benötigte Bereiche
<ul>
<li>Anschrift</li>
<li>Nummern</li>
<li>Webkontakt</li>
</ul>
</li>
</ul>
<div style="text-align: center; margin: 0.5em 2em 0.5em 2em; background-color: #dedede; color: #660000; font-family: cursive;">
<h2>Test des Vorhabens</h2>
<p>Jede Entwicklung braucht seine Zeit und muss getestet werden. Das ist auch in der Informatik / bei dem Programmieren nicht anders. Aus diesem Grund habe ich natürlich auch einen <a title="Testbereich der Gesundheitsverwaltung" href="http://tobias-leben.de/test/werte/index.php" target="_blank">Test-Bereich</a>. Dort ist zu sehen, wie weit ich mit meinem Vorhaben bin.</p>
</div>
<h2>Erläuterungen zu den Bereichen</h2>
<p>Nachfolgend möchte ich auf die einzelnen Bereiche eingehen und so beschreiben, wieso sie wichtig sind. <strong>(</strong><small>Habe dafür zwei Spalten erstellt, damit das lesen Platz spart.</small><strong>)</strong></p>
<div style="display: block; margin: 0.5em; padding: 0em;">
<div style="float: left; display: block; width: 49.5%; margin: 0pt; background-color: #eeeeee; border: medium none;">
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>persönliche Daten</strong></span></p>
<p>Diese Daten werden benötigt, damit man die Gesamten Erhebungen zum Beispiel ausdrucken kann. Gibt man diese Information(en) zum Beispiel seinen behandelnden Ärzten, so ist es sinnvoll damit sie zumindest einen Namen und Geburtsdatum haben. So können Sie die Informationen zu Ordnen.</p>
<p>Sollte ich das System so weiter entwickeln, dass es auch andere Personen nutzen können, so braucht man auch da eine Zuordnung.</p>
</div>
<div style="float: left; display: block; width: 49.5%; margin: 0pt; border: medium none;">
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>Werte</strong></span></p>
<p>In diesem Bereich möchte ich dafür sorgen, dass man die Daten/Werte eintragen kann, die regelmäßig dokumentiert werden müssen. In meinem Fall wären das die Schmerzen für Morgens, Mittags und Abends die ich täglich erheben muss. Den <a title="INR-Wert" href="http://www.netdoktor.de/Diagnostik+Behandlungen/Laborwerte/INR-Quickwert-Prothrombinzeit-1445.html" target="_blank">INR-Wert</a> und das Gewicht reicht wöchentlich aus.</p>
<p>Bei der ersten Version werde ich nur diese Werte berücksichtigen. Später soll es aber so sein, dass die Benutzer vorher selbst die Werte einstellen können.</p>
</div>
</div>
<p><br style="clear: both;" /></p>
<div style="display: block; margin: 0.5em; padding: 0em;">
<div style="float: left; display: block; width: 49.5%; margin: 0pt; background-color: #eeeeee; border: medium none;">
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>Medikamente</strong></span></p>
<p>Hier möchte ich alle Medikamente aufführen, die man im laufe der Zeit verschrieben bekommt. Hinzu soll auch das Datum und Begründung für die erste Verordnung geben sowie für das endgültige absetzten.</p>
</div>
<div style="float: left; display: block; width: 49.5%; margin: 0pt; border: medium none;">
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>Einnahmeplan</strong></span></p>
<p>Medikamente nimmt man meistens unterschiedlich ein. Manche Täglich, manche nur auf Bedarf. Manchmal ist dann die Dosierung noch unterschiedlich bei gleichen Medikamenten. All das möchte ich hier ordnen und einen Medikamentenplan ausgeben.</p>
</div>
</div>
<p><br style="clear: both;" /></p>
<div style="display: block; margin: 0.5em; padding: 0em;">
<div style="float: left; display: block; width: 49.5%; margin: 0pt; background-color: #eeeeee; border: medium none;">
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>Einschränkungen</strong></span></p>
<p>In meinem Fall ist es so, dass ich verschiedene Einschränkungen habe. Manche davon sind dauerhaft, manche nur selten. Manche betreffen den Körper, andere einfach andere Lebensbereiche. Um bei Gesprächen usw. keine der kleinen Einschränkungen zu vergessen, möchte ich jene auch &#8220;sammeln&#8221;.</p>
</div>
<div style="float: left; display: block; width: 49.5%; margin: 0pt; border: medium none;">
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>Diagnosen</strong></span></p>
<p>Neben den Einschränkungen, symtomen gibt es Diagnosen, die von Ärzten gestellt werden. Manchmal ist es so, dass eine Hauptdiagnose noch andere mit sich bringt. Oder das Diagnosen von weiteren Ärzten bestätigt werden. Aus diesem Grund möchte ich jene auch aufführen.</p>
</div>
</div>
<p><br style="clear: both;" /></p>
<div style="display: block; margin: 0.5em; padding: 0em;">
<div style="float: left; display: block; width: 49.5%; margin: 0pt; background-color: #eeeeee; border: medium none;">
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>Krankenakte</strong></span></p>
<p>Berichte, Befunde, Laborwerte und all dies möchte ich natürlich auch sammeln, da jene ja oftmals als &#8220;Beweis&#8221; benötigt werden.</p>
<p>Hier möchte ich auf jedenfall das Datum des Schreiben und von wem es ist berücksichtigen. Zu dem soll es auch ein Feld für eine Kurzbeschreibung geben. Denn dadurch soll man dann auch suchen können. Und die &#8220;Originale&#8221; sollen als Datei (Grafik, PDF&#8230;) auch eingebunden werden.</p>
</div>
<div style="float: left; display: block; width: 49.5%; margin: 0pt; border: medium none;">
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>Ärzteliste</strong></span></p>
<p>Unter diesem Punkt möchte ich alle Ärzte, Therapeuten, Krankenhäuser, Praxen, Reha-Kliniken usw. auflisten, bei denen man war.</p>
<p>Das ist sinnvoll um so u.a. einen Überblick behalten zu können, wann man wo war und was dort gemacht wurde.</p>
</div>
</div>
<p><br style="clear: both;" /></p>
<p style="text-align: center;"><span style="text-decoration: underline;"><strong>Nummern &amp; Anschrift &amp; Webkontakt</strong></span></p>
<p>Unter diesen drei Punkten möchte ich lediglich die Kontaktdaten auflisten, die es so gibt. Jene werden bei der Ärzteliste und den persönlichen Daten benötigt.</p>
<div style="display: block; margin: 0 auto; padding: 0.25em; background-color: #999999;">
<p>Dies sind nun die Vorstellungen, Wünsche, Ideen die ich an mein &#8220;System&#8221; habe und ich bin bemüht, dass ich nach und nach alles umsetzten kann. Zuerst jedoch der Punkt mit den Werten und der Persönlichen Daten.</p>
<p style="text-align: center;"><span style="color: #800000;"><strong>Was haltet ihr davon?</strong></span></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://tobias-leben.de/blog/gesundheitsdaten-verwalten-2587.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ein Plugin zur Speicherung der Schmerzskala</title>
		<link>http://tobias-leben.de/blog/ein-plugin-zur-speicherung-der-schmerzskala-2558.htm</link>
		<comments>http://tobias-leben.de/blog/ein-plugin-zur-speicherung-der-schmerzskala-2558.htm#comments</comments>
		<pubDate>Sat, 02 Oct 2010 10:28:01 +0000</pubDate>
		<dc:creator>Muckel</dc:creator>
				<category><![CDATA[Gesundheit]]></category>
		<category><![CDATA[Informations Technik]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Rheuma]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Datenerhebung]]></category>
		<category><![CDATA[Datenspeicherung]]></category>
		<category><![CDATA[Diagramm]]></category>
		<category><![CDATA[Erkrankung]]></category>
		<category><![CDATA[Erkrankungen]]></category>
		<category><![CDATA[Erweiterung]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Krankheit]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Schmerz]]></category>
		<category><![CDATA[Schmerzen]]></category>
		<category><![CDATA[Schmerzskala]]></category>
		<category><![CDATA[Werte]]></category>
		<category><![CDATA[WP]]></category>

		<guid isPermaLink="false">http://tobias-leben.de/blog/?p=2558</guid>
		<description><![CDATA[Am Anfang soll eine Grafik sein, mit der die Werte als Diagramm dargestellt werden. Dabei unterschiedliche Kurven für Morgens, Mittags, Abends, Höchstwert, Tiefstwert und Mittelwert. An meiner Stelle soll ein Diagramm stehen. Nach diesem Diagramm soll eine Tabelle folgen, in der die Werte chronologisch auftauschen. Wichtig ist mir dabei, das der neuste Eintrag immer oben [...]]]></description>
			<content:encoded><![CDATA[<p>Am Anfang soll eine Grafik sein, mit der die Werte als Diagramm dargestellt werden. Dabei unterschiedliche Kurven für Morgens, Mittags, Abends, Höchstwert, Tiefstwert und Mittelwert.</p>
<div style="display: table; height: 4em; width: 90%; margin: 1em 5%; overflow: hidden; text-align: center; font-weight: bold; background-color: #990000; color: #dedede;">
<div style="#position: absolute; #top: 50%; display: table-cell; vertical-align: middle;">
<div style="#position: relative; #top: -50%;">An meiner Stelle soll ein Diagramm stehen.</div>
</div>
</div>
<p>Nach diesem Diagramm soll eine Tabelle folgen, in der die Werte chronologisch auftauschen. Wichtig ist mir dabei, das der neuste Eintrag immer oben steht und die älteren dann weiter unten.</p>
<table style="border:0.05em solid #990000;" title="Werte der Schmerzskala" border="1" cellspacing="0" cellpadding="0" width="90%" align="center">
<thead>
<tr>
<th rowspan="2">Datum</th>
<th colspan="6">Schmerzen</th>
<th rowspan="2">INR-Wert</th>
</tr>
<tr>
<th>Morgens</th>
<th>Mittags</th>
<th>Abends</th>
<th>Ø</th>
<th>Min</th>
<th>Max</th>
</tr>
</thead>
<tbody align="center">
<tr>
<td>xx.xx.xxxx</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>2,x</td>
</tr>
<tr>
<td>xx.xx.xxxx</td>
<td>2</td>
<td>2</td>
<td>2</td>
<td>2</td>
<td>2</td>
<td>2</td>
<td>2,x</td>
</tr>
<tr>
<td>xx.xx.xxxx</td>
<td>3</td>
<td>3</td>
<td>3</td>
<td>3</td>
<td>3</td>
<td>3</td>
<td>2,x</td>
</tr>
<tr>
<td>xx.xx.xxxx</td>
<td>4</td>
<td>4</td>
<td>4</td>
<td>4</td>
<td>4</td>
<td>4</td>
<td>2,x</td>
</tr>
</tbody>
</table>
<p>Der INR-Wert ist für die Blutgerinnung. Wegen meiner Lungenembolie muss ich Blutverdünner nehmen und das mit einem Testgerät kontrollieren. Den Wert gebe ich natürlich auch an. Die Werte für den Höchst-, Tiefst- und Mittelwert (=Durchschnitt) sollen automatisch berechnet werden. Eventuell wäre auch noch eine Blätterfunktion nach diesem Schema interessant:</p>
<div style="width: 70%; margin: 1em 15%; padding: 0.25em; text-align: center; background-color: #dedede;">
<p><span style="float: left;">«2009</span> <strong>2010</strong> <span style="float: right;">2011»</span></p>
<p><span style="float: left;">«September</span> <strong>Oktober</strong> <span style="float: right;">November»</span>
</div>
<p>Auch braucht man eine M&ouml;glichkeit die Werte einzugeben, dass k&ouml;nnte mit folgender Umsetzung geschehen:<br />
<strong>Datum:</strong>&nbsp;<br />
<input type="text" name="Datum" value="xx.xx.xxxx" size="7" /><strong>Morgens:</strong>&nbsp;<br />
<select name="morgens">
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
<p><strong>Mittags:</strong>&nbsp;<br />
<select name="mittags">
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
<p><strong>Abends:</strong>&nbsp;<br />
<select name="abends">
<option>0</option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
<p><strong>INR-Wert:</strong>&nbsp;<br />
<input type="text" name="INR-Wert" size="3" />
<input type="submit" name="Absenden" value="Absenden" />
<input type="reset" name="Abbrechen" value="Abbrechen" />
<p>Wie die Anordnung, Gestaltung dieses Formulares ausschaut, kann man ja sp&auml;ter festlegen.</p>
<p>Und all das möchte ich versuchen als WordPress-Plugin umzusetzten. Speicherung der Daten in eine CSV-Datei, damit man jene zB downloaden und mit OpenOffice Calc oder einem anderen Tabellenkalkulationsprogramm benutzen kann.</p>
]]></content:encoded>
			<wfw:commentRss>http://tobias-leben.de/blog/ein-plugin-zur-speicherung-der-schmerzskala-2558.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Anmeldeskript für einen Server</title>
		<link>http://tobias-leben.de/blog/anmeldeskript-fur-einen-server-2104.htm</link>
		<comments>http://tobias-leben.de/blog/anmeldeskript-fur-einen-server-2104.htm#comments</comments>
		<pubDate>Tue, 04 May 2010 11:18:10 +0000</pubDate>
		<dc:creator>Muckel</dc:creator>
				<category><![CDATA[Informations Technik]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Anmeldeskript]]></category>
		<category><![CDATA[Annastift]]></category>
		<category><![CDATA[Annastift Leben und Lernen gGmbH Bereich Berufsbildungswerk]]></category>
		<category><![CDATA[Asti]]></category>
		<category><![CDATA[Ausbildung]]></category>
		<category><![CDATA[Batch]]></category>
		<category><![CDATA[BBW]]></category>
		<category><![CDATA[Berufsbildungswerk]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Power Shell]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[sehll]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Skript]]></category>
		<category><![CDATA[Windows Scripting Host]]></category>
		<category><![CDATA[Windowsserver]]></category>

		<guid isPermaLink="false">http://tobias-leben.de/blog/?p=2104</guid>
		<description><![CDATA[meine beiden Kollegen und ich stehen kurz vor dem Ende unserer Ausbildung. Wir haben nun alle unsere Abschlussprojekte beendet und müssen jene im Juni nur noch vor dem IHK-Prüfungsausschuss präsentieren. Ein Arbeitskollege sollte eine Windows-Server-Umgebung aufbauen, an dem sich sowohl unsere Ausbilder wie auch wir anmelden können. Dies hat er soweit auch hinbekommen, es gab [...]]]></description>
			<content:encoded><![CDATA[<p>meine beiden Kollegen und ich stehen kurz vor dem Ende unserer Ausbildung. Wir haben nun alle unsere Abschlussprojekte beendet und müssen jene im Juni nur noch vor dem IHK-Prüfungsausschuss präsentieren. Ein Arbeitskollege sollte eine Windows-Server-Umgebung aufbauen, an dem sich sowohl unsere Ausbilder wie auch wir anmelden können.</p>
<p>Dies hat er soweit auch hinbekommen, es gab lediglich ein Problem mit dem <strong>N</strong>etwork <strong>A</strong>ttached <strong>S</strong>torage (NAS) [Eine Erklärung was das ist gibt es u.a. in der <a title="NAS in der Wikipedia" href="http://de.wikipedia.org/wiki/Network_Attached_Storage" target="_blank">deutschen Wikipedia</a>.], welches wir nun schon über einen Jahr in der Ausbildung haben. Da ich mich am Anfang mit dem NAS beschäftigt habe und ihn nicht nur mit den Daten versorgt habe, wollte ich meinem Kollegen helfen. Das Hauptproblem war die Zugriffsmöglichkeit und rechte verwaltung. Denn das NAS macht dies eigentlich selber und das würde bedeuten, dass man alle Userdaten zweimal pflegen müsste, was man verständlicher weise nicht möchte. Unser NAS ist so aufgebaut, dass es verschiedene Verzeichnisse für die jeweiligen Ausbildungsberufe in unserem Elektronik-Bereich gibt. Dadurch ergibt sich folgende Struktur:</p>
<ul>
<li>Ausbilder
<ul>
<li>Ausbilder 1</li>
<li>Ausbilder 2</li>
<li>Ausbilder 3</li>
<li>usw.</li>
</ul>
</li>
<li>EGES</li>
<li>ELFA</li>
<li>ITSE
<ul>
<li>Anleitungen</li>
<li>Berufsschule</li>
<li>Dokumente</li>
<li>Treiber
<ul>
<li>Drucker</li>
<li>Grafikkarten</li>
<li>Motherboards</li>
<li>Soundkarten</li>
<li>Sonstige</li>
</ul>
</li>
<li>Werkzeuge
<ul>
<li>Entwicklung</li>
<li>Grafik</li>
<li>Internet</li>
<li>Multimedia</li>
<li>Netzwerk</li>
<li>Office</li>
<li>Sicherheit</li>
<li>System</li>
<li>Weiteres</li>
</ul>
</li>
</ul>
</li>
<li>SYFO</li>
</ul>
<p>Die jeweiligen &#8220;Berufe&#8221; haben auch ihre jeweiligen Unterverzeichnisse. Normalerweise ist der NAS direkt über eine IP zuerreichen, die man auch als Netlaufwerk oder via FTP-Manager nutzen kann. Um in die Verzeichnisse zu kommen, muss man sich entweder als Admin anmelden oder aber ein Benutzerkonto (welches vom NAS verwaltet wird) muss dafür eingerichtet sein.</p>
<p>Doch wie kann man es jetzt erreichen, dass die User die sich über einen Client (PC irgendwo in der Ausbildung) anmelden, auch Zugriff auf den NAS erhalten, aber auch nur für ihr entsprechendes Verzeichnis? Genau an dieser Stelle hatte mein Arbeitskollege ein Problem und daher wollte ich ihm helfen. Meine Idee war, dass man das über ein Anmeldescript lösen könnte. Erster Gedanke war, dass dieses Script &#8220;nur&#8221; eine Verbindung zum NAS via Netzlaufwerk herstellt. Dies lässt sich auch recht einfach realisieren:</p>

<div class="wp_syntax"><div class="code"><pre class="winbatch" style="font-family:monospace;">net use M<span style="color: #FF1010; font-weight: bold;">: \\192.168.1.6\DataTank PASSWORT /user:muckel</span></pre></div></div>

<p>Diesen &#8220;Befehl&#8221; habe ich in ein Batchscript geschrieben und das Script wird als Anmeldescript sofort ausgeführt, wenn sich ein User am Server anmeldet. Problem ist dabei, dass das Netzlaufwerk auf die oberste Ebene verbunden wird und der User als muckel Zugriff auf den NAS hat und so in alle Verzeichnisse wechseln könnte.</p>
<p>Um diesen &#8220;Fehler&#8221; zu beheben haben wir die Benutzerverwaltung des NAS genutzt. Dort haben wir pro Ausbildungsberuf einen Account angelegt. Dieser Account hat dann nur Zugriff auf &#8220;sein&#8221; Verzeichnis und kann nicht in die anderen wechseln. Aus diesem Grund haben wir auch mehrere Anmelde-Scripte, die eben für den jeweiligen &#8220;Beruf&#8221; / Berechtigung gedacht sind. Der net use Befehl ändert sich in soweit, dass anstelle &#8220;muckel&#8221; nun der entsprechende Benutzer steht und dass bei der IP-Adresse das entsprechende Unterverzeichnis angegeben ist.</p>
<p>Wenn man aber schon ein Anmelde-Script nutzt, so kann man auch gleich noch die Netzwerkdrucker einrichten, die wir in der Abteilung haben. Das ist ebenfalls über einen &#8220;Konsolen-Befehl&#8221; möglich:</p>

<div class="wp_syntax"><div class="code"><pre class="winbatch" style="font-family:monospace;">rundll32 printui.dll,PrintUIEntry <span style="color: #66cc66;">/</span><span style="color: #800080;">in</span> <span style="color: #66cc66;">/</span>n <span style="color: #ff0000;">&quot;\\192.168.1.7\NAME DRUCKER&quot;</span></pre></div></div>

<p>Problem gab es mit zwei Druckern. Jene sind über einen Printserver am Netzwerk, der mehrere Ports hat. Bis lang konnten wir diese Drucker nur über die mitgelieferte Software installieren, da der &#8220;Anschluss&#8221; auf eine IP läuft (die des Printservers) und daran aber ein &#8220;,PID:1&#8243; bzw. &#8220;,PID:2&#8243; bzw. &#8220;,PID:3&#8243; hängt (z.B.: 192.168.1.239,PID:1 ) womit Windows wohl von Haus aus nichts anfangen kann. Denn auch das Einrichten über den Assistenten bei Win XP Pro funktioniert dank dieser &#8220;Erweiterung&#8221; auch nicht und im Script hat es ebenfalls nicht geklappt. Aus diesem Grund sind diese Drucker in meinem kleinen Script auch auskommentiert.</p>
<p>Wäre mehr Zeit gewesen, hätte man bei dem Script vlt. noch eine Abfrage des Betriebssystems machen sollen. Denn wenn es kein Windows Betriebssystem ist, von dem sich ein User anmeldet, funktioniert das Script vlt. garnicht oder nur Fehlerhaft. Wie sich das verhält, kann ich leider erst morgen testen, da ich letzte Woche Urlaub hatte und heute ebenfalls nicht im &#8220;Betrieb&#8221; war.</p>
<p>Es gibt wahrscheinlich noch andere Lösungen für diese Problemstellung. Vielleicht sogar einfachere oder bessere, doch jene sind mir auf anhieb nicht bekannt. Da ich Urlaub hatte und es auch nicht mein Abschluss-Projekt war, habe ich mich eben für dieses &#8220;Work-Around&#8221; entschieden, da ich wusste, dass man mit Anmeldescripten arbeiten kann und da mir die &#8220;Konsole&#8221; unter Windows und das &#8220;Batch&#8221; nicht gerade unbekannt sind.</p>
<p>Entstanden ist das folgende Script, welches gerne genutzt werden darf:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
</pre></td><td class="code"><pre class="winbatch" style="font-family:monospace;"><span style="color: #66cc66;">@</span>ECHO <span style="color: #0080FF; font-weight: bold;">OFF</span>
<span style="color: #FF1010; font-weight: bold;">:FREIGABE</span>
ECHO.
ECHO Einrichtung des Netzlaufwerkes...
ECHO.
REM Hier wird nun der DataTank eingerichtet. IP = IP des NAS, danach die Freigabe
REM gefolgt von dem Passwort und dem Benutzernamen
net use M<span style="color: #FF1010; font-weight: bold;">: \\192.168.1.6\DataTank\Azubi\ITSE PASSWORT /user:muckel</span>
<span style="color: #800080;">GOTO</span> DRUCKER
&nbsp;
<span style="color: #FF1010; font-weight: bold;">:DRUCKER</span>
ECHO.
ECHO Einrichtung der Netzwerkdrucker
ECHO.
REM Titen<span style="color: #66cc66;">-</span>Strahl<span style="color: #66cc66;">-</span>Farbdrucker im ITSE<span style="color: #66cc66;">-</span>Buero
rundll32 printui.dll,PrintUIEntry <span style="color: #66cc66;">/</span><span style="color: #800080;">in</span> <span style="color: #66cc66;">/</span>n <span style="color: #ff0000;">&quot;\\192.168.1.7\HP Deskjet 6940 series&quot;</span>
&nbsp;
REM Laserdrucker im ITSE<span style="color: #66cc66;">-</span>Buero
rundll32 printui.dll,PrintUIEntry <span style="color: #66cc66;">/</span><span style="color: #800080;">in</span> <span style="color: #66cc66;">/</span>n <span style="color: #ff0000;">&quot;\\192.168.1.240\Kyocera Mita FS-1010&quot;</span>
&nbsp;
REM Laserdrucker im Ausbilder<span style="color: #66cc66;">-</span>Buero
REM rundll32 printui.dll,PrintUIEntry <span style="color: #66cc66;">/</span><span style="color: #800080;">in</span> <span style="color: #66cc66;">/</span>n <span style="color: #ff0000;">&quot;\\192.168.1.239,PID:1\Kyocera FS-1020D&quot;</span>
&nbsp;
REM Farbdrucker im Ausbilder<span style="color: #66cc66;">-</span>Buero
REM rundll32 printui.dll,PrintUIEntry <span style="color: #66cc66;">/</span><span style="color: #800080;">in</span> <span style="color: #66cc66;">/</span>n <span style="color: #ff0000;">&quot;\\192.168.1.239,PID:2\Canon iP4500&quot;</span></pre></td></tr></table></div>

<p>Ansonsten gibt es zu diesem Thema noch folgende Links, die vielleicht Interessant sind:</p>
<ul>
<li><strong>Informationen von Administrator.de </strong>
<ul>
<li>Fragen die von &#8220;uns&#8221; gestellt wurden
<ul>
<li><a title="Anbindung NAS bei Windowsserver" href="http://www.muckelistrator.de/index.php?content=140508" target="_blank">Anfrage</a> meines Arbeitskollegen</li>
<li>meine Frage zum Thema <a title="Anmeldescript" href="http://www.muckelistrator.de/index.php?content=140659" target="_blank">Anmeldescript</a></li>
</ul>
</li>
<li>weitere Threads
<ul>
<li><a title="Skript zur automatischen Verteilung von Druckern" href="http://www.muckelistrator.de/index.php?content=108171" target="_blank">Skript zur automatischen Verteilung von Druckern anhand von Computerkonten in Active Directory Gruppen </a></li>
<li><a title="Startscript für Laufwerksberechtigungen" href="http://www.muckelistrator.de/index.php?content=108290" target="_blank">Startscript für Laufwerksberechtigungen</a></li>
<li><a title="Probleme mit net use" href="http://www.muckelistrator.de/index.php?content=66217" target="_blank">Probleme mit net use</a></li>
</ul>
</li>
</ul>
</li>
<li><strong>Informationen aus der deutschen Wikipedia </strong>
<ul>
<li><a title="Windows Batch bei Wikipedia" href="http://de.wikipedia.org/wiki/Windows_Batch" target="_blank">Windows Batch</a></li>
<li><a title="Stapelverarbeitung" href="http://de.wikipedia.org/wiki/Stapelverarbeitung" target="_blank">Stapelverarbeitung</a></li>
<li><a title="Cmd.exe" href="http://de.wikipedia.org/wiki/Cmd.exe" target="_blank">Cmd.exe</a></li>
<li><a title="Windows PowerShell" href="http://de.wikipedia.org/wiki/Windows_PowerShell" target="_blank">Windows PowerShell</a></li>
<li><a title="Kommandozeileninterpreter" href="http://de.wikipedia.org/wiki/Kommandozeileninterpreter" target="_blank">Kommandozeileninterpreter</a></li>
<li><a title="NAS bei Wikipedia" href="http://de.wikipedia.org/wiki/Network_Attached_Storage" target="_blank">Network Attached Storage</a> (NAS)</li>
<li><a title="iSCSI" href="http://de.wikipedia.org/wiki/ISCSI" target="_blank">iSCSI</a></li>
<li>SCSI (<a title="SCSI" href="http://de.wikipedia.org/wiki/SCSI" target="_blank">Small Computer System Interface</a>)</li>
</ul>
</li>
<li><strong>Informationen aus den deutschen Wikibooks </strong>
<ul>
<li><a title="Batch Programmierung" href="http://de.wikibooks.org/wiki/Batch-Programmierung" target="_blank">Batch Programmierung</a>
<ul>
<li><a title="Batch Allgemeine Information" href="http://de.wikibooks.org/wiki/Batch-Programmierung:_Allgemeine_Information" target="_blank">Allgemeine Information</a></li>
<li><a title="Wichtige DOS Kommandos" href="http://de.wikibooks.org/wiki/Batch-Programmierung:_Wichtige_DOS-Kommandos" target="_blank">Wichtige DOS Kommandos</a></li>
<li><a title="Batch Befehle" href="http://de.wikibooks.org/wiki/Batch-Programmierung:_Batch-Befehle" target="_blank">Batch Befehle</a></li>
<li><a title="Batch Operatoren" href="http://de.wikibooks.org/wiki/Batch-Programmierung:_Batch-Operatoren" target="_blank">Batch Operatoren</a></li>
</ul>
</li>
</ul>
</li>
<li><strong>weitere Informationen </strong>
<ul>
<li>Homepage des <a title="PDF-Creator" href="http://pdfforge.org" target="_blank">PDF-Creator-Projektes</a>, welches sehr zu empfehlen ist!
<ul>
<li><a title="PDF-Creator deutsche Startseite" href="http://de.pdfforge.org" target="_blank">deutsche Startseite</a></li>
<li><a title="PDF-Creator COM-Schnittstelle" href="http://de.pdfforge.org/content/com-schnittstelle" target="_blank">COM-Schnittstelle</a></li>
<li><a title="PDF-Creator FAQ" href="http://de.pdfforge.org/content/haeufig-gestellte-fragen-faq" target="_blank">Häufig gestellte Fragen</a> (FAQ)</li>
</ul>
</li>
<li>libe.net =&gt; <a title="Batch-Befehle" href="http://www.libe.net/themen/BATch-Befehle.php" target="_blank">Batch Datei, cmd Befehle&#8230;</a></li>
<li><a title="Grundlagen zu iSCSI" href="http://www.storitback.de/service/iscsi.html" target="_blank">Grundlagen zu iSCSI</a> von &#8220;<a title="Stor it Back" href="http://www.storitback.de/" target="_blank">Stor IT Back</a>&#8220;</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tobias-leben.de/blog/anmeldeskript-fur-einen-server-2104.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PlugIns für WordPress</title>
		<link>http://tobias-leben.de/blog/plugins-fur-wordpress-2037.htm</link>
		<comments>http://tobias-leben.de/blog/plugins-fur-wordpress-2037.htm#comments</comments>
		<pubDate>Tue, 04 May 2010 09:07:46 +0000</pubDate>
		<dc:creator>Muckel</dc:creator>
				<category><![CDATA[Informations Technik]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[Erweiterungen]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PlugIns]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Skript]]></category>
		<category><![CDATA[Webentwicklung]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://tobias-leben.de/blog/?p=2037</guid>
		<description><![CDATA[heute habe ich mich mal wieder mit dem WordPress-Blog beschäftigt. Aktuell pflege ich zwei Internetseiten, die auf dieser Software basieren. Einmal gibt es da das Blog meines Pfadfinderstammes und mein privates Blog, in dem Du gerade diesen Artikel liest. Von beiden Internetseiten habe ich heute erstmal ein Backup der Dateien gezogen und habe auch die [...]]]></description>
			<content:encoded><![CDATA[<p>heute habe ich mich mal wieder mit dem WordPress-Blog beschäftigt. Aktuell pflege ich zwei Internetseiten, die auf dieser Software basieren. Einmal gibt es da <a title="Pfadfinderstamm Ambronen" href="http://stammambronen.de" target="_blank">das Blog meines Pfadfinderstammes</a> und mein privates Blog, in dem Du gerade diesen Artikel liest. Von beiden Internetseiten habe ich heute erstmal ein Backup der Dateien gezogen und habe auch die Artikel exportiert, damit man so die Seiten wieder herstellen kann, wenn es Probleme geben sollte.</p>
<p>Als nächstes habe ich die Blogs auf die aktuelle Version upgedatet. Damit dies auch vernüftig funktionieret, musste ich auch die Erweiterungen, die sogenannten PlugIns aktualisieren. Da auch andere Personen in meinem Umfeld WordPress einsetzten und ab und an mal Fragen, wie sie die eine oder andere Funktion einrichten können, ist es sinnvoll, dass ich hier einmal die PlugIns aufführe, die ich verwende. Für mich ist es auch sinnvoll, da ich so an einer Stelle Links zu den PlugIns finde.</p>
<ul>
<li><strong>Funktions Erweiterung</strong>
<ul>
<li><strong>für Besucher</strong>
<ul>
<li><strong><a href="http://bueltge.de/wp-pxsmail-flexibles-kontaktformular-de-plugin/131/" target="_blank">flexibles Kontakt Formular</a> — </strong>Mit diesem PlugIn können die Besucher Kontakt zu einem aufnehmen. Es ist möglich verschiedene Kontaktpersonen einzustellen.</li>
<li><strong><a href="http://www.antonellocicchese.com/post2pdf-wordpress-plugin/" target="_blank">Post to PDF</a> — </strong>Mit diesem PlugIn kann man den angezeigten Inhalt als PDF abspeichern.</li>
<li><strong><a href="http://bueltge.de/wp-gaestebuch-wp-guestbook-plugin/155/" target="_blank">WP Gästebuch</a> — </strong>Dieses PlugIn nutzt die Kommentarfunktion des WordPress und erstellt daraus ein Gästebuch.</li>
<li><strong><a href="http://lesterchan.net/portfolio/programming/php/" target="_blank">WP Print</a> — </strong>Mit dem PlugIn kann man den angezeiten Inhalt ausdrucken.</li>
<li><strong><a href="http://lesterchan.net/portfolio/programming/php/" target="_blank">WP E-Mail</a> — </strong>Ähnlich wie post-to-pdf oder WP-Print bezieht sich auch dieses PlugIn wieder auf den angezeigten Inhalt, den man dann als E-Mail versenden kann.</li>
<li><strong><a href="http://lesterchan.net/portfolio/programming/php/" target="_blank">WP Polls</a> — </strong>Mit diesem PlugIn kann man Umfragen in seinem Blog stellen und das Ergebnis betrachten.</li>
<li>x<strong> —</strong> x</li>
<li>x<strong> —</strong> x</li>
<li>x<strong> —</strong> x</li>
</ul>
</li>
<li><strong>für Autoren</strong>
<ul>
<li><strong><a href="http://avi.alkalay.net/2006/11/google-maps-plugin-for-wordpress.html" target="_blank">Inline Google Maps</a> — </strong>Wenn man sich eine googleMap anschaut, gibt es dort i.d.R. die Schaltfläcke <em>Link</em>, nimmt man nun diesen Link zu der googleMap Karte, so kann man sich die Karte in seinem Blog anzeigen lassen. Zu diesem Zweck nutzt man die &#8220;Verlinkungsschaltfläche&#8221; des Blogs. In dem sich öffnenden Fenster kopiert man die Link Adresse und muss bei Titel <em>googlemap</em> reinschreiben. Dieser &#8220;html Link&#8221; wird dann zu der googleMap-Karte umgewandelt.</li>
<li><strong><a href="http://wordpress.org/extend/plugins/geotag/" target="_blank">Geo Tag</a> — </strong>Dieses PlugIn erweitert die Artikel und Seiten um Geografische Angaben. Dabei werden die GeoTags berücksichtigt und man kann sich zudem auch eine Karte anzeigen lassen. Interessant ist das PlugIn für Personen, die zum Beispiel den Verlauf einer Reise dokumentieren wollen. Viele Gruppen aus der bündisch geprägten Pfadfinderei gehen auf Wanderfahrt und schreiben dort zum Beispiel eine Chronik (auch Logbuch genannt) &#8211; mit diesem PlugIn könnte man jene auch mit einem Blog darstellen. Speziell für Segler gibt es ein Multiblog (<a href="http://seglr.de/" target="_blank">www.seglr.de</a>), die sich dieser Materie angenommen haben. Wer nur einmal GeoTags für seine Website einbinden möchte, kann <a href="http://www.geo-tag.de/generator/de.html" target="_blank">diesen Generator</a> nutzen. Erklärt sind diese Tags zum Beispiel in der <a href="http://de.wikipedia.org/wiki/Geo-Tag" target="_blank">deutschen Wikipedia</a>.</li>
<li><strong><a href="http://www.faktor.cc/Fotomobil/wp-osm-plugin" target="_blank">Open Street Map PlugIn</a> — </strong>Mit diesem PlugIn kann man eine freie Karte des <a href="http://www.openstreetmap.de" target="_blank">Open-Street-Map Projekt</a> einbinden. Neben dem stupiden anbieten einer Karte, kann dieses PlugIn noch mehr. Es kann Karten mit Wegpunkten, Markierungen und ganzen Routen darstellen. Das ganze erleichtert durch das verarbeiten der GPX-Dateien, die von vielen Navigationsgeräten und GPS-Empfängern verwendet werden. Interessant ist die <a href="http://www.faktor.cc/Fotomobil/wp-osm-how-to-add-route-manually" target="_blank">Demo-Seite des PlugIns</a>, da man auf jener lesen kann, was das PlugIn alles umsetzten kann. Besonders gut finde ich, dass das PlugIn eben auf die freien Karten von OpenStreetMap setzt.</li>
<li><strong><a href="http://wordpress.org/extend/plugins/wp-syntax/" target="_blank">WP Syntax</a> — </strong>Wenn man sich wie ich mit Programmierung beschäftigt und dann noch ein eigenes Blog hat, möchte man ab und an auch Quellcode ausgeben. Mit WP-Syntax ist dieses leicht gemacht, da es verschieden Sprachen beherrscht und so den Quellcode hervorhebt, was man &#8220;Syntax Highliting&#8221; oder auch Syntaxhervorhebung nennt. Wem dies nichts sagt, dem sei der <a href="http://de.wikipedia.org/wiki/Syntaxhervorhebung" target="_blank">Wikipedia Artikel</a> empfholen und <a href="http://blog.jurtenrunde.de/netzwerk-uberwachung-via-batch-script-1298.htm" target="_blank">ein Beispiel</a> kann man in meinem privaten Blog sehen.</li>
<li><strong><a href="http://www.internetmarketingmonitor.org/word-press-plugins/imm-glossary-wordpress-plugin/" target="_blank">IMM Glossary</a> — </strong>Mit diesem PlugIn war es möglich eine Reihe von Begriffen auf zu führen und jene mit einer Erklärung zu hinterlegen. Das Blog wurde dann nach diesen Begriffen durchsucht und bei&#8217;m herüber fahren mit der Maus (hovern) wurde einem dann die Erklärung angezeigt. Leider habe ich dieses PlugIn unter der aktuellen WordPress Version noch nicht zum laufen bekommen, weshalb ich noch auf der Suche nach einer neuen Lösung bin.</li>
<li>x<strong> —</strong> x</li>
<li>x<strong> —</strong> x</li>
<li>x<strong> —</strong> x</li>
</ul>
</li>
</ul>
</li>
<li><strong>Suchmaschienen optimierung</strong> (SEO-Optimierung)
<ul>
<li><strong><a href="http://yoast.com/wordpress/google-analytics/#utm_source=wordpress&amp;utm_medium=plugin&amp;utm_campaign=google-analytics-for-wordpress" target="_blank">Google Analytics</a> — </strong>ist ein mächtiges <a href="http://www.google.com/intl/de_ALL/analytics/" target="_blank">Werkzeug von Google</a>, mit dem man die Besucherbewegungen seiner Internetseite auswerten kann. Für WordPress gibt es dieses PlugIn, damit man diesen Service noch besser nutzen kann. Google Analytics ist recht umstritten, da es in sogenannten Cookies die Bewegungen des Besuchers speichert und auswertet &#8211; dies macht nicht nur der Webmaster, sondern auch Google als Unternehmen, die dadurch wiederum Geld verdienen. Aktuell habe ich es noch eingesetzt um lediglich zu schauen, welche Themen am meisten von den Besuchern gelesen werden. Eine weitere Auswertung nehme ich nicht vor. Mehr zu diesem Thema kann man wieder einmal bei <a href="http://de.wikipedia.org/wiki/Google_Analytics" target="_blank">Wikipedia</a> finden.</li>
<li><strong><a href="http://www.arnebrachhold.de/projects/wordpress-plugins/google-xml-sitemaps-generator/" target="_blank">Google XML Sitemaps</a> — </strong>alle modernen Internetseiten haben eine sogenannte Sitemap. Das ist eine Seite, auf der die Inhalte der Website strukturiert zu lesen sind. Zum einen werden diese Seiten von Suchmaschinen genutzt, die dadurch Treffer besser zuordnen können. Doch zum anderen sind sie auch für Personen nützlich, die zum Beispiel Hilfsmittel einsetzten, die wiederum über die Sitemaps (=Inhaltsseiten) die Inhalte der Website ansteuern.</li>
<li>x<strong> —</strong> x</li>
<li>x<strong> —</strong> x</li>
<li>x<strong> —</strong> x</li>
</ul>
</li>
<li><strong>Sonstiges</strong>
<ul>
<li><strong><a href="http://akismet.com/download/" target="_blank">Akismet</a> — </strong>Ist im Grunde ja ein Spamfilter für das Blog. Denn es gibt automatisierte Systeme, die zum Beispiel über die Kommentarfunktion Spam verbreiten wollen. Da dieses Problem viele Blog-Betreiber betrifft, gibt es diesen Filter, der die Kommentare nach bekannten Spam durchsucht und jenen automatisiert sperrt.</li>
<li><strong><a href="http://danielhuesken.de/portfolio/minimeta/" target="_blank">Mini Meta Widget</a> — </strong>Nicht alle möchten einen Link zurück zu WordPress haben, jene tauchen aber im normalen &#8220;Meta-Bereich&#8221; des Blogs auf. Mit diesem PlugIn kann man den Meta-Bereich einstellen und selbst entscheiden, was man dort stehen haben möchte.</li>
<li><strong><a href="http://www.im-web-gefunden.de/wordpress-plugins/role-manager/" target="_blank">Role Manager</a> — </strong>Mit diesem PlugIn soll es möglich sein, dass man gewisse Kategorien oder Seiten nur für entsprechende Usergruppen zugänglich macht. Mein Vorhaben konnte ich mit meinen Versuchen noch nicht umsetzten, aber in den ganzen Support Foren wird dieses PlugIn immer wieder empfohlen.</li>
<li><strong><a href="http://bueltge.de/wp-suchen-und-ersetzen-de-plugin/114/" target="_blank">Suchen und ersetzten</a> — </strong>Mit diesem PlugIn kann man den Inhalt der Datenbank durchsuchen und die gefundenen Begriffe ersetzten. Dies ist zum Beispiel sehr sinnvoll, wenn man den standard Benutzer durch einen eigenen austauschen möchte.</li>
<li><strong><a title="Wartungsmodugs" href="http://bueltge.de/wp-wartungsmodus-plugin/101/" target="_blank">Wartungsmodus</a></strong><strong> — </strong>Mit diesem PlugIn kann man seinen Blog in einen Wartungsmodugs setzten. Dies kann von nöten sein, wenn man zum Beispiel änderungen an den Grundfunktionen durchführen möchte.</li>
<li><strong><a title="Postlevels" href="http://fortes.com/projects/wordpress/postlevels/" target="_blank">Postlevels</a></strong><strong> —</strong> Mit diesem PlugIn kann man Benutzerebenen erstellen und die Benutzer diesen Leveln zuordnen und so dann zum Beispiel den Zugriff auf bestimmte Kategorien oder Seiten sperren.</li>
<li><strong><a title="WP Site uebersetzten" href="http://bueltge.de/wp-site-uebersetzen/48/" target="_blank">WP Site übersetzten</a></strong><strong> —</strong> Mit diesem PlugIn soll es möglich sein, eine Übersetzung seiner Seite durch den Service von <a title="Google Sprachservice" href="http://www.google.de/language_tools?q=bueltge&amp;hl=de&amp;lr=" target="_blank">Google Sprachservice</a> oder <a title="Übersetzung mit Altavista" href="http://babelfish.altavista.com/" target="_blank">Altavista</a> anzubieten. Selbst habe ich dieses PlugIn noch nicht getestet.</li>
<li><strong>x</strong><strong> —</strong> x</li>
<li><strong>x</strong><strong> —</strong> x</li>
<li><strong>x</strong><strong> —</strong> x</li>
<li><strong>x</strong><strong> —</strong> x</li>
<li><strong>x</strong><strong> —</strong> x</li>
</ul>
</li>
</ul>
<p>In den folgenden Tagen werde ich die beiden Blogs die ich betreue mit den nötigen PlugIns versehen, jene konfigurieren und ggf. in die Layouts einarbeiten. Diesen Artikel werde ich dann weiter führen, um zu berichten welches Erweiterungen ich genutzt habe und wie sie ggf. zu konfigurieren sind.</p>
]]></content:encoded>
			<wfw:commentRss>http://tobias-leben.de/blog/plugins-fur-wordpress-2037.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netzwerküberwachung via Batch-Skript</title>
		<link>http://tobias-leben.de/blog/netzwerkuberwachung-via-batch-skript-1954.htm</link>
		<comments>http://tobias-leben.de/blog/netzwerkuberwachung-via-batch-skript-1954.htm#comments</comments>
		<pubDate>Tue, 04 May 2010 07:52:36 +0000</pubDate>
		<dc:creator>Muckel</dc:creator>
				<category><![CDATA[Informations Technik]]></category>
		<category><![CDATA[Programmieren]]></category>
		<category><![CDATA[Batch]]></category>
		<category><![CDATA[Entwicklung]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[Power Shell]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[sehll]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Skript]]></category>
		<category><![CDATA[Windows Scripting Host]]></category>

		<guid isPermaLink="false">http://tobias-leben.de/blog/?p=1954</guid>
		<description><![CDATA[Während meiner Ausbildung zum IT-Systemelektroniker in einem Berufsbildungswerk gab es die Situation, dass das &#8220;Azubi Internet&#8221; sehr unzuverlässig ist. Da dies einmal für die Rehabilitanten schlecht ist, die das Internet im Wohnbereich nutzen möchten und dafür jeden Monat 5€ zahlen müssen, ist es darüberhinaus besonders für eine &#8220;Abteilung&#8221; der kaufmännischen Ausbildung schlecht. Jene soll über [...]]]></description>
			<content:encoded><![CDATA[<p>Während meiner Ausbildung zum IT-Systemelektroniker in einem Berufsbildungswerk gab es die Situation, dass das &#8220;Azubi Internet&#8221; sehr unzuverlässig ist. Da dies einmal für die Rehabilitanten schlecht ist, die das Internet im Wohnbereich nutzen möchten und dafür jeden Monat 5€ zahlen müssen, ist es darüberhinaus besonders für eine &#8220;Abteilung&#8221; der kaufmännischen Ausbildung schlecht. Jene soll über das Internet Sachen versteigern, die nicht mehr benötigt werden. Dafür brauchen sie eine funktionierende Internetverbindung.</p>
<p>Um dieses &#8220;Azubi Internet&#8221; zu benutzen muss man den jeweiligen PC auf DHCP einstellen. Bei dem Aufrufen einer Internetseite wird man zu dem internen Server umgelenkt und muss sich an einer Firewall-Seite mit seinem Benutzernamen und einem Passwort anmelden. Es hat sich gezeigt, dass das anmelden an dieser Firewall Seite in der Regel funktioniert, man dann aber zu keiner Internetseite weiter kommt. Mit Hilfe des PING-Befehls konnte gezeigt werden, dass der interne Server zwar erreichbar ist, externe Server aber nicht.</p>
<p>Dieses Verhalten sollte ich nun eine automatisierte Dokumentation starten. Natürlcih gibt es dafür viele nützliche Werkzeuge, doch mein Ausbilder wollte, dass dies mit &#8220;Windows eigenen Mitteln&#8221; umgesetzt wird. Also habe ich mit dem Windows Scripting Host und dem Batch-Script gewidmet.</p>
<p>Entstanden ist das folgende Script, welches ich hier kurz vorstellen möchte, da es vielleicht der ein oder andere für seine eigenen Probleme nutzen möchte.<span id="more-1954"></span></p>
<h2>das Script</h2>
<p>Wie mir bekannt war, ist über den PING-Befehl der Interne Server meistens erreichbar, externe Webseiten/Server aber nicht. Dieses Verhalten wollte ich nutzen und den Erfolg bzw. den Misserfolg zu dokumentieren. Damit das ganze übersichtlicher wird, sollte es eine fehler Datei und eine erfolg Datei geben in der dann mit Datum und Uhrzeit aufgeführt ist, wann es eine Erfolgreiche Verbindung gab und wann nicht.</p>
<h3>aufruf.vbs</h3>
<p>Die Datei sorgt dafür, dass das Script automatisch starten kann. Um dieses umzusetzen muss man eine &#8221;Verknüpfung&#8221; im &#8221;Autostart&#8221; Ordner für &#8221;alle Benutzer&#8221; anlegen. Am einfachsten geht dies über den Explorer (Windowstaste + E) und dann in folgendes Verzeichnis wechseln: <code>C:\Dokumente und Einstellungen\All Users\Startmenü\Programme\Autostart</code> Dort dann eine neue Verknüpfung zur aufruf.vbs anlegen, die in der Regel unter folgendem Pfad zu finden ist:<code> C:\ueberwachung\aufruf.vbs</code> Die Datei ruft dann selbstständig die &#8221;ueberwachung.bat&#8221; auf, die das eigentliche Script beinhaltet.</p>
<p>Der Quellcode der Datei sieht so aus:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="winbatch" style="font-family:monospace;">Set WshShell = WScript.<span style="color: #0000FF;">CreateObject</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;WScript.Shell&quot;</span><span style="color: #66cc66;">&#41;</span>
WshShell.<span style="color: #0000FF;">Run</span> <span style="color: #ff0000;">&quot;ueberwachung.bat&quot;</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #0080FF; font-weight: bold;">True</span></pre></td></tr></table></div>

<h3>warten.vbs</h3>
<p>Das zweite Helferlein ist die warten.vbs. Diese Datei sorgt dafür, dass das Script nur in einem vorgegebenen Zeitabstand Wiederholt wird. In meinem Beispiel habe ich es zurzeit auf eine Minute eingestellt.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="winbatch" style="font-family:monospace;">REM Zeit für die Wiederholung <span style="color: #800080;">in</span> Milisekunden
wscript.sleep<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">60000</span><span style="color: #66cc66;">&#41;</span>
REM Zeitangaben
REM eine Minute<span style="color: #FF1010; font-weight: bold;">: 60000</span>
REM halbe Minute<span style="color: #FF1010; font-weight: bold;">: 30000</span></pre></td></tr></table></div>

<p>Die Zeitangabe erfolgt in Millisekunden. Um zu wissen, wieviele Millisekunden eine Minute oder eine halbe Minute hat, kann man zum Beispiel den Service von <a title="Convert World" href="http://www.convertworld.com/de/zeit/Millisekunden.html" target="_blank">ConvertWorld.com</a> nutzen. (Diese Seite bietet sehr viele Einheitsumrechner an.)</p>
<h3>ueberwachung.bat</h3>
<p>Das eigentliche Script läuft in der ueberwachung.bat Batch-Datei ab. Dank einem <a title="User Iwan von Administrator.de" href="http://www.muckelistrator.de/index.php?mod=show_public_profile&amp;nr=32965" target="_blank">User</a> von der Community  <a title="Administrator.de" href="http://www.muckelistrator.de/index.php?content=125995" target="_blank">Administrator.de</a> habe ich es nun auch lauffähig bekommen. Hier erstmal der gesammte Quellcode der Datei:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
</pre></td><td class="code"><pre class="winbatch" style="font-family:monospace;"><span style="color: #66cc66;">@</span>ECHO <span style="color: #0080FF; font-weight: bold;">OFF</span>
CD <span style="color: #66cc66;">/</span>D C<span style="color: #FF1010; font-weight: bold;">:\ueberwachung</span>
MD <span style="color: #66cc66;">%</span>CD<span style="color: #66cc66;">%</span>\ergebnis\
SET FileOK=<span style="color: #66cc66;">%</span>CD<span style="color: #66cc66;">%</span>\ergebnis\erfolg.txt
SET FileER=<span style="color: #66cc66;">%</span>CD<span style="color: #66cc66;">%</span>\ergebnis\fehler.txt
SET FilePI=<span style="color: #66cc66;">%</span>CD<span style="color: #66cc66;">%</span>\ergebnis\ping.txt
<span style="color: #FF1010; font-weight: bold;">:ueberwachung</span>
REM Zeitverzoegertes wiederholen
wscript warten.vbs
REM Datum und Zeit <span style="color: #800080;">in</span> das Format xx.xx.xxxx xx<span style="color: #FF1010; font-weight: bold;">:xx:xx einrichten</span>
SET datum=<span style="color: #66cc66;">%</span>date<span style="color: #FF1010; font-weight: bold;">:~0%</span>
SET zeit=<span style="color: #66cc66;">%</span>time<span style="color: #FF1010; font-weight: bold;">:~0,8%  </span>
&nbsp;
ECHO PING zu der IP des <span style="color: #ff0000;">&quot;BBW Servers&quot;</span> <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
PING <span style="color: #66cc66;">-</span>n <span style="color: #cc66cc;">1</span> 10.10.10.1 <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
REM Errorlevel <span style="color: #800080;">in</span> eine Variable speichern
SET BBW=<span style="color: #66cc66;">%</span>errorlevel<span style="color: #66cc66;">%</span> 
&nbsp;
ECHO PING zu der IP des <span style="color: #ff0000;">&quot;www.google.de&quot;</span> <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
PING <span style="color: #66cc66;">-</span>n <span style="color: #cc66cc;">1</span> www.google.de <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
REM Errorlevel <span style="color: #800080;">in</span> eine Variable speichern
SET GOOGLE=<span style="color: #66cc66;">%</span>errorlevel<span style="color: #66cc66;">%</span> 
&nbsp;
ECHO PING zu der IP des <span style="color: #ff0000;">&quot;www.chip.de&quot;</span> <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
PING <span style="color: #66cc66;">-</span>n <span style="color: #cc66cc;">1</span> www.chip.de <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
REM Errorlevel <span style="color: #800080;">in</span> eine Variable speichern
SET CHIP=<span style="color: #66cc66;">%</span>errorlevel<span style="color: #66cc66;">%</span> 
&nbsp;
REM leeren des DNS<span style="color: #66cc66;">-</span>Caches um zu gefährleisten, dass es nicht am Client liegt
ipconfig <span style="color: #66cc66;">/</span>flushdns <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span> 
&nbsp;
REM Abschließen der Datei
ECHO. <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
ECHO <span style="color: #66cc66;">------------------------------------------------------------</span> <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
ECHO. <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
REM Fehlerauswertung
<span style="color: #800080;">IF</span> <span style="color: #66cc66;">%</span>BBW<span style="color: #66cc66;">%</span> == <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#40;</span> echo <span style="color: #66cc66;">%</span>datum<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">%</span>zeit<span style="color: #66cc66;">%</span> BBW<span style="color: #66cc66;">-</span><span style="color: #0080FF; font-weight: bold;">Server</span> erfolgreich <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FileOK<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #800080;">ELSE</span> <span style="color: #66cc66;">&#40;</span> echo <span style="color: #66cc66;">%</span>datum<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">%</span>zeit<span style="color: #66cc66;">%</span> BBW<span style="color: #66cc66;">-</span><span style="color: #0080FF; font-weight: bold;">Server</span> fehlerhaft <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FileER<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">&#41;</span>
<span style="color: #800080;">IF</span> <span style="color: #66cc66;">%</span>GOOGLE<span style="color: #66cc66;">%</span> == <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#40;</span> echo <span style="color: #66cc66;">%</span>datum<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">%</span>zeit<span style="color: #66cc66;">%</span> GOOGLE<span style="color: #66cc66;">-</span><span style="color: #0080FF; font-weight: bold;">Server</span> erfolgreich <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FileOK<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #800080;">ELSE</span> <span style="color: #66cc66;">&#40;</span> echo <span style="color: #66cc66;">%</span>datum<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">%</span>zeit<span style="color: #66cc66;">%</span> GOOGLE<span style="color: #66cc66;">-</span><span style="color: #0080FF; font-weight: bold;">Server</span> fehlerhaft <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FileER<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">&#41;</span>
<span style="color: #800080;">IF</span> <span style="color: #66cc66;">%</span>CHIP<span style="color: #66cc66;">%</span> == <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#40;</span> echo <span style="color: #66cc66;">%</span>datum<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">%</span>zeit<span style="color: #66cc66;">%</span> CHIP<span style="color: #66cc66;">-</span><span style="color: #0080FF; font-weight: bold;">Server</span> erfolgreich <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FileOK<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #800080;">ELSE</span> <span style="color: #66cc66;">&#40;</span> echo <span style="color: #66cc66;">%</span>datum<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">%</span>zeit<span style="color: #66cc66;">%</span> CHIP<span style="color: #66cc66;">-</span><span style="color: #0080FF; font-weight: bold;">Server</span> fehlerhaft <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FileER<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">&#41;</span>
cls
<span style="color: #800080;">goto</span> ueberwachung</pre></td></tr></table></div>

<h4>Erklärung zu dem Script</h4>
<p>Das Script habe ich nun in einzelne Teile &#8220;zerlegt&#8221; um näher zu erklären, was in dem Script passiert. Anhand der Zeilennummerierung kann mana uch kontrollieren, an welcher Stelle man sich in dem Script befindet.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code"><pre class="winbatch" style="font-family:monospace;"><span style="color: #66cc66;">@</span>ECHO <span style="color: #0080FF; font-weight: bold;">OFF</span>
CD <span style="color: #66cc66;">/</span>D C<span style="color: #FF1010; font-weight: bold;">:\ueberwachung</span>
MD <span style="color: #66cc66;">%</span>CD<span style="color: #66cc66;">%</span>\ergebnis\
SET FileOK=<span style="color: #66cc66;">%</span>CD<span style="color: #66cc66;">%</span>\ergebnis\erfolg.txt
SET FileER=<span style="color: #66cc66;">%</span>CD<span style="color: #66cc66;">%</span>\ergebnis\fehler.txt
SET FilePI=<span style="color: #66cc66;">%</span>CD<span style="color: #66cc66;">%</span>\ergebnis\ping.txt</pre></td></tr></table></div>

<p>Die erste Zeile schaltet das cmd-Fenster aus bzw. die Statusmeldungen dazu. Danach wechsel ich in das Verzeichnis, in dem sich das Script befindet. Ich habe hier C gewählt, da fast alle Windows Betriebssysteme unter C installiert sind. Alternativ könnte man auch die Umgebungsvariable <code>%SYSTEMDRIVE%</code> nutzen. Für mein Script brauchte ich natürlich noch ein Verzeichnis und habe es Sinnvoller weise <em>ueberwachung</em> getauft. In diesem Verzeichnis befinden sich alle drei benötigten Dateien. Im Anschluss daran wird das Unterverzeichnis <em>ergebnis</em> erstellt, in dem sich dann die logs befinden.</p>
<p>Am Ende dieses ersten Abschnittes werden dann drei Variablen definiert. Jene werden im Script benötigt, um die Statusmeldungen usw. in die Dateien zu schreiben.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>8
9
10
11
12
13
</pre></td><td class="code"><pre class="winbatch" style="font-family:monospace;"><span style="color: #FF1010; font-weight: bold;">:ueberwachung</span>
REM Zeitverzoegertes wiederholen
wscript warten.vbs
REM Datum und Zeit <span style="color: #800080;">in</span> das Format xx.xx.xxxx xx<span style="color: #FF1010; font-weight: bold;">:xx:xx einrichten</span>
SET datum=<span style="color: #66cc66;">%</span>date<span style="color: #FF1010; font-weight: bold;">:~0%</span>
SET zeit=<span style="color: #66cc66;">%</span>time<span style="color: #FF1010; font-weight: bold;">:~0,8%</span></pre></td></tr></table></div>

<p>Dies ist der Beginn der &#8220;Schleife&#8221;, also dem Teil, der sich ständig wiederholt. Für diesen Zweck wurde erstmal die Sprungmarke benannt. Danach wird das Script warten.vbs aufgerufen, wodurch das Script nur Minutlich (je nach Einstellung) durchgeführt wird. Danach habe ich noch zwei Variablen bestimmt, damit das Datum in &#8221;dd.mm.jjjj&#8221; und die Zeit in &#8221;hh:mm:ss&#8221; dargestellt wird.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>15
16
17
18
19
20
21
22
23
24
25
26
27
28
</pre></td><td class="code"><pre class="winbatch" style="font-family:monospace;">ECHO PING zu der IP des <span style="color: #ff0000;">&quot;Internen Servers&quot;</span> <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
PING <span style="color: #66cc66;">-</span>n <span style="color: #cc66cc;">1</span> 10.10.10.1 <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
REM Errorlevel <span style="color: #800080;">in</span> eine Variable speichern
SET INTERN=<span style="color: #66cc66;">%</span>errorlevel<span style="color: #66cc66;">%</span> 
&nbsp;
ECHO PING zu der IP des <span style="color: #ff0000;">&quot;www.google.de&quot;</span> <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
PING <span style="color: #66cc66;">-</span>n <span style="color: #cc66cc;">1</span> www.google.de <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
REM Errorlevel <span style="color: #800080;">in</span> eine Variable speichern
SET GOOGLE=<span style="color: #66cc66;">%</span>errorlevel<span style="color: #66cc66;">%</span> 
&nbsp;
ECHO PING zu der IP des <span style="color: #ff0000;">&quot;www.chip.de&quot;</span> <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
PING <span style="color: #66cc66;">-</span>n <span style="color: #cc66cc;">1</span> www.chip.de <span style="color: #66cc66;">&gt;&gt;</span><span style="color: #008000; font-style: italic;">; %FilePI%</span>
REM Errorlevel <span style="color: #800080;">in</span> eine Variable speichern
SET CHIP=<span style="color: #66cc66;">%</span>errorlevel<span style="color: #66cc66;">%</span></pre></td></tr></table></div>

<p>Bei diesen drei &#8220;Blöcken&#8221; handelt es sich um das Pingen zu den einzelnen Servern. Als erstes habe ich hier den Internen Server genommen, der in meinem Fall die IP-Adresse 10.10.10.1 hat. Der Schalter &#8221;-n 1&#8221; bestimmt die Anzahl der echo Anforderungen. Für das loggen reicht eine Anforderung aus. Im zweiten Teil dieses Block wird wieder eine Variable bestimmt, die den Wert des errorlevels erhalten soll. Die Namen der Variablen sind frei wählbar und ich habe INTERN für den internen Server, GOOGLE für die google.de Domain und CHIP für die chip.de Domain gewählt, da man so besser den Überblick behalten kann.</p>
<p>Der gleiche Aufbau folgt nun noch zweimal. Einmal für die Domain <a title="google.de" href="http://www.google.de" target="_blank">www.google.de</a> und einmal für <a title="chip.de" href="http://www.chip.de" target="_blank">www.chip.de</a>, da ich einen Ping auch nach außerhalb haben möchte. Und ich habe diese beiden Unterschiedlichen Seiten genommen, da ja im schlechtesten Fall auch der Server von einer der beiden Seiten ausfallen könnte. Auch habe ich auf eine feste IP-Adresse verzichtet, da ich nicht sicher gehen kann, dass jene immer verfügbar sind (die Domains könnten ja unterumständen auf einen anderen Server auflaufen oder ähnliches.).</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>30
31
</pre></td><td class="code"><pre class="winbatch" style="font-family:monospace;">REM leeren des DNS<span style="color: #66cc66;">-</span>Caches um zu gefährleisten, dass es nicht am Client liegt
ipconfig <span style="color: #66cc66;">/</span>flushdns <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span></pre></td></tr></table></div>

<p>Dieser &#8220;Befehl&#8221; sorgt dafür, dass der DNS-Cache des Clients (also der PC auf dem das Script läuft) geleert wird. Ich selbst finde dieses Sinnvoll um aus zu schließen, dass der Client &#8220;schuld&#8221; an dem nicht erreichen einer Internetseite ist. (Denn der PC könnte im schlechtesten Fall sich merken, dass eine Seite nicht erreichbar ist &#8211; um das zu verhindern bzw. zu ändern, muss man wohl den DNS-Cache leeren.)</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>33
34
35
36
</pre></td><td class="code"><pre class="winbatch" style="font-family:monospace;">REM Abschließen der Datei
ECHO. <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
ECHO <span style="color: #66cc66;">------------------------------------------------------------</span> <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span>
ECHO. <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FilePI<span style="color: #66cc66;">%</span></pre></td></tr></table></div>

<p>Die Datei ping.txt wird sehr groß und unübersichtlich. Um die einzelnen Scriptdurchläufe von einander zu trennen, habe ich in die Datei eine Leerzeile, die &#8220;Strichzeile&#8221; und wieder eine Leerzeile schreiben lassen. Danach folgt in der ping.txt die neuen Ergebnisse.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>38
39
40
41
42
43
</pre></td><td class="code"><pre class="winbatch" style="font-family:monospace;">REM Fehlerauswertung
<span style="color: #800080;">IF</span> <span style="color: #66cc66;">%</span>INTERN<span style="color: #66cc66;">%</span> == <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#40;</span> echo <span style="color: #66cc66;">%</span>datum<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">%</span>zeit<span style="color: #66cc66;">%</span> BBW<span style="color: #66cc66;">-</span><span style="color: #0080FF; font-weight: bold;">Server</span> erfolgreich <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FileOK<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #800080;">ELSE</span> <span style="color: #66cc66;">&#40;</span> echo <span style="color: #66cc66;">%</span>datum<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">%</span>zeit<span style="color: #66cc66;">%</span> BBW<span style="color: #66cc66;">-</span><span style="color: #0080FF; font-weight: bold;">Server</span> fehlerhaft <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FileER<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">&#41;</span>
<span style="color: #800080;">IF</span> <span style="color: #66cc66;">%</span>GOOGLE<span style="color: #66cc66;">%</span> == <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#40;</span> echo <span style="color: #66cc66;">%</span>datum<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">%</span>zeit<span style="color: #66cc66;">%</span> GOOGLE<span style="color: #66cc66;">-</span><span style="color: #0080FF; font-weight: bold;">Server</span> erfolgreich <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FileOK<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #800080;">ELSE</span> <span style="color: #66cc66;">&#40;</span> echo <span style="color: #66cc66;">%</span>datum<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">%</span>zeit<span style="color: #66cc66;">%</span> GOOGLE<span style="color: #66cc66;">-</span><span style="color: #0080FF; font-weight: bold;">Server</span> fehlerhaft <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FileER<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">&#41;</span>
<span style="color: #800080;">IF</span> <span style="color: #66cc66;">%</span>CHIP<span style="color: #66cc66;">%</span> == <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#40;</span> echo <span style="color: #66cc66;">%</span>datum<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">%</span>zeit<span style="color: #66cc66;">%</span> CHIP<span style="color: #66cc66;">-</span><span style="color: #0080FF; font-weight: bold;">Server</span> erfolgreich <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FileOK<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #800080;">ELSE</span> <span style="color: #66cc66;">&#40;</span> echo <span style="color: #66cc66;">%</span>datum<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">%</span>zeit<span style="color: #66cc66;">%</span> CHIP<span style="color: #66cc66;">-</span><span style="color: #0080FF; font-weight: bold;">Server</span> fehlerhaft <span style="color: #66cc66;">&gt;&gt;</span> <span style="color: #66cc66;">%</span>FileER<span style="color: #66cc66;">%</span> <span style="color: #66cc66;">&#41;</span>
cls
<span style="color: #800080;">goto</span> ueberwachung</pre></td></tr></table></div>

<p>Das war nun der Teil des Scriptes, mit dem ich ein wenig Probleme hatte. Diese drei &#8220;Blöcke&#8221; sind nun wieder für jeden einzelnen Ping zu sehen, die ich im obigen Teil des Scriptes anpinge.</p>
<ol>
<li>Als erstes beziehe ich mich auf den Wert des jeweiligen errorlevels, was ich zuvorher in der Variable zum Pingziel (INTERN / GOOGLE / CHIP) definiert habe. Ist kein Fehler vorhanen (errorlevel = 0), dann schreibe ich in die Datei erfolg.txt das Datum, die Uhrzeit und die Meldung, dass der betreffende Server erreichbar ist.</li>
<li>Im zweiten Teil dieser Bedingung schreibe ich die Fehlermeldung in die fehler.txt. Auch hierbei habe ich wieder das Datum, die Uhrzeit und eine Statusmeldung genommen.</li>
<li>Das schreiben in die jeweilige Datei erfolgt über die &#8221;&gt;&gt;&#8221; gefolgt von der Variable für die jweilige Datei, die ich am Anfang des Scriptes definiert habe. Das findet sich auch bei den einzelnen PING-Befehlen wieder, da ich jene in die Datei ping.txt schreiben lasse.</li>
</ol>
<h3>das loggen</h3>
<p>Alle drei Dateien befinden sich im Verzeichnis <code>C:\ueberwachung</code> und die log-Dateien in dem Unterverzeichnis ergebnis. Das Script erstellt drei Dateien:</p>
<ol>
<li>erfolg.txt</li>
<li>fehler.txt</li>
<li>ping.txt</li>
</ol>
<p>In den beiden ersten Dateien gibt es eine &#8220;Statusmeldung&#8221;, jenachdem ob ein Server (Pingziel) erreichbar ist oder nicht. Aufgebaut sind die Dateien wie folgt:</p>

<div class="wp_syntax"><div class="code"><pre class="txt" style="font-family:monospace;">Datum Zeit Meldung
30.09.2009 9:50:30 Server ABC erreichbar
30.09.2009 9:50:30 Server XYZ nicht erreichbar</pre></div></div>

<p>In die Datei ping.txt wird das Ergebnis der einzelnen PINGs und des DNS-Cache leerens geschrieben. Jenes ist für das normale loggen eher uninteressant und wurde erstmal nur angelegt, um zu überprüfen, dass das Script arbeitet und wir als Administratoren können dort nochmal sehen, wie viel Verlust es bei den PINGs gab oder nicht gab. Aber für das normale loggen und auswerten der Verbindung ist diese Datei nicht weiter notwendig.</p>
<h2>Download</h2>
<p>Das funktionsfähige und fertige Script könnt ihr bei mir Downloaden. Im Angebot habe ich gepackte Archive und welche, die selbstentpackent sind. Viel vergnügen damit:</p>
<ul>
<li>gepackte Archive
<ul>
<li>7-Zip Archiv: ueberwachung.7z</li>
<li>rar Archiv: ueberwachung.rar</li>
<li>tar Archiv: ueberwachung.tar</li>
<li>Zip Archiv: ueberwachung.zip</li>
</ul>
</li>
<li>selbst entpackende Archive
<ul>
<li>selbst entpackendes <a href="http://blog.jurtenrunde.de/wp-content/uploads/2009/10/ueberwachung.exe">Archiv</a> (exe)</li>
</ul>
</li>
</ul>
<h2>ein Fazit?</h2>
<p>Das Script ist funktionstüchtig und kann hier (kommt noch) gedownloaded werden. In der Datei ueberwachung.bat muss man nur für das jeweilige &#8220;Einsatzgebiet&#8221; die IP-Adresse des Internen Server (oder Routers, BRouters, etc.) angepasst werden.</p>
<p>Es ist angedacht, dass das Script noch verändert wird und die &#8220;Statusmeldungen&#8221; in ein Format geschrieben werden, welches mit einem Tabellenkalkulationsprogramm (z.B. Excell, Calc) gelesen werden können, damit man jene Tabelle bekommt:</p>
<table style="margin:1em;" border="1" width="90%">
<tbody>
<tr>
<th colspan="9"> Dokumentation der Netzwerk- und Internetverbindung</th>
</tr>
<tr>
<th colspan="3" width="33%">interner Server</th>
<th colspan="3" width="33%">Server google.de</th>
<th colspan="3" width="33%">Server chip.de</th>
</tr>
<tr>
<td width="9%">Datum</td>
<td width="9%">Zeit</td>
<td width="15%">Server</td>
<td width="9%">Datum</td>
<td width="9%">Zeit</td>
<td width="15%">Server</td>
<td width="9%">Datum</td>
<td width="9%">Zeit</td>
<td width="15%">Server</td>
</tr>
<tr>
<td>30.09.2009</td>
<td>09:00:00</td>
<td>Ping erfolgreich</td>
<td>30.09.2009</td>
<td>09:00:00</td>
<td>Ping fehlgeschlagen</td>
<td>30.09.2009</td>
<td>09:00:00</td>
<td>Ping fehlgeschlagen</td>
</tr>
<tr>
<td>30.09.2009</td>
<td>09:01:00</td>
<td>Ping erfolgreich</td>
<td>30.09.2009</td>
<td>09:01:00</td>
<td>Ping fehlgeschlagen</td>
<td>30.09.2009</td>
<td>09:01:00</td>
<td>Ping fehlgeschlagen</td>
</tr>
<tr>
<td>30.09.2009</td>
<td>09:02:00</td>
<td>Ping erfolgreich</td>
<td>30.09.2009</td>
<td>09:02:00</td>
<td>Ping fehlgeschlagen</td>
<td>30.09.2009</td>
<td>09:02:00</td>
<td>Ping fehlgeschlagen</td>
</tr>
</tbody>
</table>
<p>Doch das ist zurzeit noch Zukunftsmusik, da ich mich dafür erstmal mit CSV-Dateien auseinandersetzten muss.</p>
]]></content:encoded>
			<wfw:commentRss>http://tobias-leben.de/blog/netzwerkuberwachung-via-batch-skript-1954.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

