Archive

Category Archives for "Coding"

Windows Netzwerk Bandbreite mit QOS verwalten

Normalerweise nutzt Windows beim Übertragen oder Kopieren von Daten die Übertragungsrate, die maximal möglich ist. Das ist natürlich nur möglich, wenn eine Aktion ausgeführt wird. In manchen Situationen ist aber auch gewünscht, dass gewisse Kopieraktionen nur eine gewisse Netzwerk Bandbreite zur Verfügung haben. Dies lässt ich über das Windows interne QOS verwalten. Hier können wir gewisse Regeln erstellen, anpassen und löschen.

bsdrouin / Pixabay

 

Was ist QOS ?

Der Sinn von Quality of Service (QOS) besteht im Internet und bei Netzwerken darin, Übertragungsraten, Fehlerraten und Eigenschaften im Voraus zu berechnen und zu garantieren. Vor allem bei der Übertragung und Streaming von Videos ist das sehr bedeutend.

 

Netzwerk Bandbreite / Übertragungsrate anpassen

In Microsoft Windows lässt sich die Bandbreite, bzw. die Übertragungsrate einstellen. Das lässt sich mit PowerShell Befehlen erledigen. Hierzu werden so genannte “NetQosPolicy” Regeln erstellt und angepasst.

In unserem Testnetzwerk liegt die Übertragungsrate ohne Anpassungen bei rund 40MB/s.

Um nun das Netzwerk zu entlasten, schrauben wir die Bandbreite nach unten.

 

1 - auf existierende Regeln prüfen

Zuerst müssen wir überprüfen, ob es schon bestehende Regeln gibt. Wenn wir das nicht machen, und es existieren bereits Regeln, kann es zu ungewöhnlichen Phänomenen kommen.

Wenn “nichts” ausgegeben wird, gibt es keine bestehenden Regeln. Dann kann man mit dem Erstellen einer neuen Regel beginnen.

2 - Neue Regel erstellen

Um nun eine neue Regel zu erstellen, muss folgender Befehl verwendet werden. In diesem Beispiel legen wir einen neue Regel mit dem Namen “CopyFile” an. Diese wirkt sich nur auf den SMB Traffic aus. Die Übertragungsrate ist 2MB/s.

3 - Existierende Regel anpassen

Beim Erstellen der Regel haben wir nur 2 MB/s eingestellt. Das ist natürlich zu wenig. Nun wollen wir die existierende Regel “CopyFile” anpassen und die Netzwerk Bandbreite auf 10MB/s anheben.

Nachdem wir ein wenig mit den Einstellungen gespielt haben und unsere Anpassungen fertig sind, sollte man auf das gewünschte Ergebnis kommen.

4 - Regel löschen

Wenn die Bandbreiten Limits nicht mehr benötigt werden, kann eine QOS Regel natürlich auch wieder gelöscht werden. Hierzu müssen wir den Regelnamen “CopyFile” natürlich mit angegeben werden.

Danach überprüfen wir wie in Schritt 1 noch einmal, ob wirklich alle Regeln entfernt sind:

 

Weitere Netzwerk Bandbreite Beispiele

Natürlich gibt es noch viele andere Parameter. Hier noch ein paar Beispiele:

 

HTTP Protokoll einstellen:

 

Zugriff auf IIS Webserver konfigurieren:

 

Weitere Beispiele und Erklärungen im Microsoft Blog

Windows aktivieren mit PowerShell

Microsoft Windows ist lizenzpflichtig. Deshalb müssen wir Windows aktivieren. Natürlich gibt es inzwischen viele verschiedene Windows Versionen. Aber alle werden mit einem Lizenz Key / Lizenz Code aktiviert. Wer so etwas automatisieren möchte, kann Windows mit PowerShell aktivieren.

kreatikar / Pixabay

 

Windows aktivieren mit PowerShell

Um Windows mit PowerShell zu aktivieren, benötigen wir ein kleines Codeschnipsel, das wir als “activateWindows.ps1” abspeichern.

Damit kann Windows 7, Windows 8, Windows 8.1 und Windows 10 aktiviert werden. Natürlich muss hierzu noch der korrekte Lizenzcode eingegeben werden 🙂

In der Zeile 1 muss statt “yourhostname” natürlich der Rechner Name eingegeben werden.

In der Zeile 2 natürlich der Key, mit dem ihr euer Microsoft Windows per PowerShell aktivieren wollt.

Robocopy Exit Code – Übersicht

Robocopy ist ein mächtiges Kommandozeilen Programm. Es wird dazu verwendet, inkrementelle Backups von einem Ort an einem anderen zu erstellen oder Kopiervorgänge zu erledigen. Nach dem Kopiervorgang liefert es einen Robocopy Exit Code zurück. Eine Übersicht der Exit Codes findet ihr bei uns 🙂

padrinan / Pixabay

 

Woher bekomme ich Robocopy ?

Robocopy ist in den Windows Server 2003 Resource Kit Tools enthalten. Seit dem OS Windows Vista muss dieses Paket nicht installieren werden, da Robocopy bereits zum Lieferumfang des Betriebssystems gehört und integriert ist.

 

Robocopy Exit Code Übersicht

Nach dem Kopiervorgang liefert Robocopy Exit Codes zurück. Diese Geben den Status an. In folgender Tabelle findet ihr alle gängigen Codes.

Exit Code

Beschreibung

0

Es wurden keine Dateien kopiert. Es wurden keine Fehler festgestellt. Keine Dateien stimmen überein. Die Dateien sind bereits im Zielverzeichnis vorhanden; Daher wurde beim Kopieren übersprungen.

1

Alle Dateien wurden erfolgreich kopiert.

2

Das Zielverzeichnis enthält einige zusätzlichen Dateien, die nicht im Quellverzeichnis vorhanden sind. Es wurden keine Dateien kopiert.

3

Einige Dateien wurden kopiert. Zusätzliche Dateien waren vorhanden. Es wurden keine Fehler festgestellt.

5

Einige Dateien wurden kopiert. Einige Dateien stimmen nicht überein. Es wurden keine Fehler festgestellt.

6

Zusätzliche Dateien und nicht übereinstimmenden Dateien vorhanden sind. Es wurden keine Dateien kopiert und es sind keine Fehler aufgetreten. Dies bedeutet, dass die Dateien im Zielverzeichnis bereits vorhanden sind.

7

Dateien wurden kopiert, ein Dateikonflikt war vorhanden und zusätzliche Dateien waren vorhanden.

8

Einige Dateien wurden nicht kopiert.

Hinweis

Alle Werte größer als 8 geben an, dass im Kopiervorgang mindestens ein Fehler aufgetreten ist.

 

Robocopy Parameter – Übersicht

Geöffnete Dateien anzeigen und schließen mit PowerShell

Oft lässt sich eine Datei auf einem Server nicht löschen, da sie noch geöffnet ist. Leider sieht man oft nur durch Umwege die Details dazu. PowerShell bietet uns wie immer Möglichkeiten! Wie man Geöffnete Dateien findet und schließen kann, seht ihr bei uns 🙂

MTZD / Pixabay

 

Geöffnete Dateien finden

Um sich die geöffneten Dateien anzeigen zu lassen, brauchen wir einen einfachen PowerShell Befehl:

 

Aktive Sessions / Verbindungen anzeigen

Um aus Interesse die aktiven Verbindungen anzeigen zu lassen, benötigt man diesen Befehl:

 

Geöffnete Dateien schließen

Zum Schluss soll die Datei oder auch Dateien geschlossen werden. Dazu benötigt man die “FileID”. Diese wird oben bei “Get-SmbOpenFile” ausgespuckt.

Um nun die Datei zu schließen, benötigt man diesem Befehl, inkl. die “FileID” der zu schließenden Datei:

 

Hinweis

Die Befehle sind für das Protokoll SMB. Also vor allem interessant auf Arbeiten auf Fileservern!

Außerdem werden für die Aktion werden Administrator – Rechte benötigt, also PowerShell auch mit erhöhten Rechten starten 🙂

Shortlink auflösen mit PowerShell

Jeder kennt sie inzwischen: Die Shortlinks im Internet. Auf Facebook, Amazon, Youtube und anderen Online Plattformen sind sie zu finden. Aber welche URL oder Website steckt dahinter? Einen Shortlink auflösen kann man schnell und einfach auch mit PowerShell 🙂

geralt / Pixabay

 

Shortlink auflösen mit PowerShell

Shortlink – Dienste, wie bit.lygoo.gl oder tinyurl.com, sind sehr praktisch. Vorallem, wenn man einen Link verschicken will, ist es besser wenn der Link zur Seite kurz ist. Das Problem ist allerdings, dass man nicht weiß auf welcher Seite man landet. 🙁

Daher kann man mit PowerShell zuvor einen Shortlink auflösen, um zu sehen was sich dahinter versteckt.

Zunächst brauchen wir das PowerShell Script um den Shortlink auflösen zu können:

Das Script speichern wir unter expand-shorturl.ps1 ab. Übrigens nutzt das Script den Webservice untiny.me 🙂

 

Zuerst laden wir das Script wieder mit dem Befehl:

Außerhalb der PowerShell werden Funktionen nach dem Ausführen eines PowerShell – Skripts wieder entladen. Wird ein Skript aber mit einem “.” geladen, kann die Funktion auch noch nach dem Ende des Skripts aufgerufen werden.

Nun rufen wir die Funktion auf, die uns die Lange, bzw. richtige URL ausspuckt:

1 2 3 11