Archive for August 2011

QNAP NAS manuell Firmware updaten und Zugang per Telnet von Windows 7 aus ermöglichen

27 August 2011

Da ein QNAP NAS sich nicht automatisch mit der aktuellen Firmware updaten ließ, musste ein manuelles Firmwareupdate durchgeführt werden.

Benötigt wird dazu ein Telnetzugang oder irgendwie ein Zugang zur Commandline. Da die einfacheren NAS-Geräte keinen eigenen VGA-Port mitbringen muss der Zugang über Telnet hergestellt werden.

Bei Windows 7 ist aber ein Telnet-Client standardmäßig nicht direkt verfügbar sondern muss zuerst über die Windows-Funktionen aktiviert werden. Computer->Programm deinstallieren oder Ändern->Windows Funktionen aktivieren oder deaktivieren->Telnet-Client.

Zugleich muss man auf seinem NAS unter Network Services/Telnet-SSH den Telnetzugang aktiviert haben. Dort steht auch der zugehörige Port.

Nun kann man von der Eingabeaufforderung den Befehl

telnet  NAS1  13131

aufrufen, wobei NAS1 der Hostname des NAS Geräts ist, alternativ kann auch die IP-Adresse verwendet werden und 13131 ist der Port über den die Verbindung aufgebaut wird.

Nun kann man der Beschreibung unter http://wiki.qnap.com/wiki/Manually_Updating_Firmware folgen.

Unter http://wiki.qnap.com/wiki/Special:AllPages sind noch viele weitere interessante Dinge zu finden, was man seinem NAS alles beibringen oder konfigurieren kann.

Differenzen in zwei verschiedenen Verzeichnissen mittels Powershell Compare-Object ermitteln

17 August 2011

Wer hatte das nicht schon Mal, man hat zwei Verzeichnisse und wo liegen jetzt die Unterschiede? Wobei von Aufgabe zu Aufgabe sich die Fragestellung noch verfeinert. Welche Dateien fehlen im einen oder im anderen Verzeichnis? Welches der Verzeichnis hat die neueren oder älteren Dateien?

Wie immer kommt Powershell zu Hilfe, mittels des Cmdlets Compare-Object. Leider sind die Beispiele bei Compare-Object sehr dünn, so dass nicht sofort alle Möglichkeiten ersichtlich sind.

Gegeben seien zwei Verzeichnisse, die so aussehen:

    Verzeichnis: C:\Temp\compare-object\org

Mode                LastWriteTime     Length Name
—-                ————-     —— —-
-a—        17.08.2011     08:46          7 file1.txt
-a—        17.08.2011     08:46          8 file2.txt
-a—        17.08.2011     08:46          8 file3.txt

und

    Verzeichnis: C:\Temp\compare-object\neu

Mode                LastWriteTime     Length Name
—-                ————-     —— —-
-a—        17.08.2011     08:46          7 file1.txt
-a—        17.08.2011     08:46          8 file3.txt
-a—        17.08.2011     08:46          8 file4.txt

Man will nun wissen, welche Dateien kamen neu hinzu?

$dr=gci c:\temp\compare-object\original\*.*
$dd=gci c:\temp\compare-object\neu\*.*
Compare-Object –ReferenceObject $dr –DifferenceObject $dd

Tja denkste, dies liefert:

InputObject                             SideIndicator
———–                             ————-
C:\temp\compare-object\neu\file1.txt    =>
C:\temp\compare-object\neu\file3.txt    =>
C:\temp\compare-object\neu\file4.txt    =>
C:\temp\compare-object\org\file1.txt    <=
C:\temp\compare-object\org\file2.txt    <=
C:\temp\compare-object\org\file3.txt    <=

Was soll das? Dies bedeutet das nichts identisch ist?!? Obwohl doch file1.txt und file3.txt in beiden Verzeichnissen existieren?

Die Ausgabe ist doch logisch denn zum Vergleich wir der komplette Pfadnamen herangezogen und somit ist ..\org\file1.txt ja nicht gleich ..\neu\file1.txt.

Also gibt man Compare-Object mit, was verglichen werden soll:

Compare-Object -ReferenceObject $dr -DifferenceObject
$dd -Property Name

das führt dann zu:

Name                                    SideIndicator
—-                                    ————-
file4.txt                               =>
file2.txt                               <=

Dies bedeutet jetzt das im Vergleich zum Originalverzeichnis also Referenzverzeichnis $dr die Datei file4.txt (=>) hinzugekommen ist und die Datei file2.txt (<=) entfernt wurde.

Wenn man jetzt .\neu\file1.txt ändert, sieht das Verzeichnis so aus:

    Verzeichnis: C:\Temp\compare-object\neu

Mode                LastWriteTime     Length Name
—-                ————-     —— —-
-a—        17.08.2011     09:07         16 file1.txt
-a—        17.08.2011     08:46          8 file3.txt
-a—        17.08.2011     08:46          8 file4.txt

Nun möchte man herausbekommen, welche Dateien sich vom Datum unterscheiden, dann könnte man

$dr=gci c:\temp\compare-object\original\*.*
$dd=gci c:\temp\compare-object\neu\*.*
Compare-Object –ReferenceObject $dr –DifferenceObject $dd -Property LastWriteTime

verwenden. Allerdings erscheint dann nur

LastWriteTime                           SideIndicator
————-                           ————-
17.08.2011 09:07:17                     =>
17.08.2011 08:46:45                     =>
17.08.2011 08:46:05                     <=
17.08.2011 08:46:15                     <=

Mittels

Compare-Object –ReferenceObject $dr –DifferenceObject $dd -Property LastWriteTime, Name

sieht die Sache dann besser aus:

LastWriteTime              Name                       SideIndicator
————-              —-                       ————-
17.08.2011 09:07:17        file1.txt                  =>
17.08.2011 08:46:45        file4.txt                  =>
17.08.2011 08:46:05        file1.txt                  <=
17.08.2011 08:46:15        file2.txt                  <=

Weitere sinnvolle Möglichkeiten und Beispiele gibts hier. Vor allem wird der SyncWindow-Parameter erläutert.

http://powershell.com/cs/blogs/tobias/archive/2009/01/09/tipps-amp-tricks-using-compare-object.aspx

Letzte als funktionierend bekannte Konfiguration bzw. Last Known Good Configuration

10 August 2011

Immer wieder mal ein Thema, die letzte funktionierend bekannte Konfiguration in Windows. Bilder und kurze Beschreibung gibt es hier:

http://www.borncity.com/blog/2011/04/08/windows-7-startreparaturen/

Stellt sich nur die Frage, was war die zuletzt funktionierende Konfiguration und vor allem von wann war die?

Kann es passieren, wenn man beim Starten den Hinweis “ein Treiber konnte nicht geladen werden” großzügig ignoriert, dass die zuletzt funktionierend bekannte Konfiguration schon eine Ewigkeit zurück liegt?

Eine gute Beschreibung was beim Hochfahren passiert um den Status zu ermitteln, gibt es hier: http://blogs.technet.com/b/askcore/archive/2011/08/05/last-known-good.aspx. Es ist vor allem genau beschrieben, wie das System ermittelt, dass es eine gute Konfiguration erreicht hat und wie sich der Startprozess zwischen Windows XP und Windows Vista und nachfolgend unterscheidet.