<?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>Featured Archive - Informatik Guru</title>
	<atom:link href="https://informatik-guru.de/category/featured/feed/" rel="self" type="application/rss+xml" />
	<link>https://informatik-guru.de</link>
	<description>Dinge die Ihr Lehrer nicht kapiert</description>
	<lastBuildDate>Tue, 10 May 2022 05:29:47 +0000</lastBuildDate>
	<language>de-DE</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.8.4</generator>
	<item>
		<title>SHA-256 und Bitcoin &#8211; feat. Stableblocks</title>
		<link>https://informatik-guru.de/featured/sha-256-und-bitcoin/</link>
					<comments>https://informatik-guru.de/featured/sha-256-und-bitcoin/#respond</comments>
		
		<dc:creator><![CDATA[infoguru]]></dc:creator>
		<pubDate>Mon, 14 Feb 2022 12:14:27 +0000</pubDate>
				<category><![CDATA[Basics]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Recent]]></category>
		<category><![CDATA[bitcoin]]></category>
		<category><![CDATA[BSI]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Einsteiger]]></category>
		<category><![CDATA[hash]]></category>
		<category><![CDATA[Programmieren ist keine Mathematik auch wenn es so aussieht]]></category>
		<category><![CDATA[sha]]></category>
		<category><![CDATA[sha-1]]></category>
		<category><![CDATA[sha-2]]></category>
		<category><![CDATA[sha-256]]></category>
		<category><![CDATA[sha256]]></category>
		<category><![CDATA[Stableblocks]]></category>
		<guid isPermaLink="false">https://informatik-guru.de/?p=827</guid>

					<description><![CDATA[<p>Lernt jetzt etwas über Bitcoin und SHA. Historie, Funktionen und Beispiele. Informatikguru feat. Stableblocks</p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/featured/sha-256-und-bitcoin/">SHA-256 und Bitcoin &#8211; feat. Stableblocks</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Heute präsentieren wir Euch unseren ersten Gastbeitrag. Dieser wurde freundlicherweise zur Verfügung gestellt von <a href="https://stable-blocks.com/" target="_blank" rel="noreferrer noopener">Stable Blocks</a>.</p>



<p><strong>Bitcoin und SHA</strong></p>



<p>Das Bitcoin-Protokoll gilt als sicher. Zu verdanken hat das Protokoll diese Eigenschaft unter anderem einem speziellen Algorithmus. Bitcoin verwendet für den Miningprozess, das Kreieren von Adressen und der Verifikation von Transaktionen eine Sha-256 Funktion. Das Bitcoin-Protokoll nutzt eine doppelte SHA-256 Funktion, was bedeutet, die Funktion wird auf die Ausgabe der Funktion angewandt. SHA-256 findet jedoch auch Anwendung in manchen der meistgenutzten Authentifizierung und Sicherheitsprotokollen wie SSL, TLS, IPsec, SSH und PGP. Auch in Unix und Linux wird der Algorithmus zum hashen von Passwörtern genutzt. Wie der Name vermuten lässt, ist der Output der Funktion 256 Bits lang.</p>



<h2><strong>Eine kurze Historie zu SHA-256</strong></h2>



<p>SHA-256 wurde 2002 als Reaktion auf erfolgreiche Angriffe auf die SHA-1 Hashfunktionen von der NSA entwickelt und vorgestellt. Auf einer National Institute of Standards and Technology (NIST) Konferenz im Jahr 2005 wurde die Umstellung von SHA-1 auf SHA-2 empfohlen und als Standard etabliert. Im Jahr 2012 wurde Keccak zum SHA-3 Algorithmus gewählt. SHA-256 sowie einige andere Algorithmen der SHA-2 Familie werden vom Bundesamt für Sicherheit in der Informationstechnik (BSI) jedoch immer noch als sicher eingestuft.</p>



<h2><strong>Die Eigenschaften von SHA-256</strong></h2>



<p>Es gibt 3 Eigenschaften welche den Grundstein des SHA-256 Algorithmus und seiner Sicherheit liefern. Um die nachfolgenden Eigenschaften einzuordnen, hilft es sich zu verdeutlichen, dass 2<sup>256</sup> mehr ist als die Anzahl der Atome in dem uns bekannten Universum.</p>



<ol type="1"><li>Es ist nahezu unmöglich die ursprünglichen Daten aus dem Hashwert zu rekonstruieren. Angenommen dies wäre das Ziel eines Angreifers, so müsste dieser mit einer Exhaustionsmethode (Bute-Force Attack) 2<sup>256</sup> Versuche durchführen. Die Anzahl der benötigten Versuche ist schier zu groß, um dies überhaupt in Erwägung zu ziehen.</li><li>Es ist äußerst unwahrscheinlich zweimal denselben Hashwert zu erhalten, da es 2<sup>256 </sup>verschiedene Möglichkeiten gibt.</li><li>Eine minimale Veränderung der Daten verändert den Hashwert so, dass nicht ersichtlich ist, dass der neue Hashwert aus einem ähnlichen Datensatz kreiert wurde.</li></ol>



<h2><strong>Beispiel Output der SHA-256 Funktion</strong></h2>



<p>Um die Funktionsweise und Punkt 3 zu verdeutlichen ein Nehmen wir die Wörter &#8222;Beispiel&#8220; und &#8222;Beispiele&#8220;.</p>



<p>Der Output der SHA-256 Funktion als Hexadezimal von &#8222;Beispiel&#8220; ist: 2071c7736acd16f6cea3727d3b7ecde53f4c2e97b421f3550248e19d7309c636</p>



<p>Der Output der SHA-256 Funktion als Hexadezimal von &#8222;Beispiele&#8220; ist: 147790983143d584d88c22ad1a14f128c3d55e3dea3d92ec400e930a04031fb9</p>



<p>Es lässt sich offensichtlich, anhand der Hashwerte, kein Rückschluss auf die Daten ziehen.</p>



<p>SHA Funktionen bilden das Fundament einer Vielzahl von Authentifizierung und Sicherheitsprotokollen.</p>



<p>Auch Blockchain Protokolle wie z.B. Bitcoin nutzen diese und ähnliche Algorithmen, um Sicherheit Ihrer Transaktionen und des Miningprozesses zu gewährleisten. Die SHA-256 Funktion bietet eine optimale Balance zwischen Kollisionsresistenz und Effizienz für das Bitcoin Protokoll. Die Länge der Daten welche gehasht werden ist für die Länge des Outputs irrelevant. Dieser beträgt immer 256 bits. Der 64 Zeichen lange Hexadezimalwert, welcher z.B. einen Block der Bitcoin Blockchain repräsentiert eignet sich somit optimal um zu gewährleisten das die Daten eines Blocks unverändert sind. Jeder Knotenpunkt (Node) kann somit die Integrität eines Blockes validieren. Da eine Blockchain neue Blöcke chronologisch ankettet und der Hash des aktuellen Blocks auf dem vorhergehenden Block basiert, sind Daten unveränderbar auf der Blockchain gespeichert.</p>



<p></p>



<p>Hat Euch dieser Beitrag gefallen? Lasst uns und dem Auto <a href="https://stable-blocks.com/" target="_blank" rel="noreferrer noopener">Stable Blocks</a> ein Like da und kommentiert was das Zeug hält!</p>



<p></p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/featured/sha-256-und-bitcoin/">SHA-256 und Bitcoin &#8211; feat. Stableblocks</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://informatik-guru.de/featured/sha-256-und-bitcoin/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MS Exchange 2022 Bug</title>
		<link>https://informatik-guru.de/adminlife/microsoft-exchange-2022-bug/</link>
					<comments>https://informatik-guru.de/adminlife/microsoft-exchange-2022-bug/#respond</comments>
		
		<dc:creator><![CDATA[infoguru]]></dc:creator>
		<pubDate>Mon, 03 Jan 2022 15:19:41 +0000</pubDate>
				<category><![CDATA[Adminlife]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Recent]]></category>
		<category><![CDATA[2022 Bug]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[Administrator]]></category>
		<category><![CDATA[erklärbär]]></category>
		<category><![CDATA[Exchange Server]]></category>
		<category><![CDATA[FISI]]></category>
		<category><![CDATA[Malware Agent]]></category>
		<category><![CDATA[Microsoft Exchange Management Shell]]></category>
		<category><![CDATA[MSExchangeTransport]]></category>
		<category><![CDATA[Thats too long]]></category>
		<guid isPermaLink="false">https://informatik-guru.de/?p=821</guid>

					<description><![CDATA[<p>Da hat man sich bei Microsoft wohl gedacht, dass man schon lange keinen Millenium Bug mehr hatte&#8230; 😉Aber Spaß beiseite, erst mal frohes neues Jahr an alle da draußen! Falls Ihr zu den Menschen gehört die in Euren Firmen die Mail-Server administrieren, oder Ihr einfach neugierig seid, welcher interessante Fehlerteufel sich am 01.01.2022 beim Microsoft [&#8230;]</p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/adminlife/microsoft-exchange-2022-bug/">MS Exchange 2022 Bug</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Da hat man sich bei Microsoft wohl gedacht, dass man schon lange keinen Millenium Bug mehr hatte&#8230; 😉<br>Aber Spaß beiseite, erst mal frohes neues Jahr an alle da draußen!</p>



<p>Falls Ihr zu den Menschen gehört die in Euren Firmen die Mail-Server administrieren, oder Ihr einfach neugierig seid, welcher interessante Fehlerteufel sich am 01.01.2022 beim Microsoft Exchange Server eingeschlichen hat, dürfte Euch unsere kleine Zusammenfassung interessieren!</p>



<p>Seit dem 01.01.2022 um 0:00 Uhr hat ein Großteil der on premise gehosteten Microsoft Exchange Server ein Problem mit dem Mailverkehr. Daran ist jedoch zur Abwechslung mal nicht der Transport Agent schuld, sondern der Schadsoftwarefilter.</p>



<p>Der Virenscanner FIP-FS Scan Engine meldet einen Fehler mit dem Text <em>&#8222;Can&#8217;t Convert &#8218;2201010001&#8216; to long&#8220;</em>.<br>Der &#8222;größte&#8220; Long ist 2.147.483.647, Datumsangaben im Jahr 2022 haben jedoch einen Mindestwert von 2.201.010.001.</p>



<figure class="wp-block-image is-resized"><img loading="lazy" src="https://media.makeameme.org/created/thats-too-long.jpg" alt="thats... too... long. - First World Problems | Make a Meme" width="239" height="158"/></figure>



<p>Dieser Fehler hat außerordentlich viele Systeme betroffen, da die FIP-FS Anti-Spam- und Anti-Malware-Scan-Engine seitens Microsoft seit dem Exchange Server 2013 standardmäßig aktiviert ist.</p>



<h2>Malware Agent deaktivieren &#8211; Exchange Management Shell</h2>



<p>Zum Glück lässt sich der Fehler schnell kurzfristig umgehen, allerdings leider nur in dem der Malware Agent deaktiviert wird. Zur Behebung des Problems könnt ihr mit den folgenden beiden Zeilen in der Exchange Management Shell den Malware Agent deaktivieren und anschließend den Transport Service neu starten, wonach Euer Microsoft Exchange Server auch im Jahr 2022 wieder ordnungsgemäß arbeiten sollte: </p>



<pre class="wp-block-preformatted"> <p>Powershell-Befehl Get-Transportagent "Malware Agent" | Disable-Transportagent
Restart-Service MSExchangeTransport</p></pre>



<p>Wenn das sauber funktioniert hat, so seht Ihr bei der nachfolgenden Überprüfung folgende Ausgabe:</p>



<figure class="wp-block-image size-full"><img loading="lazy" width="629" height="87" src="https://informatik-guru.de/wp-content/uploads/2022/01/image.png" alt="" class="wp-image-822" srcset="https://informatik-guru.de/wp-content/uploads/2022/01/image.png 629w, https://informatik-guru.de/wp-content/uploads/2022/01/image-300x41.png 300w" sizes="(max-width: 629px) 100vw, 629px" /></figure>



<p>In einigen Fällen kann es sein, dass der <span style="font-size: revert; color: initial;">MSExchangeTransport</span> beim Neustarten Schwierigkeiten hat, in diesem Fall könnt Ihr den Dienst auch über die GUI neu starten, oder den ganzen Server rebooten.</p>



<h3> <span style="font-size: revert; color: initial;">MSExchangeTransport</span>  über die GUI neu starten:<br></h3>



<figure class="wp-block-image size-full"><img loading="lazy" width="393" height="202" src="https://informatik-guru.de/wp-content/uploads/2022/01/image-1.png" alt="" class="wp-image-823" srcset="https://informatik-guru.de/wp-content/uploads/2022/01/image-1.png 393w, https://informatik-guru.de/wp-content/uploads/2022/01/image-1-300x154.png 300w" sizes="(max-width: 393px) 100vw, 393px" /><figcaption>Für den Weg über die GUI ruft Ihr zunächst die Dienste auf</figcaption></figure>



<p>Hier sucht Ihr nun den Microsoft Exchange-Transport Dienst heraus und startet diesen neu:</p>



<figure class="wp-block-image size-full"><img loading="lazy" width="664" height="423" src="https://informatik-guru.de/wp-content/uploads/2022/01/image-2.png" alt="" class="wp-image-824" srcset="https://informatik-guru.de/wp-content/uploads/2022/01/image-2.png 664w, https://informatik-guru.de/wp-content/uploads/2022/01/image-2-300x191.png 300w, https://informatik-guru.de/wp-content/uploads/2022/01/image-2-659x420.png 659w" sizes="(max-width: 664px) 100vw, 664px" /></figure>



<p>Nun sollte Euer Microsoft Exchange Mailserver wieder funktionieren und gut für 2022 gewappnet sein 😉</p>



<p></p>



<p>Wenn Euch dieser Beitrag gefallen hat schreibt uns oder besucht uns auf einem unserer Social Media Kanäle und lasst einen Like oder Kommentar da!</p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/adminlife/microsoft-exchange-2022-bug/">MS Exchange 2022 Bug</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://informatik-guru.de/adminlife/microsoft-exchange-2022-bug/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PDF-Dateien auslesen mit Powershell</title>
		<link>https://informatik-guru.de/coding/pdf-dateien-auslesen-mit-powershell/</link>
					<comments>https://informatik-guru.de/coding/pdf-dateien-auslesen-mit-powershell/#respond</comments>
		
		<dc:creator><![CDATA[infoguru]]></dc:creator>
		<pubDate>Mon, 27 Sep 2021 07:58:06 +0000</pubDate>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Admin-Life]]></category>
		<category><![CDATA[Automatisierung]]></category>
		<category><![CDATA[EDI]]></category>
		<category><![CDATA[Einsteiger]]></category>
		<category><![CDATA[gets the job done]]></category>
		<category><![CDATA[iTextSharp]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[powershell]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[workflow]]></category>
		<category><![CDATA[Zeitersparnis]]></category>
		<guid isPermaLink="false">http://informatik-guru.de/?p=738</guid>

					<description><![CDATA[<p>In diesem Step-by-Step-Tutorial erklären wir Euch wie ihr automatisiert PDF-Dateien mit Powershell auslesen könnt.</p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/coding/pdf-dateien-auslesen-mit-powershell/">PDF-Dateien auslesen mit Powershell</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Wer sich von Euch mit Workflows im Büro oder im Kontext EDI beschäftigt, hat sich sicherlich bereits das ein oder andere Mal die Frage gestellt, ob es nicht eine einfache Möglichkeit gibt eine Vielzahl PDFs automatisiert auszulesen und zu verarbeiten.<br>Diese Möglichkeit gibt es! Dieses Tutorial zum Thema PDF-Dateien auslesen mit Powershell wurde von unseren Freunden von <a href="https://caspar-it-solutions.de/" target="_blank" rel="noreferrer noopener">Caspar IT Solutions</a> für Euch erarbeitet!<br>Falls Ihr mit PowerShell bisher keine Berührungspunkte hattet, startet Ihr als Einstieg besser mit diesem Beitrag:<br><a href="https://informatik-guru.de/coding/einstieg-powershell/
">Einstieg Powershell<br></a></p>



<p>Im folgenden möchte ich Euch Step-by-Step näher bringen, wie ihr PDFs automatisiert auslesen, filtern und verarbeiten könnt. Ziel ist es eine Funktion in PowerShell zu haben, welche Ihr ganz einfach in Eure bestehenden Ideen oder Abläufe einbinden könnt.</p>



<p>Hierfür verwenden wir im folgenden iTextSharp. iTextSharp könnt ihr hier herunterladen: <br><a data-type="URL" data-id="https://www.nuget.org/packages/iTextSharp/5.5.13" href="https://www.nuget.org/packages/iTextSharp/5.5.13">iTextSharp Download</a></p>



<h3>iTextSharp einbinden</h3>



<p>Um iTextSharp nun innerhalb unseres PowerShell Scripts zu verwenden um PDFs automatisiert auszulesen müssen die es zunächst einbinden.<br>Dies geschieht so:</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="569" height="104" src="https://informatik-guru.de/wp-content/uploads/2021/09/image-1.png" alt="" class="wp-image-784" srcset="https://informatik-guru.de/wp-content/uploads/2021/09/image-1.png 569w, https://informatik-guru.de/wp-content/uploads/2021/09/image-1-300x55.png 300w" sizes="(max-width: 569px) 100vw, 569px" /></figure>



<p>Nun stehen uns im weiteren Verlauf Objekte und Methoden hieraus zur Verfügung.</p>



<h3>Reader initialisieren</h3>



<p>Zunächst beginnen wir mit einem Reader, der uns die jeweilige Datei erst einmal lesend zur Verfügung stellt. Hier kommt es darauf an ob wir von einem Datei-Objekt oder einem Pfad ausgehen. Wenn wir also bspw. in der Variable $filepath den Pfad zur Datei stehen haben legen wir so los:</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="608" height="38" src="https://informatik-guru.de/wp-content/uploads/2021/09/image-2.png" alt="" class="wp-image-785" srcset="https://informatik-guru.de/wp-content/uploads/2021/09/image-2.png 608w, https://informatik-guru.de/wp-content/uploads/2021/09/image-2-300x19.png 300w" sizes="(max-width: 608px) 100vw, 608px" /></figure>



<p>Im Prinzip haben wir hier eine Dopplung und innerhalb des Reader-Aufrufs könnten wir auch einfach $filepath verwenden, auf die hier gezeigte Weise haben wir allerdings noch die Möglichkeit $filepath mit einem Wildcard zu übergeben(Kunde1234*.pdf).</p>



<h3>Seitenweiser Durchlauf der PDF</h3>



<p>Nun empfiehlt es sich meines Erachtens die Datei seitenweise zu durchlaufen. Bevor wir die weiteren Schritte erarbeiten sollten wir uns auch Gedanken darüber machen wie unsere entsprechende Datei strukturiert ist. Also welche wiederkehrenden Zeilen wir auslesen möchten und auf welchen Seiten diese sich befinden. In unserem Beispiel durchlaufen wir immer die ersten beiden Seiten einer Datei.</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="768" height="45" src="https://informatik-guru.de/wp-content/uploads/2021/09/image-3.png" alt="" class="wp-image-786" srcset="https://informatik-guru.de/wp-content/uploads/2021/09/image-3.png 768w, https://informatik-guru.de/wp-content/uploads/2021/09/image-3-300x18.png 300w, https://informatik-guru.de/wp-content/uploads/2021/09/image-3-696x41.png 696w" sizes="(max-width: 768px) 100vw, 768px" /></figure>



<h3>Zeilenweise durchlaufen</h3>



<p>Innerhalb des seitenweisen Durchlaufs lesen wir jetzt jeweils den Inhalt der aktuell zu verarbeitenden Seite zeilenweise in ein String-Array. Um das fehlerfrei tun zu können müssen wir das Zeichen kennen, welches als Zeilenumbruch verwendet wird. Hier liegt nicht unbedingt ein Carriage Return oder ein Newline vor, je nach Quelle der PDF-Datei und somit ihrem Aufbau kann das Zeilen-Trennzeichen unterschiedlich sein. In unserem Fall ist es der Character 0x000A.</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="775" height="37" src="https://informatik-guru.de/wp-content/uploads/2021/09/image-4.png" alt="" class="wp-image-787" srcset="https://informatik-guru.de/wp-content/uploads/2021/09/image-4.png 775w, https://informatik-guru.de/wp-content/uploads/2021/09/image-4-300x14.png 300w, https://informatik-guru.de/wp-content/uploads/2021/09/image-4-768x37.png 768w, https://informatik-guru.de/wp-content/uploads/2021/09/image-4-696x33.png 696w" sizes="(max-width: 775px) 100vw, 775px" /></figure>



<figure class="wp-block-image size-large"><img loading="lazy" width="336" height="54" src="https://informatik-guru.de/wp-content/uploads/2021/09/image-5.png" alt="" class="wp-image-788" srcset="https://informatik-guru.de/wp-content/uploads/2021/09/image-5.png 336w, https://informatik-guru.de/wp-content/uploads/2021/09/image-5-300x48.png 300w" sizes="(max-width: 336px) 100vw, 336px" /></figure>



<h3>Zeilen identifizieren</h3>



<p>Die Zeilen prüfe wir mit einem regulären Ausdruck auf einen Match unserer Wahl.<br>Nehmen wir als Beispiel eine PDF-Datei welche immer an einer beliebigen Position die Zeile &#8222;Kunden-Nr.:&lt;unterschiedlich viel Whitespace&gt;123456&#8220; enthält.<br>Wir möchten also die 123456, bzw. in der Praxis natürlich echte Kundennummern auslesen.<br>Hierfür überprüfen wir zunächst ob die Zeile mit dem String &#8222;Kunden-Nr.:&#8220; beginnt und verwenden vorangestellt den Anker <strong>^</strong>. Dann trennen wir die Zeile mit .split anhand unseres Trennzeichens &#8222;:&#8220; und wählen das zweile zurückgelieferte Element [1], woraufhin wir uns noch von überflüssigem Whitespace verabschieden mit -replace &#8218;\s&#8216;,&#8220;.<br>Anschließend steht in unserer Variable $Kundennummer lediglich die gewünschte 123456.</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="430" height="55" src="https://informatik-guru.de/wp-content/uploads/2021/09/image-6.png" alt="" class="wp-image-789" srcset="https://informatik-guru.de/wp-content/uploads/2021/09/image-6.png 430w, https://informatik-guru.de/wp-content/uploads/2021/09/image-6-300x38.png 300w" sizes="(max-width: 430px) 100vw, 430px" /></figure>



<p>Somit haben wir unsere PDF-Datei ausgelesen und übrig bleibt nur den Reader zu schließen mit $reader.close().</p>



<h2>Zusammenfassung</h2>



<p>Das Ganze lässt sich nun sehr einfach in eine wieder verwendbare Subfunktion wrappen.<br>Hier stellt sich dann nur die Frage, was wir als Parameter verwenden möchten.<br>Wollen wir bspw. die Anzahl Seiten die zu prüfen sind beim Aufruf direkt mit angeben?<br>Den regulären Ausdruck anhand dessen die Zeile identifiziert werden soll?<br>Das Trennzeichen?<br>Den Dateinamen sowie den gewünschten Rückgabewert benötigen wir in jedem Fall.<br>Zusammengefasst könnte die Funktion zum automatisierten Auslesen einer Kundennummer aus einer PDF in PowerShell bspw. so aussehen:</p>



<figure class="wp-block-image size-large"><img loading="lazy" width="917" height="580" src="https://informatik-guru.de/wp-content/uploads/2021/09/image-7.png" alt="" class="wp-image-790" srcset="https://informatik-guru.de/wp-content/uploads/2021/09/image-7.png 917w, https://informatik-guru.de/wp-content/uploads/2021/09/image-7-300x190.png 300w, https://informatik-guru.de/wp-content/uploads/2021/09/image-7-768x486.png 768w, https://informatik-guru.de/wp-content/uploads/2021/09/image-7-696x440.png 696w, https://informatik-guru.de/wp-content/uploads/2021/09/image-7-664x420.png 664w" sizes="(max-width: 917px) 100vw, 917px" /></figure>



<p>Diese Technik zum automatisierten Auslesen von PDF-Dateien lässt sich recht einfach auf den jeweiligen Anwendungsfall adaptieren und spart je nach Büroumgebung oder Auftrag im EDI-Kontext viel händische Arbeit.</p>



<p></p>



<p>Hat Euch dieser Beitrag gefallen?<br>Lasst uns gerne Feedback, Ideen oder Kritik zukommen.<br>Gerne könnt Ihr diesen Beitrag auch teilen und uns einen Besuch auf einem unserer Social Media Kanäle abstatten und wenn Ihr möchtet ein Herzchen oder einen Daumen nach oben da lassen.<br><br>Wenn Ihr Euch für mehr PowerShell- oder iTextSharp-Content interessiert schreibt uns!</p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/coding/pdf-dateien-auslesen-mit-powershell/">PDF-Dateien auslesen mit Powershell</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://informatik-guru.de/coding/pdf-dateien-auslesen-mit-powershell/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>InDesign-Konvertierung von INDD zu IDML</title>
		<link>https://informatik-guru.de/coding/indesign-konvertierung-von-indd-zu-idml/</link>
					<comments>https://informatik-guru.de/coding/indesign-konvertierung-von-indd-zu-idml/#respond</comments>
		
		<dc:creator><![CDATA[infoguru]]></dc:creator>
		<pubDate>Mon, 11 Feb 2019 17:34:39 +0000</pubDate>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Admin-Life]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe CC]]></category>
		<category><![CDATA[Adobe InDesign]]></category>
		<category><![CDATA[Adobe Indesign CC]]></category>
		<category><![CDATA[Apfelwelt]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[CC]]></category>
		<category><![CDATA[Converter]]></category>
		<category><![CDATA[Grafik]]></category>
		<category><![CDATA[High Sierra]]></category>
		<category><![CDATA[Hotfolder]]></category>
		<category><![CDATA[InDesign]]></category>
		<category><![CDATA[Konvertierung]]></category>
		<category><![CDATA[Mojave]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Sierra]]></category>
		<guid isPermaLink="false">http://informatik-guru.de/?p=721</guid>

					<description><![CDATA[<p>INDD zu IDML automatisch Konvertieren? Kein Problem!</p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/coding/indesign-konvertierung-von-indd-zu-idml/">InDesign-Konvertierung von INDD zu IDML</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Lerne jetzt die automatische Konvertierung von INDD zu IDML mit AppleScript!<br>Entledige dich der Kompatibilitätsprobleme unterschiedlicher InDesign-Versionen.</p>



<p>Heute befassen wir uns mal mit einem Goodie für die kreativen unter uns.<br>Die meisten, die bereits im beruflichen Umfeld mit Adobe InDesign gearbeitet haben, kennen das leidige Problem&#8230;<br>Mehrere Indesign-Versionen, mehrere unterschiedliche .indd-Dateien, viele Probleme.<br>Um den Umgang mit solchen Situationen zu vereinfachen wurde von einem Mitglied unseres Teams in der Vergangenheit untenstehendes Script entwickelt.<br>Dieses muss per Automator/Skript-Editor unter OS X als Dienst (.scpt) abgespeichert und einem Order als Ordneraktion hinzugefügt werden (Rechtsklick auf den Ordner und dann unter &#8222;Dienste&#8220; auf &#8222;Ordneraktionen konfigurieren&#8220;).<br>Sobald dies geschehen ist hat man einen selbst gebauten &#8222;Hotfolder&#8220;, mit welchem es möglich ist, Dateien zu konvertieren.<br>Hierbei wird das aktuelle CC auf dem eigenen Rechner kurz aufgerufen, mit selbigem wird die Datei, welche man zuvor in den Ordner gelegt hat, geöffnet und als .idml-Datei im selben Verzeichnis wieder gespeichert.<br>Somit sind alle händischen Konvertierungen und Inkompatiblitätsprobleme hinfällig!</p>



<pre class="wp-block-code scrollable"><code>on adding folder items to thisFolder after receiving theItems
     try
         tell application "Finder"
             set theName to name of thisFolder
             set theCount to length of theItems
        repeat with f in theItems
            set work_file to f as alias
            --Den Ordnerpfad des zu verarbeitenden Files finden: 
            set the_container to (container of work_file) as string
            --Den Filename ohne Endung in eine Variable schreiben:
            set the_name to name of work_file
            --Die Endung in eine Variable schreiben:
            set the_extension to name extension of work_file
            --display dialog the_name &amp; the_extension #Debug-Ausgabe um zu testen, ob die Variablen korrekt befuellt sind
            if the_extension is not "" then set the_name to (text 1 thru ((length of the_name) - (length of the_extension) - 1) of the_name)


            if the_extension is not "indd" then exit repeat -- # simulated `continue`




            tell application id "com.adobe.InDesign" -- "Adobe InDesign"
                set «class UIAc» of «class pScr» to «constant elnteNvr»
                open work_file without «class psiw»
                tell document 1
                    «event K2  expt» without «class imot» given «class exft»:«constant eXftidml», «class kfil»:(the_container &amp; the_name &amp; ".idml")
                    «event CoReclos» given «class svop»:no
                end tell
            end tell
        end repeat
    end tell
on error the error_message number the error_number
    set the error_text to "Error: " &amp; the error_number &amp; ". " &amp; the error_message
    -- Im folgende wird eine Subroutine aufgerufen, welche eine Zeile in ein Logfile auf dem Desktop schreibt
    -- Falls das Log bereits existiert, so wird lediglich eine Zeile angefuegt
    my write_error_log(the error_text)
end try

end adding folder items to

on write_error_log(this_error)
    set the error_log to ((path to desktop) as text) &amp; "Script Error Log.txt"
    try
        open for access file the error_log with write permission
        write (this_error &amp; return) to file the error_log starting at eof
        close access file the error_log
    on error
        try
            close access file the error_log
        end try
    end try
end write_error_log
</code></pre>



<p>Weitere interessante InDesign Skripte findet Ihr hier: <a href="https://indesignscript.de">https://indesignscript.de</a></p>



<p>Falls Euch das Skript genutzt und/oder gefallen hat, so lasst uns doch einen Like auf Facebook, ein Follow auf Instagram oder ein Subscribe für unseren Mail-Newsletter da, um fortwährend über neue, informative  und lustige Beiträge vom Informatik-Guru informiert zu werden!</p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/coding/indesign-konvertierung-von-indd-zu-idml/">InDesign-Konvertierung von INDD zu IDML</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://informatik-guru.de/coding/indesign-konvertierung-von-indd-zu-idml/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Zarafa Mail Server &#8211; Verwaiste stores löschen</title>
		<link>https://informatik-guru.de/featured/zarafa-mail-server-verwaiste-stores-loeschen/</link>
					<comments>https://informatik-guru.de/featured/zarafa-mail-server-verwaiste-stores-loeschen/#respond</comments>
		
		<dc:creator><![CDATA[infoguru]]></dc:creator>
		<pubDate>Mon, 11 Feb 2019 15:50:40 +0000</pubDate>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Admin-Life]]></category>
		<category><![CDATA[FIAE]]></category>
		<category><![CDATA[FISI]]></category>
		<category><![CDATA[Mail]]></category>
		<category><![CDATA[Scripting]]></category>
		<guid isPermaLink="false">http://informatik-guru.de/?p=717</guid>

					<description><![CDATA[<p>Heute geht es wieder um den ZARAFA Mail-Server.Dieses mal wollen wir, automatisiert natürlich, die verwaisten Stores löschen, welche sich bspw. durch das Löschen eines Nutzers im LDAP und ähnliches ergeben.Hierfür nutzen wir im Prinzip das vorgegebene Kommando &#8222;zarafa-admin &#8211;list-orphans&#8220; mit welchem wir in folgendem Script noch etwas weiter verfahren: #Script by C. Caspar#/bin/bash ZARAFA_ADMIN=which zarafa-admin [&#8230;]</p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/featured/zarafa-mail-server-verwaiste-stores-loeschen/">Zarafa Mail Server &#8211; Verwaiste stores löschen</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Heute geht es wieder um den ZARAFA Mail-Server.<br>Dieses mal wollen wir, automatisiert natürlich, die verwaisten Stores löschen, welche sich bspw. durch das Löschen eines Nutzers im LDAP und ähnliches ergeben.<br>Hierfür nutzen wir im Prinzip das vorgegebene Kommando &#8222;zarafa-admin &#8211;list-orphans&#8220; mit welchem wir in folgendem Script noch etwas weiter verfahren:<br><br></p>



<p>#Script by C. Caspar<br>#/bin/bash</p>



<p>ZARAFA_ADMIN=<code>which zarafa-admin</code><br> AWK=<code>which awk</code><br> echo &#8222;Achtung &#8211; Dieses Script wird automatisch alle verwaisten Stores loeschen!!!&#8220;<br>$ZARAFA_ADMIN &#8211;list-orphans | tail -n+4 | $AWK &#8218;{print $1}&#8216; |while read STOREID; do<br>     echo &#8222;Entferne Store: $STOREID&#8220;<br>     $ZARAFA_ADMIN &#8211;remove-store $STOREID<br>done</p>



<p>Hierbei schreiben wir zunächst die Pfade zu den Kommandos &#8222;zarafa-admin&#8220; und &#8222;awk&#8220; in die jeweiligen Variablen hinein, um diese im Weiteren gesichert und umgebungsunabhängig weiter aufrufen zu können.<br>Nach einer rein informativen Ausgabe bzgl. dessen was das Script tun wird geht&#8217;s ans Eingemachte.<br>Mit dem vorgegebenen Kommando &#8222;$ZARAFA_ADMIN &#8211;list-orphans&#8220;, was hierbei als Referenz auf das eigentliche Komando &#8222;zarafa-admin &#8211;list-orphans&#8220; zu verstehen ist, geben wir zunächst alle Stores ohne User aus.<br>Mit dem &#8222;| tail -n+4&#8220; lassen wir hierbei die ersten vier Zeilen aus, da darin ohnehin keine für uns verwertbare Information enthalten ist.<br>Darauffolgend pipen wir in ein awk &#8222;| $AWK &#8218;{print $1}'&#8220;, welches die Aufgabe hat, lediglich die erste Spalte des Kommandos auszugeben, also nur die Store-IDs.<br>Zu guter letzt starten wir in dieser Zeile unsere Schleife mit:<br>|while read STOREID; do<br>Hiernach kommt wieder ein rein informativer echo bzgl. dessen was im Begriff ist zu passieren:<br>echo &#8222;Entferne Store: $STOREID&#8220;<br>Gefolgt von der tatsächlichen Löschung des Stores:<br>$ZARAFA_ADMIN &#8211;remove-store $STOREID</p>



<p>Abschließend kann man sagen, dass grundsätzlich mit der automatischen Löschung von Stores äußerst vorsichtig umgegangen werden sollte, da mit obenstehendem Script ALLE verwaisten Stores gelöscht werden, ohne dass diese vorher überprüft wurden, bspw. ob der Store fälschlicherweise verwaist ist, da er eigentlich einem User angehangen werden müsste oder ähnliches.<br>Wir übernehmen natürlich keine Haftung für Fehler welche durch Benutzung unseres Scripts entstanden sind, oder Mails die verloren gegangen sind.<br>Solltet Ihr bzgl. der Vorqualifizierung einer Löschung in einem solchen Fall Fragen haben, so könnt Ihr uns gerne kontaktieren unter senpai@informatik-guru.de.<br>Ein Mitglied unseres Teams wird Euch in einem solchen Fall gerne beratend zur Seite stehen.</p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/featured/zarafa-mail-server-verwaiste-stores-loeschen/">Zarafa Mail Server &#8211; Verwaiste stores löschen</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://informatik-guru.de/featured/zarafa-mail-server-verwaiste-stores-loeschen/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Mail-Server Monitoring in Bash</title>
		<link>https://informatik-guru.de/featured/mail-server-monitoring-in-bash/</link>
					<comments>https://informatik-guru.de/featured/mail-server-monitoring-in-bash/#respond</comments>
		
		<dc:creator><![CDATA[infoguru]]></dc:creator>
		<pubDate>Mon, 11 Feb 2019 15:17:59 +0000</pubDate>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[Admin-Life]]></category>
		<category><![CDATA[Administrator]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cronjob]]></category>
		<category><![CDATA[crontab]]></category>
		<category><![CDATA[FISI]]></category>
		<category><![CDATA[Mailserver]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[voodoo]]></category>
		<category><![CDATA[Zarafa]]></category>
		<guid isPermaLink="false">http://informatik-guru.de/?p=707</guid>

					<description><![CDATA[<p>Anhand eines Praxisbeispiels möchte ich heute eine Möglichkeit vorstellen, seinen Mail-Server im Hinblick auf die Postfachauslastung seiner User zu monitoren. In unserem Beispiel wird ein Zarafa-Mail-Server benutzt, welcher ein älteres Produkt ist, das auf Postfix aufsetzt. Das funktioniert in unserem Beispiel zweistufig.Zunächst benötigen wir folgendes Script, um einen Überblick über die Postfachauslastung aller Benutzer zu [&#8230;]</p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/featured/mail-server-monitoring-in-bash/">Mail-Server Monitoring in Bash</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Anhand eines Praxisbeispiels möchte ich heute eine Möglichkeit vorstellen, seinen Mail-Server im Hinblick auf die Postfachauslastung seiner User zu monitoren.</p>



<p>In unserem Beispiel wird ein Zarafa-Mail-Server benutzt, welcher ein älteres Produkt ist, das auf Postfix aufsetzt.</p>



<p>Das funktioniert in unserem Beispiel zweistufig.<br>Zunächst benötigen wir folgendes Script, um einen Überblick über die Postfachauslastung aller Benutzer zu erstellen:<br><br></p>



<p>#Script by C. Caspar<br>#!/bin/bash<br>_USER_LIST=$(zarafa-admin -l | grep -v &#8222;username&#8220; | grep -v &#8222;SYSTEM&#8220; | grep -v &#8222;User&#8220; | grep -v &#8222;&#8211;&#8220; | awk -F&#8216; &#8218; &#8218;{print$1}&#8216; | sort)</p>



<p>for _USERS in $_USER_LIST<br>
do<br>
_CHECK_SIZE=$(zarafa-admin &#8211;details $_USERS &#8211;type user | grep &#8222;Current store size&#8220; | awk -F&#8216; &#8218; &#8218;{print$4, $5}&#8216;)</p>



<p>echo &#8222;$_USERS storesize: $_CHECK_SIZE&#8220;<br> done</p>



<p>Hierbei erstellen wir uns zunächst ein Array aus Usern, welche alphabetisch sortiert sind.<br>Alle Zeilen mit den Strings &#8222;username&#8220;, &#8222;SYSTEM&#8220;, &#8222;User&#8220; und  &#8222;&#8211;&#8220; lassen wir hierbei aufgrund der Struktur des Standard-Outputs des genutzten Befehls nicht in die Ausgabe.<br>Unser Output sieht hierbei zunächst so aus:<br></p>



<p>a_user storesize: 277.54 MB<br>b_user storesize: 14510.95 MB<br>c_user storesize: 19.72 MB<br>d_user storesize: 1748.51 MB<br>e_user storesize: 7758.81 MB<br>f_user storesize: 490.84 MB</p>



<p>Mit diesem Script in der Hinterhand können wir folgendes Script für das tatsächliche Monitoring ausführen:<br><br></p>



<p>#Script by C. Caspar<br>#!/bin/bash<br>PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root<br>sh /root/zeige_postfachauslastung.sh &gt; postfachauslastung_recent &amp;<br>sleep 60</p>



<p>echo -e `<code>cat /root/postfachauslastung_recent |sort -n -r -k3 |grep -E '[0-9]{5}' |awk {'print $1"\011"$3"\n\r"'}`</code> | { read body; echo -e $(echo &#8222;Subject: IMAP_Monitoring_Postfachauslastung\r\n&#8220;; echo &#8222;\r\n\r\nFolgende User haben Postfaecher von mindestens 10 GB:\r\n\r\n&#8220;; echo -e &#8222;${body}&#8220;)| sendmail empfaenger_A@Domain.de empfaenger_B@Domain.de empfaenger_C@Domain.de ;}</p>



<p>Was genau tun wir hier jetzt?<br>Zunächst geben wir dem Script über die PATH-Variable mit, wo es überall nach den entsprechenden Kommandos zu suchen hat, um nicht immer den vollen Pfad zu den Kommandos angeben zu müssen.<br>Dann geben wir den Output des cat-Befehls aus, wobei wir die Trennzeichen durch tatsächliche newlines ersetzen.<br>Das wird danach in die neue Variable &#8222;body&#8220; gelesen und weiter verarbeitet.<br>Im Output des Echo greppen wir bereits per regulärem Ausdruck nach 5-Stelligen Zahlen, da uns alle Postfächer ab 10 GB interessieren.<br>Im Nachgang wird per echo -e der Aufbau der später mit sendmail versandten Mail zusammengesetzt.<br>Hierbei est es wichtig, dass wir zeilenumbruchgetrennt &#8222;Subject&#8220; und anschließend den Inhalt (${body}) angeben, bevor wir den gesamten Output in ein sendmail pipen.<br><br>Folgende Mail kommt hierbei bspw. heraus:<br><br><br></p>



<p>Folgende User haben Postfaecher von mindestens 10 GB:</p>



<p>m_user 17333.92 <br>b_user 17311.53 <br>a_user 17193.89 </p>



<p>Das Ganze lässt sich selbstverständlich auch über ein einzelnes Script bewerkstelligen, da ohnehin das erste im zweiten lediglich aufgerufen und in eine temporäre Datei geschrieben wird. Allerdings ist es in unserem Fall so gebaut, da Script Nummer Eins in mehreren Fällen auch anderweitige händische Verwendung findet.<br><br>Die Einbindung, damit das auch alles automatisiert und ohne unser Zutun läuft, erfolgt einfach via Eintrag im Crontab des entsprechenden Systems.<br><br>In unserem Beispiel ist das wie folgt geschehen:<br><br><br>1 6   * * *   root    /root/postfachauslastung_monitoring.sh<br><br>Aus diesem Eintrag geht hervor, dass das Script &#8222;postfachauslastung_monitoring.sh&#8220; täglich um 6:01 Uhr morgens ausgeführt werden soll.<br></p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/featured/mail-server-monitoring-in-bash/">Mail-Server Monitoring in Bash</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://informatik-guru.de/featured/mail-server-monitoring-in-bash/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>USV &#8211; Strom aus, Server an</title>
		<link>https://informatik-guru.de/featured/usv-basics/</link>
					<comments>https://informatik-guru.de/featured/usv-basics/#respond</comments>
		
		<dc:creator><![CDATA[infoguru]]></dc:creator>
		<pubDate>Tue, 22 Jan 2019 18:21:17 +0000</pubDate>
				<category><![CDATA[Basics]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Administrator]]></category>
		<category><![CDATA[blackout]]></category>
		<category><![CDATA[FISI]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[Serverraum]]></category>
		<category><![CDATA[stromausfall]]></category>
		<category><![CDATA[usv]]></category>
		<category><![CDATA[vfd]]></category>
		<category><![CDATA[vfi]]></category>
		<category><![CDATA[vi]]></category>
		<guid isPermaLink="false">http://td_uid_18_5c475f1d8d9da</guid>

					<description><![CDATA[<p>In diesem Beitrag möchten wir die grundsätzliche Funktionsweise sowie die je nach Klassifizierung auftretenden Unterschiede von USVs erläutern. Zunächst einmal zur Begriffsklärung: USV (Unterbrechungsfreie Stromversorgung) wird eingesetzt um bei Störungen bzw. Ausfällen im Stromnetz die Versorgung kritischer Systeme zu gewährleisten. Sie sollen vor allem vor folgenden Arten von Netzstörungen schützen: Stromausfall Unterspannung Überspannung Frequenzänderungen Oberschwingungen [&#8230;]</p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/featured/usv-basics/">USV &#8211; Strom aus, Server an</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>In diesem Beitrag möchten wir die grundsätzliche Funktionsweise sowie die je nach Klassifizierung auftretenden Unterschiede von USVs erläutern.<br />
Zunächst einmal zur Begriffsklärung:</p>
<p>USV (Unterbrechungsfreie Stromversorgung) wird eingesetzt um bei Störungen bzw. Ausfällen im Stromnetz die Versorgung kritischer Systeme zu gewährleisten.</p>
<p>Sie sollen vor allem vor folgenden Arten von Netzstörungen schützen:</p>
<ol>
<li>Stromausfall</li>
<li>Unterspannung</li>
<li>Überspannung</li>
<li>Frequenzänderungen</li>
<li>Oberschwingungen</li>
</ol>
<p><img loading="lazy" class="wp-image-594 aligncenter" src="http://informatik-guru.de/wp-content/uploads/2019/01/battery-1688883_1920-300x212.jpg" alt="" width="393" height="278" srcset="https://informatik-guru.de/wp-content/uploads/2019/01/battery-1688883_1920-300x212.jpg 300w, https://informatik-guru.de/wp-content/uploads/2019/01/battery-1688883_1920-768x542.jpg 768w, https://informatik-guru.de/wp-content/uploads/2019/01/battery-1688883_1920-1024x723.jpg 1024w, https://informatik-guru.de/wp-content/uploads/2019/01/battery-1688883_1920-100x70.jpg 100w, https://informatik-guru.de/wp-content/uploads/2019/01/battery-1688883_1920-696x492.jpg 696w, https://informatik-guru.de/wp-content/uploads/2019/01/battery-1688883_1920-1068x754.jpg 1068w, https://informatik-guru.de/wp-content/uploads/2019/01/battery-1688883_1920-595x420.jpg 595w, https://informatik-guru.de/wp-content/uploads/2019/01/battery-1688883_1920.jpg 1920w" sizes="(max-width: 393px) 100vw, 393px" /></p>
<p>Man unterscheidet zwischen folgenden drei Klassen von USVs:</p>
<p>1. VFI (Voltage and Frequency Independent from main supply, Spannung und Frequenz unabhängig vom Netz)</p>
<p>2. VI (Voltage Independent from main supply, Spannung unabhängig vom Netz)</p>
<p>3. VFD (Voltage and Frequency Dependent on main supply, Spannung und Frequenz abhängig vom Netz)</p>
<h3>VFI-USV</h3>
<p>Im Folgenden möchte ich auf die 1. Klasse, die VFI-USVs näher eingehen, da diese aufgrund der extrem niedrigen Ausfallzeiten mit am häufigsten angewendet werden.</p>
<p>Auch bekannt als „Online“, „Double-Conversion“ oder „Doppelwandler“.</p>
<p>Bei diesen USVs ist der Eingang direkt auf einen Gleichrichter geführt, der die Akkumulatoren speist.</p>
<p>Der Ausgang wird ausschließlich von einem Wechselrichter versorgt, der im Normalbetrieb, also bei vorhandener Netzspannung am USV-Eingang, die notwendige Energie über den Gleichrichter (GR) bezieht und bei Netzausfall über die Batterieanlage (Akkumulatoren) versorgt wird.</p>
<p>Die Wechselspannung am Ausgang wird in jedem Fall – unabhängig von der Qualität der Eingangsspannung – über einen nachgeschalteten Wechselrichter (WR) aus der Gleichspannung des sogenannten Zwischenkreises erzeugt. Zur Erhöhung der Versorgungssicherheit verfügt eine VFI-USV über eine so genannte Bypass-Schaltung, die parallel zur Gleichrichter/Wechselrichter-Kombi geschaltet ist.</p>
<p>Sollte der USV-Ausgang überlasten oder es zu einem internen Fehler kommen, so wird der Gleichrichter/Wechselrichter-Zweig umgangen und es wird der Bypass-Weg geschaltet.</p>
<p>Die hochwertigen Gleichrichter und Wechselrichter, welche für diese Bauart USV benötigt werden, da diese Teile konstant unter vollem Betriebsstrom stehen, machen die VFI USVs zur teuersten Preisart.</p>
<p>Eine VFI-USV schützt neben den Folgen eines Stromausfalls, Unterspannung und Überspannung auch vor Schwankungen der Frequenz und vor Oberschwingungen. Sie bieten ebenfalls sporadischen Schutz vor Blitzeinwirkungen und Spannungsverzerrungen.</p>
<p>VFI-USVs werden vorrangig in Bereichen eingesetzt, welche eine extrem niedrige Toleranz bzgl. Der Ausfallzeiten haben, wie bspw. Rechenzentren und Systeme in Krankenhäusern.</p>
<p>VFI-USVs haben unter allen Klassen die höchste eigene Leistungsaufnahme.<br />
Man kann in etwa von 5-10 % der Nennleistung ausgehen.</p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/featured/usv-basics/">USV &#8211; Strom aus, Server an</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://informatik-guru.de/featured/usv-basics/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>RAID-Systeme Basics</title>
		<link>https://informatik-guru.de/featured/raid-systeme_basics/</link>
					<comments>https://informatik-guru.de/featured/raid-systeme_basics/#respond</comments>
		
		<dc:creator><![CDATA[infoguru]]></dc:creator>
		<pubDate>Tue, 22 Jan 2019 18:21:17 +0000</pubDate>
				<category><![CDATA[Basics]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Administrator]]></category>
		<category><![CDATA[FISI]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[RAID]]></category>
		<category><![CDATA[Storage]]></category>
		<category><![CDATA[Systeme]]></category>
		<guid isPermaLink="false">http://td_uid_19_5c475f1d9a4ee</guid>

					<description><![CDATA[<p>Was ist so ein &#8222;RAID&#8220; überhaupt? Grundsätzlich ist ein RAID eine Zusammenfassung von Festplatten unter unterschiedlichen Gesichtspunkten. Hierbei kann man bspw. an Geschwindigkeit, oder aber an Redundanz, respektive Ausfallsicherheit, gewinnen, wobei man bzgl. dieser beiden Faktoren immer einen Trade-off eingehen muss. Im folgenden möchte ich die verbreitetsten Basisformen des Raid etwas erläutern. RAID-Level 0 Beim [&#8230;]</p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/featured/raid-systeme_basics/">RAID-Systeme Basics</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Was ist so ein &#8222;RAID&#8220; überhaupt?</p>
<p>Grundsätzlich ist ein RAID eine Zusammenfassung von Festplatten unter unterschiedlichen Gesichtspunkten.</p>
<p>Hierbei kann man bspw. an Geschwindigkeit, oder aber an Redundanz, respektive Ausfallsicherheit, gewinnen, wobei man bzgl. dieser beiden Faktoren immer einen Trade-off eingehen muss.<br />
Im folgenden möchte ich die verbreitetsten Basisformen des Raid etwas erläutern.</p>
<h2>RAID-Level 0</h2>
<p>Beim RAID-Level 0(aka „striping“) werden Datenströme abwechselnd gleichermaßen auf zwei oder mehr Festplatten verteilt. Hierbei hat man 0 Datenredundanz.<br />
Hieraus ergibt sich ein Geschwindigkeitsvorteil gegenüber einer einzelnen Festplatte.<br />
Im Gegenzug dafür hat man allerdings keine Ausfallsicherheit.</p>
<h2>RAID-Level 1</h2>
<p>Beim RAID-Level 1 (aka „mirroring“) werden Datenströme auf zwei oder mehr Festplatten gespiegelt gespeichert.<br />
Die Geschwindigkeit entspricht hierbei etwa der Geschwindigkeit der einzelnen Festplatten.<br />
Man hat hier in diesem Fall eine volle Datenredundanz und somit einen Nettospeicherplatz von Anzahl Festplatten/2 x Größe der Platten</p>
<h2>RAID-Level 5</h2>
<p>Beim RAID-Level 5 werden die Daten auf drei oder mehr Festplatten verteilt gespeichert.<br />
Im Gegensatz zum RAID-1 hat man einen wesentlich höheren Nettospeicheranteil.<br />
Dieser ergibt sich aus Anzahl Platten – 1 x Größe der Platten<br />
Die daten werden Chunkwise auf die einzelnen Platten geschrieben.<br />
Der letzte geschriebene Anteil ist immer die Parität.<br />
Die Berechnung des Parity Bits erfolgt u.a. oftmals durch XOR-Verknüpfung der vorangegangenen Bits.<br />
<img loading="lazy" class="alignnone size-medium wp-image-584" src="http://informatik-guru.de/wp-content/uploads/2019/01/illu_raid5_1-300x183.png" alt="" width="300" height="183" srcset="https://informatik-guru.de/wp-content/uploads/2019/01/illu_raid5_1-300x183.png 300w, https://informatik-guru.de/wp-content/uploads/2019/01/illu_raid5_1.png 306w" sizes="(max-width: 300px) 100vw, 300px" /><br />
Betrachten wir bei obenstehender Abbildung die erste „Spalte“ so ergibt sich bzgl. Der XOR-Berechnung der Parität folgende Formel:</p>
<p>1 XOR 1 XOR 0 = Parity bit</p>
<p>Übertragen wir dies auf die anderen Spalten so ergibt sich für die in die in der Abbildung schematisch dargestellten Bits die im folgenden grün dargestellte Parität<br />
<img loading="lazy" class="alignnone size-medium wp-image-585" src="http://informatik-guru.de/wp-content/uploads/2019/01/illu_raid5_2.png" alt="" width="192" height="233" /></p>
<h2>RAID-Level 6</h2>
<p>Bei RAID-Level 6 wird ebenfalls, wie bereits bei RAID 5 mit Sector Striping gearbeitet.<br />
Beim Raid 6 allerdings werden anstatt einer gleich zwei Paritäten bzw. Checksums geschrieben.<br />
Daraus ergibt sich bzgl. Der Nettospeicherkapazität eine Verkleinerung hingegen Raid 5, in der Ausfallsicherheit jedoch liegt Raid 6 mit zwei Platten vorne<br />
Die Nettospeicherkapazität beträgt Anzahl Platten -2 x Plattengröße<br />
Die Art der Implementierung ist hierbei unterschiedlich, wobei man sagen kann, dass zumeist lediglich die Parität die auch schon bei Raid 5 gebildet wird doppelt gespeichert wird, wodurch im Weiteren kein zusätzlicher Rechenaufwand im RAID-Controller entsteht.</p>
<h2>RAID-Level 10</h2>
<p>Unter Raid 10 versteht man eine Kombination aus Mirroring und Striping.<br />
Hier werden Datenströme gleichermaßen auf zwei gespiegelte Einheiten verteilt.<br />
Hierfür werden mindestens 4 Festplatten benötigt.<br />
Hierdurch hat man die Geschwindigkeitsvorteile des Raid 0 unter Beibehaltung der vollen Redundanz des Raid 1.</p>
<p>Der Beitrag <a rel="nofollow" href="https://informatik-guru.de/featured/raid-systeme_basics/">RAID-Systeme Basics</a> erschien zuerst auf <a rel="nofollow" href="https://informatik-guru.de">Informatik Guru</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://informatik-guru.de/featured/raid-systeme_basics/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
