Port Forwarding unter Windows

Für die Freigabe bestimmter Dienste, wie z. B. einen Webserver hinter einer Firewall, wird eine Weiterleitung der Ports von der öffentlichen IP an die interne IP des Servers benötigt. In diesem Fall vermutlich die Ports 80 und 443. Diese typische Aufgabe des Port Forwardings übernimmt normalerweise ein Router bzw. eine Firewall. Mithilfe des Kommandozeilen-Tools netsh lässt sich eine entsprechende Regel aber sogar unter Windows anlegen. Somit lässt sich ein beliebiger Port unter der IP-Adresse des Windows-Rechners an einen belieibigen Port eines anderen Gerätes weiterleiten.

Hierzu legt man eine Portproxy-Regel in einer administrativen CMD-Konsole an:

In diesem Beispiel würde auf dem Computer, der über eine Netzwerkschnittstelle mit der IP 192.168.0.1 verfügt, jeglicher Traffic der an den Port 9091 geht stur an das Gerät mit der IP 192.168.0.10 an den Port 80 geschickt werden. Somit würde also die Eingabe der Adresse http://192.168.0.1:9091 in einem Browser die gleiche Seite anzeigen, die unter der http://192.168.0.10 angezeigt wird. Lässt man den Parameter listenaddress einfach weg, wird der Port unter allen auf dem Rechner verfügbaren IP-Adressen weitergeleitet.

Unter Windows XP funktioniert dies übrigens nur, wenn das IPv6-Protokoll installiert ist. Die Regel lässt sich zwar auch ohne IPv6 anlegen, funktioniert dann aber nicht.

IPv6 lässt sich mit folgendem Befehl installieren:

Nach der Installation ist kein Neustart nötig. Lediglich falls man IPv6 mit dem Bfehel uninstall wieder deinstalliert muss man danach den Computer neu starten.

Die angelegten Regeln bleiben dauerhaft bestehen und verschwinden nicht nach einem Neustart.
Diese lassen sich aber mit einem delete-Befehl wieder entfernen:

Wo kann man dies sinnvoll einsetzen? Besonders praktisch ist dies hinter einem VPN, wenn der VPN-Tunnel nicht durch den Router sondern auf einem Windows-PC aufgebaut wird und man aber eine direkte Verbindung zu weiteren Geräten im Netzwerk benötigt. Dies kann z. B. der Fall sein, wenn man über Standorte verfügt die über OpenVPN angebunden sind. So kann man über den Rechner beispielsweise auch auf den Router vor Ort zugreifen, ohne dass man sich auf den Rechner per Fernwartungs-Tool aufschalten muss.

Tobias Langner
Ich arbeite seit mehreren Jahren als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-„Pausierer“ an der FernUni Hagen

Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!

Bild in beliebiger Größe aus Paint.Net ausdrucken

Für eine einfache Bildbearbeitung reicht auch die Freeware Paint.Net aus. In Bezug auf die Größeneinstellungen eines Bildes hat man hier mehr oder weniger die gleichen Einstellungsmöglichkeiten wie in Photshop.

Allerdings stößt man auf ein Problem, wenn man eine Grafik in einer bestimmten Größe ausdrucken möchte. In Paint.Net kann man zwar eine beliebige cm-Angabe für die Breite und Höhe machen, jedoch wird beim Versuch zu drucken der Windows-Druckassistent geöffnet. Bei diesem hat man allerdings eine begrenzte Auswahl an Formaten (z. B. 25 x 20 cm) aus denen man wählen muss. Das Bild wird dann auf dieses Format skaliert. Wenn man also eine Grafik in der Größe 2 x 2 cm drucken möchte, ist man hiermit ziemlich aufgeschmissen.

Die einzige Lösung, die ich für mich gefunden habe: Ein neues leeres Bild in einem Format, in welchem man auch drucken kann, z. B. 25 x 20 cm zu erstellen. Dieses muss die gleiche Auflösung wie das zu druckende Bild haben, z. B. 90 Pixel per Inch. Dann kopiert man das zu druckende Bild in dieses neue leere Bild rein, sodass man ziemlich viel weiße Fläche hat. Voila, wenn man dieses nun druckt, passt es zur vorgegebenen Druckgröße und die Grafik wird darauf in der gewünschten Größe gedruckt.

Tobias Langner
Ich arbeite seit mehreren Jahren als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-„Pausierer“ an der FernUni Hagen

Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!

Synchroner Kalender mittels CalDAV-Protokoll

Wenn man einen zwischen verschiedenen Systemen synchronisierten Kalender nutzen möchte, ohne dabei manuell eingreifen zu müssen und ohne Google dafür zu nutzen, bleibt einem fast nur einen CalDAV-basierten Kalender zu nutzen.

Bei All-Inkl wird einem dieser Service angeboten. Da unser Webspace bei All-Inkl gebucht ist, habe ich mich dafür entschieden, den Kalender auch dort zu „hosten“. Unter welchem Mail-Konto bzw. welcher Domain man diesen anlegt, ist eigentlich fast zu vernachlässigen, denn man benutzt diesen durch das CalDAV-Protokoll sowieso losgelöst vom zugehörigen Mail-Konto. Lediglich wenn man sich oft im WebMail-Backend des Anbieters einloggt und dort den Kalender benutzt macht es Sinn diesen bei einem bestimmten Mail-Konto zu hinterlegen.

Bei All-Inkl bekommt man die nötigen CalDAV-Zugangsdaten dann ganz einfach im Mail-Konto über das Kontextmenü eines Kalenders:

   

In Thunderbird ist der Kalender sehr einfach einzubinden. Hierzu gibt es sogar eine Anleitung bei All-Inkl, weshalb ich darauf an dieser Stelle nicht weiter eingehe. Da ich privat nur Thunderbird nutze habe ich mich mit keinem anderen E-Mail-Client beschäftigt.

Etwas trickreicher wird es unter Android, da hier keine direkte Einbindung in der Kalender-App möglich ist. Vermutlich, weil es Google auch nicht gefällt, wenn man den Google-Dienst für diese Aufgabe nicht verwenden möchte 😀

Read more

Tobias Langner
Ich arbeite seit mehreren Jahren als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-„Pausierer“ an der FernUni Hagen

Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!

Trick um alte Software auf einem Terminalserver zum Laufen zu bringen

Ab und zu benötigt man ein älteres Programm, in diesem Fall eine alte Warenwirtschaft, auch in einer Terminalserver-Umgebung. Da das Setup sich nicht vernünftig auf dem Terminalserver ausführen ließ und unvollständig abgeschlossen wurde, habe ich den Programm-Ordner einfach von einem anderen Rechner über die Installation kopiert. Ein paar Anwendungen liefen, aber leider nicht alle.

Sofern das Programm keine weiteren Registry-Einträge verlangt und, wie in meinem Fall, lediglich das Fehlen einzelner DLL-Dateien anmeckert, kann aber folgender einfacher Trick helfen: Einfach in dem Programmverzeichnis nach DLL-Dateien suchen und diese alle in das Verzeichnis mit den betroffenen EXE-Dateien kopieren. Eventuell hat man diese dadurch zwar x-mal in den Verzeichnissen liegen, aber die Dateien müssen so nicht korrekt im System registriert sein, sondern werden vom betroffenen Programm direkt gefunden.

Alternativ kann man sich natürlich auch die Mühe machen alle Dateien mit dem regsvr32-Bwfwhl zu registrieren.

Tobias Langner
Ich arbeite seit mehreren Jahren als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-„Pausierer“ an der FernUni Hagen

Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!

Windows 10: Driver Power State Failure

Seit dem letzten ungewollten Windows Update fährt mein Rechner nicht mehr korrekt herunter. Nach dem Windows ca. 5 Minuten lang versucht herunterzufahren, kommt ein Bluescreen mit der Meldung „Driver Power State Failure“. Vor einiger Zeit hatte ich das Problem schon mal und habe es umgangen, in dem ich den Hibernation Mode abgeschaltet habe. Da dies aber nicht die ultimative Lösung ist, habe ich mir den MiniDump im kostenlosen Tool BlueScreenView angesehen:

Leider ist diese Info nicht sehr hilfreich, da die betroffene Datei ntoskml.exe anscheinend immer auftaucht, wenn es an irgendeinem Treiber hakt. Um die Hardware als Fehlerquelle auszuschließen, habe ich MemTest ein paar Stunden über den Ram laufen lassen und meine SSD mit dem SanDisk SSD Dashboard überprüft. Da hier nichts auffällig gewesen ist. Es sieht übrigens ungefähr so aus, wenn man 32 GByte Ram mit der kostenfreien Version von MemTest überprüft:

Nachdem ich den Chipsatz-Treiber neu installiert habe und dies auch nichts geändert habe, habe ich mir nochmal Gedanken darüber gemacht, was ich in letzter Zeit an meinem System verändert habe. Und bevor dieser Bluescreen das erste Mal auftauchte ist mein USB-Audio-Interface durch einen Blitzeinschlag kaputt gegangen. Dieses habe ich durch ein gebrauchtes Gerät, ein Tascam US-122, ersetzt. Obwohl das Gerät etwas in die Jahre gekommen ist, funktioniert es noch gut. Leider ist nur der Treiber natürlich nicht für Windows 10 programmiert worden und musste auch im Kompatibilitätsmodus installiert werden. Und dieser scheint auch das Problem zu sein. Kaum habe ich das Audio-Interface vom Rechner getrennt und diesen runtergefahren, taucht kein Bluescreen auf und der Rechner fährt normal herunter.

Tobias Langner
Ich arbeite seit mehreren Jahren als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-„Pausierer“ an der FernUni Hagen

Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!

Windows 10: Update killt Audio- und Grafiktreiber

Das Update auf Windows 10 in Version 1709 hat auf einem Rechner den Grafiktreiber gekillt und auf dem anderen den Realtek-Soundtreiber auf eine Version, aktualisiert in welcher der HD Audio Manager nicht gestartet werden kann. Interessanterweise handelt es sich bei beiden Rechnern bis auf die Grafikkarte um die gleiche Ausstattung!

Für den Grafiktreiber hat es gereicht einfach den aktuellsten NVidia-Treiber wieder zu installieren. Zu dem Problem bzgl. des HD Audio Managers finden sich einige Threads von Benutzern mit genau diesem Problem, z. B.:

http://forum.chip.de/windows-10/realtek-hd-audio-manager-win-10-1709-schuetzen-1879062.html

https://www.computerbase.de/forum/showthread.php?t=1723742

Das einzige was bei mir geholfen hat, war das Deinstallieren des ganzen Realtek-Treibers. Anstatt den aktuellsten Treiber zu verwenden, musste ich auf einen alten Treiber von HP ausweichen, welcher dort für dieses Workstation-Modell (HP Z210) für Windows 8 angeboten wird. Der Treiber ist von 2013, aber tut es wieder. Wer schon mal versucht hat einen Treiber von der Realtek-Webseite herunterzuladen weiß, dass man besser auf andere Seiten ausweicht 😀

Die Konsequenz aus diesem Rumgenerve, das mich mittlerweile an Windows 95-Zeiten erinnert, ist das Deaktivieren des Windows-Updates unter den Diensten:

Stattdessen werde ich wohl wieder auf Windows-Update-Packs zurückgreifen, die allerdings nicht von Microsoft selbst herausgegeben werden, und diese einmal im Monat oder alle 2 Monate installieren…

Tobias Langner
Ich arbeite seit mehreren Jahren als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-„Pausierer“ an der FernUni Hagen

Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!

Windows 10: Update-Downloadgeschwindigkeit begrenzen

Das mittlerweile noch wesentlich lästigere Windows-Update lässt sich kaum noch kontrollieren. Als es einen Download gestartet hat, wurde wieder schön die gesamte Bandbreite der 16 MBit-Leitung fürs Downloaden beansprucht. Selbst auf einem anderen Rechner lässt sich kaum noch surfen oder geschweige denn etwas streamen.

Nicht einmal mehr über die Gruppenrichtlinie für die „Hintergrundübertragungsdienste (BITS)“ lässt sich die Downloadgeschwindigkeit begrenzen. Der einzige Ausweg, der mir einfiel, um zumindest für die anderen Netzwerkgeräte Bandbreite freizuschaufeln ist das Heruntersetzen der Übertragungsrate des Netzwerkadapters:

Dadurch ließ sich der Download auf ca. 8 MBit/s bremsen:

Tobias Langner
Ich arbeite seit mehreren Jahren als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-„Pausierer“ an der FernUni Hagen

Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!

Firefox-Update und Roomy Bookmarks

Seit dem letzten Firefox-Update auf Version 57 läuft dieser nun wieder wesentlich und selbst Netflix kann man in diesem wieder nutzen. Aber es gibt einen sehr großen Wermutstropfen. Leider wurde aufgrund einer drastischen Programm-Anpassung die Kompatibilität zu nahezu allen Add-Ons gekillt und diese können nicht mehr verwendet werden. So auch das einzige, was mich von einem Wechsel von Firefox zu Google Chrome abgehalten hat: Das Add-On „Roomy Bookmarks“, welches in der Lesezeichen-Symbolleiste die Titel der Favoriten ausblendet, sodass einem nur noch die Icons angezeigt werden.

Glücklicherweise fand ich jetzt auf Reddit einen Beitrag indem jemand beschreibt wie man das Verhalten von Roomy Bookmarks mittels einer CSS-Datei nachahmen kann. Hierzu legt man im Firefox-Profilverzeichnis den Ordner chrome an und dort drin eine CSS-Datei namens userChrome.css, in welcher man das Aussehen des Browsers beeinflussen kann. Diese füllt man mit dem Code aus dem Beitrag:

Will man bestimmte Anpassungen nicht, kann man diese aus der CSS-Datei rauslöschen. So habe ich z. B. den Punkt 4 und 5 weggelassen, da ich auf ein Einblenden der Leiste verzichten kann und ich nicht möchte, dass diese ausgeblendet wird.

Mit dieser Anpassung ist der Firefox direkt wieder zu meinem Lieblings-Browser aufgestiegen 😀

Tobias Langner
Ich arbeite seit mehreren Jahren als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-„Pausierer“ an der FernUni Hagen

Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!

USB-Boot Stick wird einfach nicht erkannt

Bisher brauchte ich für keine meiner beiden HP Z210-Workstations einen Boot-Stick, da die SSD mit Windows 7 bzw. Windows 10 einfach nur eingebaut wurde.

Obwohl ich 3 verschiedene Sticks nach meiner Anleitung erstellt habe, standen diese weder im Bootmenü zur Auswahl, noch wurde von Ihnen gebootet als ich alle anderen Laufwerke im Bios abgeschaltet habe. Ähnliche Probleme hatte ich schon einmal bei einem Notebook, welches ich einmal für eine Kollegin aufgesetzt habe, bei welchem das Bios vom gleichen Software-Hersteller (Aptio) gewesen ist.

Das Verhalten ist so merkwürdig, dass ich kein eindeutiges Muster erkennen kann. Deshalb hier nur Tipps wie es funktionieren „könnte“:

– Der USB-Anschluss im Card-Reader scheint eher zum Ziel zu führen als die USB-Anschlüsse der Gehäuse-Front.
– Am besten den Stick einstecken bevor der Rechner überhaupt eingeschaltet wird.
– Aus einem laufenden Betriebssystem heraus neu starten, obwohl der Stick dort erkannt wurde, bringt es nicht.

Auf einer der beiden Workstations hat es letzt endlich nur geholfen die Punkte „EFI Devices“ und „Legacy Devices“ im Bios unter „Boot Order“ einmal komplett zu deaktivieren, mit F10 zu speichern und dann wieder einzuschalten. Auf der anderen Workstation half es alle anderen Laufwerke, also nicht die übergeordneten Punkte, einmal zu deaktivieren und direkt wieder zu aktivieren.

Meine Vermutung ist, dass dadurch, aus welchem Grund auch immer, der eingesteckte USB-Stick neu angesprochen wurde und als Boot-Device erkannt wird. Allerdings klappte das auch nicht immer.
Eventuell liegt es aber auch einfach nur am richtigen Timing beim Drücken der Escape-Taste, falls die Laufwerke bis zu dem Punkt, zu dem man das Menü aufruft, noch nicht erkannt wurden 🤔

Kurioserweise wird der Stick aber, nachdem er einmal erkannt wurde, sogar wieder erkannt wenn man den Rechner kurz ausschaltet. Sogar ein anderer Stick wird sofort erkannt wenn man ihn wechselt während der PC ausgeschaltet ist. Ein sehr merkwürdiges Verhalten, aber wie bereits geschrieben, ist es nicht das erst mal bei einem Aptio-Bios…

Tobias Langner
Ich arbeite seit mehreren Jahren als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-„Pausierer“ an der FernUni Hagen

Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!

Automatischer Download der Datenbank-Backups

Für das automatische Backup der SQL-Datenbanken bei All-Inkl aus dem letzten Beitrag fehlt nun noch ein automatischer Download der auf dem Server abgelegten Backups, damit diese nicht von der Daten-Verfügbarkeit des Providers abhängen. Da ich seit geraumer Zeit Filezilla nutze, für welches es leider keine Automatisierungs-Möglichkeiten gibt und mir die Templates mit Powershell für den einfachen Download von ein paar Dateien etwas überdimensioniert aussahen, habe ich das ebenfalls kostenlose WinSCP, welches über ausreichende Scripting-Möglichkeiten verfügt, dafür genutzt. Vorhandene Verbindungsdaten aus Filezilla lassen sich beim Start von WinSCP importieren, was ich der Einfachheit halber genutzt habe.

Die gespeicherten Verbindungsdaten können in einem Skript leider nicht verwendet werden. Wenn man WinSCP manuell über die Kommandozeile benutzt kann man zum Öffnen einer Verbindung einfach den Session-Namen angeben, unter dem die Daten gespeichert sind, z. B.:

Dazu habe ich auch einen Thread im WinSCP-Forum gefunden. Vermutlich wurde die Nutzung des Session-Namens für Skripte grundsätzlich deaktiviert, weil diese aus Sicherheitsgründen nicht empfohlen wird. Für mich nicht ganz nachvollziehbar, denn rein aus Sicherheitsgründen ändert sich nichts, da deshalb im Skript die Zugangsdaten direkt hinterlegt werden müssen. In WinSCP lässt sich dafür recht einfach eine sogenannte Session-URL generieren:

Read more

Tobias Langner
Ich arbeite seit mehreren Jahren als IT-Administrator, bin ausgebildeter Fachinformatiker für Systemintegration und Studium-„Pausierer“ an der FernUni Hagen

Achtung: Für die Richtigkeit der zur Verfügung gestellten Informationen, Skripte, etc. übernehme ich keine Gewähr. Deren Nutzung geschieht ausdrücklich auf eigene Gefahr!