Offline Installation von Microsoft Security Essentials

7 Februar 2010 von newyear2006

Wer Microsoft Security Essentials herunterlädt und installiert freut sich über die kleine Installationsdatei zwischen 4MB und 8MB je nach System. Doch leider handelt es sich dabei nur um die Scanengine die dann später noch über 50MB an Virendefinitionen nachlädt.

Wer nun mehrere Rechner mit MSE einrichten möchte, oder wer eine langsame Internetverbindung hat, kann die betreffenden Dateien auch direkt herunterladen und manuell einspielen, anschließen nochmal Online aktualisieren und man ist auf dem neuesten Stand.

Hier gibt es die Scanengine: http://www.microsoft.com/downloads/details.aspx?displaylang=de&FamilyID=e1605e70-9649-4a87-8532-33d813687a7f Wichtig dabei ist die richtige Passform 32bit/64bit bzw. XP oder Vista und Win7 zu treffen.

Hier gibt es dann die aktuellen Virendefinitionsdateien: http://support.microsoft.com/kb/971606 Auch wieder aufpassen wegen 32bit oder 64bit Versionen.

Windows Vista, Windows 7, Windows XP Multiboot USB Stick erstellen

25 Januar 2010 von newyear2006

Aufbauend auf den Artikel http://newyear2006.wordpress.com/2009/09/19/windows-vista-windows-7-multiboot-usb-stick-erstellen/ hier nun noch die fehlende Beschreibung wie man Windows XP noch auf den USB-Stick bekommt.

Um Windows XP zu installieren wird WINNT32.EXE aus dem I386-Verzeichnis benutzt. Dazu aber erstmal die Vorbereitung:

Auf dem aus den ersten Artikeln präparierten USB-Stick legt man ein Verzeichnis \i386 an und kopiert da den Inhalt von einer XP SP3 CD aus dem i386 Verzeichnis rein. X: sei wieder der Laufwerksbuchstabe des USB-Sticks und Y: der Laufwerksbuchstabe eines CD-ROM Laufwerks.

MD X:\I386

XCOPY Y:\I386\*.* /S X:\I386

Das wärs schon fast gewesen. Wenn man allerdings spezielle Anforderungen wie RAID-Treiber oder AHCI-Treiber für aktuelle SATA-Laufwerke hat, der sollte per nLite http://www.nliteos.com/ die aktuelle Version herunterladen und benötigte Treiber über den Punkt “Integrate Drivers” hinzufügen.

Wichtig: Bei der Auswahl des XP-Verzeichnis gibt man X:\I386 an. nLite meckert zwar, dass es sich nicht um eine vollständige XP-Installationsmedium handelt, aber das spielt keine Rolle.

So nun bootet man von seinem USB-Stick und startet am einfachsten Windows 7 Setup. Beim ersten Bildschirm mit der Regions- und Sprachauswahl drückt man Shift-F10 für die Eingabeaufforderung.

Jetzt ruft man DISKPART auf und wendet folgende Befehle an:

LIST DISK

SELE DISK 0

ACHTUNG bei DISK 0 muss die Nummer der Disk angegeben werden welche nachher die XP-Installation erhalten soll.

CLEAN

CREATE PART PRIM

FORMAT FS=NTFS QUICK

ASSIGN

LIST VOL

Nun sieht man welchen Laufwerksbuchstaben der USB-Stick hat und welchen Laufwerksbuchstaben die neue Partition bekommen hat.

Nachfolgend sei C: der Laufwerksbuchstabe von der neu erstellten Partition und D: sei der aktuelle Laufwerksbuchstabe des USB-Sticks.

Nun wechselt man ins i386-Verzeichnis mit

D:

CD \i386

und startet die XP-Installation mittels

WINNT32 /syspart:C: /tempdrive:C: /noreboot

Danach muss man noch ein paar Fragen beantworten und ab geht die Post. Wenn das erste grafische Setup beendet ist, taucht wieder die Win7 Installationsumgebung auf. Nun kann man per Eingabe von

wpeutil reboot

den Neustart des Rechners auslösen und es beginnt das gewohnte Windows XP Textmodus Setup.

Ghost Error 27100 Image file contains corrupt data run

23 Januar 2010 von newyear2006

Dieser Fehler wurde auf einem Rechner mit 8GB Arbeitsspeicher beobachtet, auf dem ein Windows XP Image zurückgespielt werden sollte.

Nachdem der Arbeitsspeicher unter 4GB gesenkt war, hatte es funktioniert.

Hyper-V R2 Server mit USV absichern per VBScript oder Powershell

16 Januar 2010 von newyear2006

Hier ein Link wie man per WMI den Zustand einer USV am Hyper-V abfragen und darauf reagieren kann: http://social.technet.microsoft.com/Forums/en-US/winserverhyperv/thread/5cea0070-55f0-4f0e-b727-222203bf0463

Die Sache stellt sich deshalb nicht so einfach dar, weil die üblichen Pakete von den USV-Herstellern zum Management der USVs unter Hyper-V nicht laufen, da es ja ein Core-Server ist.

Entscheidend dabei ist, dass man in Powershell per

$bat = get-wmiobject -class CIM_Battery -namespace "root\CIMV2"

sich das passende Objekt holt und dessen Status per Abfrage von

    $batstatus = $bat.batterystatus
    $batcapacity = $bat.estimatedchargeremaining
    $timetoshutdown = $bat.estimatedruntime/2

holt.

Adobe Acrobat Reader 9.3 direkt herunterladen

13 Januar 2010 von newyear2006

Tabellen oder Bereiche aus Excel vorlesen lassen

11 Januar 2010 von newyear2006

Hier ein Stückchen Code welcher beliebige Zahlen- bzw. Datenreihen aus Excel vorließt:

Option Explicit

Public Sub Vorlesen()

    Dim objSpeaker As Object
    Dim cell As Range
    Set objSpeaker = CreateObject("SAPI.SpVoice")
    Set objSpeaker.Voice = objSpeaker.GetVoices("Name=Microsoft Anna").Item(0)
    objSpeaker.Volume = 100
    For Each cell In Range("C2:C180")   ‘ hier steht der Zellenbereich
        objSpeaker.Speak cell.Text
    Next
    Set objSpeaker = Nothing
End Sub

Einfach ein Modul hinzufügen und den Code einfügen und über das Direktfenster Vorlesen aufrufen. Der Code wurde auf Excel 2007 unter Windows 7 getestet und hat problemlos funktioniert. Sollte eigentlich bis hinunter zu Excel 2000 funktionieren, solange der Rechner mit SAPI ausgestattet ist.

In diesem Zusammenhang war enttäuschend zu sehen, das Microsoft auch bei Windows 7 immer noch keinen Codec für eine deutsche Stimme mitliefert. So verhilft dies der Technologie nie zum Durchbruch, von Texterkennung per Spracheingabe ganz zu schweigen.

Windows-Dateischutz (SFC) Probleme unter Windows XP

9 Januar 2010 von newyear2006

Wenn man mit dem Befehl SFC /SCANNOW unter Windows XP ein System reparieren möchte, dann bekommt man häufig den Hinweis die korrekte CD einzulegen.

Da gerade in Zeiten von Netbooks immer weniger Rechner mit CD-oder DVD-Laufwerken ausgestattet sind hat man ein Problem. Die schnellste Variante ist das i386-Verzeichnis einer CD passend zum aktuell installierten Service Pack  auf Laufwerk C:\ zu kopieren.

Danach müssen noch zwei Registrierungseinträge angepaßt werden, ein Neustart durchgeführt werden und dann kann es losgehen.

In der Registrierung muss unter

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\
CurrentVersion\Setup

der Wert von

SourcePath

auf

C:\

gesetz werden. Am besten setzt man gleich noch in diesem Schlüssel:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion

den Wert

SourcePath

auf

C:\i386

Nach dem Ändern der Registrywerte muss der Rechner unbedingt neu gestartet werden. Danach braucht man nur noch 1-2 Stunden geduld.

Hier eine allgemeine Beschreibung zu SFC: http://support.microsoft.com/kb/222193/de

Weitere nützliche Infos gibt es hier: http://www.updatexp.com/scannow-sfc.html

WPF Anwendung kann aus 16bit Umgebung heraus nicht gestartet werden

7 Januar 2010 von newyear2006

Wenn man per eine 16bit Umgebung ausführt bzw. command.com direkt ausführt und dann aus dieser Umgebung heraus versucht eine WPF Anwendung zu starten, der bekommt einen AppCrash serviert.

Die Lösung des Problems in der 16bit Umgebung

set windir=C:\Windows

zu setzen, danach konnte die WPF Anwendung gestartet werden. Hintergrund dürfte die Suche nach den im System verfügbaren Zeichensätzen gewesen sein. Da windir nicht bekannt war, wurde c:\windows\fonts nicht gefunden.

Wenn man windir nicht per Commandline direkt setzen kann, dann muss die Zuordnung innerhalb der AUTOEXEC.NT erfolgen!

Debugging von .Net Framework Anwendungen wie WPF und WinForms und sogar Silverlight

7 Januar 2010 von newyear2006

Immer mehr Programme verwenden das .Net Framework in seinen verschiedenen Ausprägungen. Was aber tun wenn ein Programm nicht funktioniert und sich nur mit einem Fehlerreport an MS verabschiedet?

Man kann mit dem Debugger WinDBG auf das betreffende Programm losgehen.

Eine kleine Einführung mit Beispiel wird hier beschrieben: http://blog.codemurai.de/2009/09/04/WinDbgTutorialFehlerursachenFin
denTeil1EinerSerie.aspx
. Das Beispiel geht aber von einer laufenden Anwendung aus, auf die man sich aufschalten möchte.

Oftmals hat man jedoch den Fall, dass man eine Anwendung startet und es kommt gleich die entsprechende Crashmeldung. Bei dieser Situation startet man zuerst WinDBG und ruft dann das zu startende Programm über File->Open Executable auf. In diesem Fall bekommt man bei Aufruf von

.loadby sos mscorwks

allerdings die Meldung “unable to find module” angezeigt.

Das laden des Moduls kann man mit dem Befehl

sxe ld:mscorlib
g
.loadby sos mscorwks

erzwingen.

Danach funktioniert das Debuggen wie unter obigem Blogeintrag beschrieben.

Hinweis: Diejenigen mit langsamer Internetverbindung müssen sich aber beim ersten Aufruf der Funktionen in WinDBG gedulden, da zuerst die nötigen Symboldateien heruntergeladen werden müssen.

Weitere nützliche WinDBG Befehle für SOS findet man hier:
http://geekswithblogs.net/.netonmymind/archive/2006/03/14/72262.aspx

sowie in der offiziellen Referenz unter: http://msdn.microsoft.com/de-de/library/bb190764.aspx

Man kann sogar Silverlight Anwendungen damit debuggen: http://debuggingblog.com/wp/2009/06/02/silverlight-with-better-production-debugging-support-sosdll-in-coreclr-better-than-mscorwks/

USB Probleme in Windows 7 analysieren und verstehen

27 Dezember 2009 von newyear2006

Heutzutage kommen immer mehr und mehr Geräte mit USB-Anschluss daher. Mittlerweile ist auch schon USB 3.0 mit Superspeed spezifiziert wobei Windows 7 noch keine Unterstützung von Haus aus mitbringt. Hier einige Infos zu USB 3.0 und Windows 7: http://www.usb.org/developers/presentations/pres1108/
SuperSpeed_USB_DevCon_Windows_USB_Update_GiustiAull.pdf

Was aber kann man machen wenn Geräte nicht erkannt werden oder nicht wie erwartet reagieren?

Eine Hilfe sind die neuen Log Möglichkeiten die in Windows Vista eingeführt wurden: http://blogs.msdn.com/wndp/archive/2006/03/28/wininet-etw-tracing-support-in-windows-vista.aspx

Mit dem Befehl logman.exe kann man quasi Mitschnitte von Ereignissen und Vorgängen erstellen lassen. Mit dem Befehl tracerpt.exe kann man die Datei dann z. B. in eine XML-Datei überspielen.

Eine bessere Variante ist aber mitterlweile mit dem Microsoft Network Monitor zu arbeiten, da dieser ETL-Dateien auch lesen und darstellen kann: http://blogs.technet.com/netmon/archive/2009/05/13/event-tracing-for-windows-and-network-monitor.aspx

Eine Auflistung was für Provider zur Verfügung stehen von denen Ereignisse verarbeitet werden können erhält man durch Eingabe von:

logman query provider

Übrigens kann man per logman auch die möglichen Provider eines Prozesses abfragen, somit kann man schneller entscheiden welche Provider bei einem aktuellen Problem überhaupt Sinn machen, z. B.:

logman query provider –pid 6431

Listet alle möglichen Provider auf die von dem Prozess mit der ID 6431 verwendet werden. Näheres erklärt: http://blogs.msdn.com/ntdebugging/archive/2009/09/08/exploring-and-decoding-etw-providers-using-event-log-channels.aspx

Um nun also USB Vorgänge aufzeichnen zu können gibt man folgenden Befehl ein:

logman start usbtrace –p Microsoft-Windows-USB-USBPort –o usbtrace.etl –ets
logman start usbtrace –p Microsoft-Windows-USB-USBHub –ets

Aber Vorsicht, da in der Regel heute die meisten Tastaturen und Mäuse ebenfalls per USB angeschlossen sind, bekommt man gleich mal eine Ladung an Daten nur wegen des Auslösevorgangs gesammelt!

Mittels

logman stop usbtrace –ets

wird der Vorgang dann abgeschlossen und man findet seine Daten in usbtrace.etl.

Was nun mittels Netmon herausgefunden werden kann, beschreibt dieser Artikel: http://blogs.msdn.com/usbcoreblog/archive/2009/12/21/answering-the-question-what-s-wrong-with-my-device-using-usb-etw.aspx

Primär wendet man einen USBHub Filter an, der einen auf einen Fehler bringt und von dort schaut man dann rückwärts und versucht das Problem zu finden.

Momentan ist alles noch recht mühsam, aber da die entsprechende Technik nun mittels Windows 7 voll zur Verfügung steht ist es sicherlich nur eine Frage der Zeit bis mehr und mehr Filter bzw. auch irgendwann Expertenmodule für Netmon entwickelt werden, die dann schnell weiterhelfen können.