Windows 7: Computer (Host) via Remote Desktop neustarten / herunterfahren

Wer seinen Computer laufen lässt, damit man von extern via Remote Desktop zugreifen kann und später seinen Rechner herunterfahren möchte, wird schnell feststellen, dass die üblichen Menüpunkte zum Herunterfahren und Neustarten im Startmenü verschwunden sind.

Startmenü bei einer Remote Desktop Verbindung
Startmenü bei einer Remote Desktop Verbindung

Das Neustarten und Herunterfahren ist aber dennoch möglich. Mann muss nur wissen wie! (Was ja meistens so ist 🙂 )

Möglichkeit 1

Die erste Möglichkeit ist mit der Tastenkombination “ALT + F4”. Wurde diese Tastenkombination gedrückt erscheint der Dialog zum Herunterfahren:

ALT + F4 - Dialog zum Herunterfahren oder Neustarten
ALT + F4 – Dialog zum Herunterfahren oder Neustarten

Möglichkeit 2

Im Startmenü, im rechten Balken, befindet sich ein neuer Menüpunkt “Windows-Sicherheit”.

Startmenü - Windows-Sicherheit
Startmenü – Windows-Sicherheit

Wird dieser ausgewählt erhält man folgende Funktionen:

Windows-Sicherheit
Windows-Sicherheit
Roter Knopf zum Herunterfahren
Roter Knopf zum Herunterfahren

Möglichkeit 3

Die dritte Möglichkeit ist mit dem Konsolenbefehl “shutdown”.

shutdown /r /t 0
  • /r – neu starten
  • /s – herunterfahren
  • /t – zeit bis zum Neustart

Eine detaillierte Beschreibung zum Konsolenbefehl “shutdown” findet man im Blogbeitrag Windows: Nützliche Konsolenbefehle.

Arbeiten mit MSI-Paketen in der Kommandozeile

Die Abkürzung MSI ist für die Bezeichnung “MicroSoft Installer”. MSI-Pakete können mit dem Kommando “msiexec” installiert, deinstalliert oder repariert werden. Windows Betriebssysteme bieten für diese Operationen eine Laufzeitumgebung mit dem Namen “Windows Installer” an. Dieser Systemdienst entpackt die MSI-Pakete und führt diese aus.

Um die Installation eines Paketes zu starten, wird der Parameter “/i” verwendet. Möchte man verhindern, dass die Installation angezeigt wird, kann dies mit den Paramter “/qn” verhindert werden.

msiexec.exe /i mySetup.msi /qn

Um ein Paket zu deinstallieren, wird der Parameter “/x” verwendet.

msiexec.exe /x mySetup.msi

Weitere Parameter sind in der msiexec Dokumentation zu finden.

Nützliche Links

msiexec Dokumentation
Wikipedia: Windows Installer
Windows Installer XML (WiX)

OWASP: Rangliste der zehn grössten Risiken für Webanwendungen

Das Open Web Application Security Project (OWASP) ist eine Non-Profit-Organisation mit dem Ziel, die Sicherheit von Anwendungen und Diensten im World Wide Web zu verbessern. [1]

Dazu veröffentlicht OWASP eine Rangliste mit den zehn schwerwiegendsten Sicherheitsschwachstellen von Webanwendungen. Auf Platz 1 ist “Injection”, das Einschleusen von fremdem Code.

Passend zum Thema Injection musste ich erst kürzlich feststellen, dass es immer noch Webanwendungen gibt bei denen SQL-Injection ohne grosse mühe funktioniert.

SQL-Injection

Das erste Mal aufmerksam auf das Thema SQL-Injection wurde ich im Jahr 2000. In dieser Zeit waren sehr viele Webanwendungen davon betroffen. Auch bekannte online Shops waren vor dieser Problematik nicht gefeit. Dies war auch die Zeit des “Quick-Login”, oft genügte die Eingabe des Prozentzeichens (%) bei Passwort und Benutzername und man wurde mit dem erst besten Login angemeldet.

Inzwischen sollte eigentlich jeder Programmierer, der mit Datenbanken arbeitet, wissen was SQL-Injection ist und was es für geeigneten Gegenmassnahmen gibt. Sei dies die Verwendung von Stored Procedures, Prepared Statements oder dem Maskieren von Metazeichen. Auch sollte die Webanwendung Benutzereingaben genau prüfen und nur korrekte Werte akzeptieren. Hat man keinen Einfluss auf die Webanwendung, kann auch ein WAF (Web Application Firewall) eingesetzt werden.

Aber leider musste ich schon des Öfteren feststellen, dass es auch im 2013 Programmierer gibt, die sich nicht mit diesem Thema beschäftigen. Im Glauben ein Projekt schneller fertigzustellen wird dies einfach ignoriert. Auch Begründungen wie: “Diese Anwendung ist nur für den internen Gebrauch…” oder “Unsere Daten sind doch nicht interessant für einen Hacker…”.

Und was passiert bei einem “DROP TABLE;” oder “WAITFOR DELAY ‘0:30:00’–” usw.?

Ich glaube diese Programmierer haben noch nicht bemerkt, das Programmieren viel mehr Spass macht, wenn man versucht “sicheren” und “sauberen” Code zu schreiben.

Nützliche Links:

Wikipedia: OWASP [1]
Wikipedia: WAF
Anfälligkeit von Webapplikationen durch SQL-Injection prüfen, mit Hilfe von sqlmap
Clean Code Developer
The OWASP Cheat Sheet Series – web application security

Ubuntu: Server Edition Installation upgraden

Eine Ubuntu Server Installation kann mit dem “do-release-upgrade utility” auf die nächsthöhere Version aktualisiert werden. Die Verwendung dieses Utility wird in der Ubuntu Dokumentation als die empfohlene Methode beschrieben.

Bevor man die Aktualisierung auf einen neueren Release beginnt, sollte man sicherstellen, dass das System auf dem neusten Stand ist.

Dazu holt man zuerst die neusten Paketinformationen:

>sudo apt-get update

Als Nächstes werden die Pakete aktualisiert:
>sudo apt-get dist-upgrade

Nun kann mit dem Release-Upgrade begonnen werden:

>do-release-upgrade

Jetzt folgt man nur noch den Anweisungen auf dem Bildschirm. Werden Konfigurationdateien geändert sollte man die Änderungen gut prüfen oder eben die eigenen behalten.

Nützliche Links

apt-get Dokumentation
Upgrading ubuntu
Upgrade Lucid auf Precise

Windows 7: Arbeitsspeicher prüfen (RAM-Check)

Startmenü Arbeitsspeicher prüfen
Startmenü Arbeitsspeicher prüfen
Hat man den Verdacht das etwas mit dem Arbeitsspeicher nicht mehr in Ordnung ist, da der PC plötzlich langsamer ist oder verschiedene Programme einfach nicht mehr ohne Probleme laufen, bietet Windows 7 ein kleines Tool, um den Arbeitsspeicher zu testen.

Am einfachsten kann dieses Tool über die Suchmaske im Startmenü ausgeführt werden. Dazu sucht man nach “arbeitsspeich”.

Wurde das Tool gestartet, legt man fest, wann die Arbeitsspeicher überprüfung ausgeführt werden soll, sofort oder erst beim nächsten Starten des Computers. Wählt man sofort, wird der Computer für die Ausführung neu gestartet.

Programmfenster Computer auf Speicherprobleme prüfen
Programmfenster Computer auf Speicherprobleme prüfen

Alternative Memtest86+

Möchte man etwas ausführlichere Tests machen, kann dafür das gratis Programm Memtest86+ verwendet werden. Memtest86+ ist ein Fork des schon länger existierenden Memtest86. Auf der Downloadseite von Memtest86+ findet man vorgefertigte ISO-Images für Boot CD’s und ein Auto-Installer für USB-Sticks.

Memtest86+
Memtest86+

Beide Programme (Memtest86+ und Memtest86) und viele weitere nützliche Tools findet man auch auf der “Ultimate Boot CD”.

Ultimate Boot CD
Ultimate Boot CD

Nützliche Links

Wikipedia: Arbeitsspeicher (RAM)
Memtest86+ (Advanced Memory Diagnostic Tool)
Memtest86
Ultimate Boot CD

Windows: Nützliche Konsolenbefehle

MAC-Adressen der Netzwerkkarten anzeigen


>getmac

Physikal. Adresse   Transportname
=================== ==================
B8-AB-61-A3-24-77   Nicht zutreffend
08-00-22-02-E4-99   Nicht zutreffend
  1. Mit dem Befehl getmac werden die MAC-Adressen der vorhandenen Netzwerkkarten angezeigt.

Eine weitere Möglichkeit die MAC-Adressen der installierten Netzwerkkarten anzuzeigen, ist mit Hilfe des Befehls “ipconfig /all”.

getmac Dokumentation
ipconfig Dokumentation

MAC-Adresse zu einer IP bestimmen


>ping -n 1 192.168.60.25 
Ping wird ausgeführt für 192.168.60.25 mit 32 Bytes Daten:
Antwort von 192.168.60.25: Bytes=32 Zeit<1ms TTL=128

Ping-Statistik für 192.168.60.25:
    Pakete: Gesendet = 1, Empfangen = 1, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 0ms, Maximum = 0ms, Mittelwert = 0ms

>arp -a 192.168.60.25

Schnittstelle: 192.168.60.22 --- 0xf
  Internetadresse       Physische Adresse     Typ
  192.168.60.25          00-04-76-ef-ac-c3     dynamisch
  • 1. Zuerst wird ein ICMP Paket an die IP-Adresse verschickt um die MAC-Adresse herauszufinden.
  • 11. Nun kann mit dem ARP-Befehl die MAC- IP-Zuordnung aus dem ARP-Cache gelesen werden.

ping Dokumentation
arp Dokumentation

Alle Netzwerkverbindungen anzeigen


>netstat -ano

  Proto  Lokale Adresse         Remoteadresse          Status           PID
  TCP    0.0.0.0:135            0.0.0.0:0              ABHÖREN         864
  TCP    0.0.0.0:445            0.0.0.0:0              ABHÖREN         4
  TCP    0.0.0.0:3389           0.0.0.0:0              ABHÖREN         932
  TCP    127.0.0.1:31416        127.0.0.1:49178        HERGESTELLT     4264
  1. Das Kommando “netstat -ano” listet sämtliche Verbindungen eines Computers auf. Der Parameter “o” ist erst ab Windows 2000 vorhanden. Dieser bewirkt, dass zu sämtlichen Verbindungen auch die PID-ID der einzelnen Prozesse angezeigt werden. Der Status “Abhören” (Listen) beschreibt Serverdienste die auf Verbindungen warten.

Mit der Hilfe der PID-ID kann im Task-Manager herausgefunden werden, welcher Prozess eine Verbindung geöffnet hat oder auf Verbindungen wartet.

Windows Task-Manager
Die Verbindung mit der PID-ID 4264, aus dem obigen Beispiel, gehört zum Prozess “boinc.exe”.

netstat Dokumentation

Anzeigen wer eine Verbindung auf die lokale Maschine hat


>net session

Computer            Benutzername     Clienttyp     Öffn. Ruhezeit
------------------------------------------------------------------
\\192.168.60.25     DEMO-MASCHINE$                  0 00:00:02
\\192.168.60.25     demouser                        2 00:00:02

Der Befehl wurde erfolgreich ausgeführt.

net session Dokumentation

Windows herunterfahren

Dieser Befehl ist nur in Windows 2000 mit installiertem “Resource Kit” oder in neueren Windows Versionen vorhanden.


>shutdown /s /t 180
  1. Windows wird in 3 Minuten heruntergefahren. Verwendet man den Parameter “/r” anstelle “/s” wird der Computer neu gestartet.

Mit dem Parameter “shutdown /a” kann das Herunterfahren abgebrochen werden.


>shutdown /i
  1. Startet die grafische Oberfläche um einen Remotecomputer neu zu starten oder herunterzufahren.
Grafisches Oberfläche des shutdown Befehls
Mit der grafisches Oberfläche kann ein Remotecomputer heruntergefahren oder neu gestartet werden.

Dazu noch einen Hinweis aus der Dokumentation:

Damit ein Remotecomputer heruntergefahren oder neu gestartet werden kann, müssen die Firewallausnahmen Remoteverwaltung und Windows-Verwaltungsinstrumentation auf dem Remotecomputer aktiviert sein.

shutdown Dokumentation

DNS client resolver cache löschen und anzeigen


>ipconfig /flushdns
  1. Löscht den DNS client resolver cache.

>ipconfig /displaydns > dns_resolved.txt
  1. Speichert den DNS client resolver cache in die Datei dns_resolved.txt.

ipconfig Dokumentation

Taskliste anzeigen


>tasklist 
  1. Zeigt eine Liste von allen Applikationen und Services sowie deren Prozess ID (PID) an.

tasklist Dokumentation

Einen Prozess beenden

In Windows 2000 (und früher) ist dieser Befehl nicht vorhanden. Für diese Systeme gibt es dieses Kommando als zusätzliches Tool “pskill”.


>taskkill /f /pid 12345
  1. Erzwingt das Beenden des Prozesses mit dem PID 12345.

taskkill Dokumentation

Dateien vergleichen

Um in der Konsole zwei Dateien zu vergleichen, gibt es das Kommando “fc”.


>fc datei.txt datei.txt
  1. Hier werden die Dateien “datei.txt” und “datei2.txt” miteinander verglichen

Als Output erhält man die Zeilen die sich unterscheiden:


Vergleichen der Dateien datei.txt und DATEI2.TXT
***** datei.txt
***** DATEI2.TXT
In der zweiten Datei..
*****

Die Datei “datei2.txt” enthält zusätzlich die Zeile “In der zweiten Datei..”

fc Dokumentation

Nützliche Links

Windows Command-Line Reference A-Z
DNS-Abfragen mit nslookup
nslookup: anzeigen einer Liste mit allen IP’s und Aliasse einer Domain
ARP-Übersetzungstabelle anzeigen und verändern

Linux: Nützliche Konsolenbefehle

DHCP-Lease erneuern


>sudo dhclient -r
>sudo dhclient
  1. Gibt den aktuellen DHCP-Lease frei
  2. Holt eine neue IP-Adresse

man dhclient

Anzeigen der aktuellen IP-Adresse


>ifconfig
  1. Anzeigen aller “network interfaces” und deren IP-Adressen

man ifconfig

Anzeigen und bearbeiten der Routingtabelle

Routingtabelle: statische Routen definieren unter: Windows, Debian Linux und Esxi-Server
man route

Anzeigen der Festplattenbelegung


>df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/sda1        16G    5.0G   11G   33% /
udev            2.0G    4.0K  2.0G    1% /dev
tmpfs           807M    764K  806M    1% /run
  1. Festplattenbelegung “einfach lesbar” (K, M, G) anzeigen

man df

Grösse eines Ordners anzeigen


>du -h -s lib/
388M    lib/
  1. Summierte Grösse des Unterverzeichnisses lib/ anzeigen

man du

Dateien löschen die älter als x Tage sind


>find /pfad/zu/den/dateien* -type f -mtime +7 -delete
  1. Argument: Vollständiger Pfad mit den Dateien
  2. Argument: Nur Dateien berücksichtigen (Keine Ordner oder Links)
  3. Argument: Findet alle Dateien die älter als 7 Tage sind
  4. Argument: Lösche alle im Suchresultat gefundenen Dateien

Alternative für nicht GNU Unixes:


>find /pfad/zu/den/dateien* -mtime +7 -exec rm {} \;
  1. Argument: Vollständiger Pfad mit den Dateien
  2. Argument: Findet alle Dateien die älter als 7 Tage sind
  3. Argument: Lösche alle im Suchresultat gefundenen Dateien

Delete Files Older Than x Days on Linux
man find

Prozesse aller Benutzer durchsuchen


>ps aux | grep konsole
  1. Argument: Alle laufenden Prozesse aller Systembenutzer anzeigen
  2. Argument: Filtern: alle Prozesse mit dem Namen Konsole anzeigen

Ausgabe:


usr  1755  0.0  0.7 119892 29364 ?      Sl   00:41   0:04 /usr/bin/konsole
usr  6515  0.0  0.0   4384   836 pts/1  S+   02:10   0:00 grep --color=auto konsole

Alternative:


>pgrep -l konsole

man ps
man grep
man pgrep

Änderungen der Datei syslog in Echtzeit anzeigen


>tail -f /var/log/syslog
  1. Neue Einträge der Syslogdatei in der Konsole ausgeben

man tail

Nützliche Links

Fosswire Linux Reference Card
One page Linux Manual
Auflistung mit verschiedenen Linux Cheat Sheets

Windows 7: Windows Kontextmenü bringt den Explorer zum Absturz

Problembeschreibung

Windows Explorer Crash
Windows Explorer Absturz
Nach dem Installieren, Deinstallieren oder Updaten einer Applikation, wird das “Windows Kontextmenü” nicht mehr angezeigt. Die mehrmaligen Versuche, mit der rechten Maustaste das Kontextmenü zu öffnen, scheitern und bringen den Explorer zum Absturz. Obwohl Windows den Explorer neu startet, kann das Kontextmenü immer noch nicht angezeigt werden.

Mögliche Ursache

In der Registry ist nach dem In-, Deinstallieren oder Updaten ein falscher Kontextmenüeintrag vorhanden. Dieser Eintrag zeigt auf eine nicht mehr vorhandene oder fehlerhafte Datei. Der Explorer wird versuchen diese fehlerhafte Verknüpfung zu laden und stürzt ab.

Mögliche Lösung

In der Registry müssen die fehlerhaften Kontextmenüeinträge entfernt werden, damit diese nicht mehr geladen werden. Die meisten Einträge sind unter folgenden Registry-Pfade zu finden:


HKEY_CLASSES_ROOT\*\shell
HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers
HKEY_CLASSES_ROOT\AllFileSystemObjects\ShellEx

Um nicht direkt in der Registry arbeiten zu müssen, gibt es ein gutes Tool von Sysinternals. Das Tool “Autoruns” ermöglicht das Aktivieren und Deaktivieren von Registry-Einträgen mit einem einzelnen Mausklick. Fehlerhafte Einträge werden hervorgehoben und so sind falsche Einträge schnell gefunden. Ist man sich nicht sicher welcher Eintrag den Absturz verursacht, so können diese einzeln deaktiviert werden, bevor man den Verursacher endgültig entfernt.

Autoruns: deaktivieren eines Kontextmenüeintrages
Hier in diesem Beispiel wurde der Kontextmenüeintrag der Sonic Software Roxio deaktiviert. Nach dem Deaktivieren wurde das Menü wieder erfolgreich angezeigt.

Nützliche Links

Sysinternals Autoruns for Windows v11.22
How to Clean Up Your Messy Windows Context Menu

Kubuntu: System bleibt mit der Meldung “Checking battery state … [OK]” hängen

Nach dem Installieren von Updates kann das System nicht mehr gestartet werden und bleibt mit der Meldung “Checking battery state … [OK]” hängen.
Eine mögliche Ursache für dieses Problem kann ein aktualisierter Kernel sein. Wurde eine neuere Kernel-Version installiert, muss der Grafiktreiber unter Umständen nochmals neu installiert werden.

Da das Betriebssystem nicht mehr hochgefahren werden kann, muss dies mit Hilfe der Konsole gemacht werden. Bei der angezeigten Meldung “Checking battery state … [OK]” wird mit der Tastenkombination “ctrl+alt+F1” in eine Konsole gewechselt. Nach dem Anmelden mit Benutzernamen und Passwort, wird mit apt-get der Grafiktreiber neu installiert.

Hier in diesem Beispiel handelt es sich um eine nvidia Grafikkarte (GeForce Serie 5 bis 9):


>sudo apt-get install --reinstall nvidia-173

Wurde der Grafiktreiber erfolgreich installiert, muss das System neu gestartet werden:


>sudo reboot

Nach dem Neustart sollte das System wieder erfolgreich hochgefahren werden.

Nützliche Links

11.10 stops booting at “Checking battery state … [OK]”
After updating kernel to 3.0.0-14 the system does not boot
Paket: nvidia-173

DVD abspielen unter Linux (Ubuntu / Kubuntu)

Wer unter Linux seine gekaufte DVD anschauen möchte und sich denkt: “Einfach DVD einlegen und anschauen”, der wird schnell feststellen, dass es so nicht funktioniert. Die meisten Multimedia-Dateien können unter Linux ohne Probleme abgespielt werden. Dazu gehören die gekauften DVD’s leider nicht, da sie oft verschlüsselt sind.

Damit eine verschlüsselte DVD gelesen werden kann, braucht es das Paket libdvdcss2. Aufgrund rechtlicher Unsicherheiten ist es in vielen Linux-Distributionen (Ubuntu, Debian usw.) nicht enthalten.

Das Paket kann folgendermassen installiert werden:


sudo apt-get install libdvdread4

Wurde die Installation erfolgreich abgeschlossen muss noch das Installations-Skript ausgeführt werden:


sudo sh /usr/share/doc/libdvdread4/install-css.sh

Konnte auch dieses Skript erfolgreich ausgeführt werden, sollte das Abspielen von DVD’s funktionieren.

Detaillierte Informationen zu Ubuntu und Codecs
Wikipedia: Libdvdcss