Archive for Dezember 2009

USB Probleme in Windows 7 analysieren und verstehen

27 Dezember 2009

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 update 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.

Advertisements

T-Online E-Maileinrichtung von Outlook Express bis IPhone

15 Dezember 2009

Hier ein Link wo die Einstellungen für T-Online E-Mails auf verschiedenen E-Mailclients erklärt, teilweise sogar mit Bildern. http://hilfe.telekom.de/hsp/cms/content/HSP/de/3378/faq-155779971

Powershell Windows 7 Zuverlässigkeitsabfrage grafisch dargestellt

14 Dezember 2009

Aufgrund dieses Artikels http://technet.microsoft.com/en-us/magazinebeta/dd535685.aspx wollte ich die Zuverlässigkeitsabfrage von entfernten PCs abfragen und pseudografisch darstellen lassen.

Dazu wird die Klasse Win32_ReliabilityStabilityMetrics benutzt: http://msdn.microsoft.com/en-us/library/ee706632(VS.85).aspx.

Die Abfrage im Sinne von

Get-WmiObject win32_reliabilitystabilityMetrics -Property @("SystemstabilityIndex", "EndMeasurementDate") | ForEach-Object -Process {$t = ""; for ($i=0;$i -le $_.SystemStabilityIndex *5; $i++) {$t=$t+"="}; $d=$_.EndMeasurementDate; $x=$d+" "+$t; $x}

funktionierte zwar, das blöde war nur, dass die Infos in der Form angezeigt wurden:

20090816170000.000000-000 =======================
20090816160000.000000-000 =======================
20090816150000.000000-000 ==========================

Die Lösung brachte der Artikel http://tfl09.blogspot.com/2009/01/date-and-time-in-powershell.html der darauf aufmerksam macht, das bei Abfrage von WMI-Objekten eben keine DateTime-Objekte sondern einfache Strings zurückgegeben werden.

Also ist EndMeasurementDate kein DateTime-Objekt sondern ein String. Dieser kann mit der Methode ToDateTime aus der ManagementDateTimeconverter-Klasse in ein echtes DateTime-Objekt konvertiert werden. Somit war folgendes möglich:

Get-WmiObject win32_reliabilitystabilityMetrics -Property @("SystemstabilityIndex", "EndMeasurementDate") | ForEach-Object -Process {$t = ""; for ($i=0;$i -le $_.SystemStabilityIndex *5; $i++) {$t=$t+"="}; $d=$_.EndMeasurementDate; $dt=[System.Management.ManagementDateTimeconverter]::ToDateTime($d); $x=$dt.ToShortDateString()+" "+$dt.ToShortTimeString()+" "+$t; $x}

Welches dann diese Ausgabe ermöglichte:

16.08.2009 19:00 =======================
16.08.2009 18:00 =======================
16.08.2009 17:00 ==========================

Die einfache Variante sieht so aus:

Get-WmiObject win32_reliabilitystabilityMetrics -Property @("SystemstabilityIndex", "EndMeasurementDate") | ForEach-Object -Process {$d=$_.EndMeasurementDate; $dt=[System.Management.ManagementDateTimeconverter]::ToDateTime($d); $x=$dt.ToShortDateString()+" "+$dt.ToShortTimeString()+" "+$_.SystemStabilityIndex; $x}

also so:

16.08.2009 19:00 4.483
16.08.2009 18:00 4.453
16.08.2009 17:00 5.192

Ist aber bei weitem nicht so schön, oder?

Windows 7 von 32bit auf 64bit upgraden durch umziehen der Daten

13 Dezember 2009

Hier eine Beschreibung wie man ein Windows 7 32Bit auf ein 64Bit hochziehen kann: http://www.mydigitallife.info/2009/11/03/workaround-to-upgrade-from-32-bit-x86-to-64-bit-x64-windows-7-operating-system/

Windows 7 Versionsauswahl bei Installation

13 Dezember 2009

Wenn man eine Windows 7 DVD hat, ist dort meist nur eine bestimmte Version darauf enthalten. Man kann zwar mit dieser Lösung https://newyear2006.wordpress.com/2009/09/19/windows-vista-windows-7-multiboot-usb-stick-erstellen/ einen Multibootstick erstellen und dann auch verschiedene Versionen vorhalten aber jede Version benötigt über 2GB. Obwohl doch die Ultimate Version bereits alle Dateien enthält die Notwendig sind.

Zum Glück kann man in diesem Fall eine Datei verändern. Die Datei EI.CFG ist für die zu installierende Version zuständig. Wird sie einfach gelöscht wird bei der Installation gefragt, welche Version installieren möchte. Wenn man Einfluß auf die Version ob OEM oder Retail oder Volume License nehmen möchte, kann auch einfach folgende Version benutzen:

[EditionID]
[Channel]
Retail
[VL]
0

Weitere Infos zur Datei findet man unter: http://technet.microsoft.com/de-de/library/dd744535(WS.10).aspx

Die Prozedur geht natürlich am einfachsten wenn man über USB-Sticks installiert. Ansonsten hilft noch http://www.mydigitallife.info/2009/11/01/create-windows-7-universal-iso-with-all-editions-selection-on-install-with-ei-cfg-removal-utility/ weiter.

Weitere Infos: http://www.mydigitallife.info/2009/10/31/windows-7-iso-image-edition-switcher-free-download-for-direct-convert/

Microsoft Knowledge Base dissected oder eine kleine Einführung in die KB Suche

13 Dezember 2009

Nach vielen Stunden unendlichen Suchens bei Problemfällen hab ich mir gedacht mal die verschiedenen Optionen zur Suche in der Microsoft Knowledge Base auseinanderzunehmen.

Die Suche in der Knowledge Base wird seit Jahren kontinuierlich schlechter. Ob dies jetzt nur subjektiv ist, lässt sich wohl nur schwer nachvollziehen. Oft geht man dann dazu über mit google zu suchen. Mit dieser Methode bin ich nicht alleine:
http://www.howtofixcomputers.com/forums/windows-xp/searching-microsoft-knowledgebase-269095.html
http://www.eggheadcafe.com/software/aspnet/30790597/is-there-a–dummies-boo.aspx

Aber da langsam immer mehr Leute verstehen was zu tun ist, um bei Google möglichst oben platziert zu sein, werden immer mehr Ergebnislisten verwässert. Beispiel: http://www.bigresource.com/VB-MSChart-background-color-oy4A9wX9lC.html

Da leider die Suchmaschinen noch nicht zwischen Werbe und Contenteinblendungen unterscheiden können, wird dieses Problem immer unerträglicher.

Aus diesem Grund muss man sich also doch wieder mit der Microsoft Knowledge Base auseinandersetzen. Deshalb hab ich hier mal verschiedene Punkte ermittelt und zusammengeschrieben, wie ein Querystring einer Suchanfrage aufgebaut wird.

Der einfachste Aufruf der Suche lautet:

http://support.microsoft.com/search/

Will man gezielt in einer bestimmten Sprache suchen, kann man diese mit angeben:

http://support.microsoft.com/search/?ln=de
http://support.microsoft.com/search/?ln=en

Die erste Variante stellt die Maske in Deutsch dar und sucht auch in deutschen KB-Artikeln. Die zweite Variante stellt die Maske in Englisch dar und sucht in englischen KB-Artikeln.

Jetzt ist die Suchanfrage aber ziemlich minimal. Man kann durch Angabe von

http://support.microsoft.com/search/?adv=1&ln=en

die Erweiterte Suchmaske erhalten. Für die einfache Variante ruft man

http://support.microsoft.com/search/?adv=0&ln=en

auf.

Als nächstes wäre natürlich sehr sinnvoll gezielt ein bestimmtes Produkt suchen zu können. Dazu wird &spid verwendet. So durchsucht z. B.

http://support.microsoft.com/search/?adv=1&ln=en&spid=14019

gezielt die KB für Windows 7 Einträge.

Hier mal eine Auflistung von aktuellen SPIDs für die KB-Suche:

http://support.microsoft.com/selectindex/default.aspx?target=search&sreg=en-us&adv=1

Die spid wird nicht direkt angezeigt, sondern wenn man mit der Maus auf einem Link verweilt.

Einige SPIDs sind z. B.:

14019 Windows 7
11732 Windows Vista
1173 Windows XP
11377 Word 2007
14134 Server 2008 R2
   

Gibt man die spid mit &spid=global an, so werden alle Einträge unabhängig von einem Produkt durchsucht. Dies ist vor allem wichtig, wenn man davor gezielt nach einem Produkt gesucht hat.

Über den Parameter &query kann man den gesuchten Suchbegriff direkt angeben. Bei den Suchbegriffen kann man bestimmte Keywords angeben, welche das Suchergebnis sinnvoll eingrenzen können. Sinnvolle Keywords werden in diesem Artikel beschrieben:

http://support.microsoft.com/kb/242450/de

Daneben gibt es noch weitere Möglichkeiten die Suchergebnisse zu beeinflussen, wie z. B. der Parameter &mode=a oder &mode=r.

Dann wäre noch die boolsche Algebra, wo dieser Artikel sich mit beschäftigt: http://pubs.logicalexpressions.com/pub0009/LPMArticle.asp?ID=649

Liste von relevanten Microsoft Knowledge Base Artikel Suchbegriffen zur effektiveren Suche

12 Dezember 2009

Eine ziemliches Durcheinander wird einem präsentiert wenn man sich in den Supportbereich von Microsoft support.microsoft.com begibt. Nicht nur, dass von Zeit zu Zeit mal wieder die Optik umgeworfen wird und andere Elemente in den Vordergrund rücken, nein wenn man was sucht findet man meistens tausend andere Dinge die einen nicht interessieren.

Mal wieder auf der Suche bin ich über folgenden Artikel gestossen: http://support.microsoft.com/kb/242450/de er erklärt die ganzen Kürzel mit der sich die Suche sinnvoll begrenzen läßt wenn man weiß, was man sucht. Leider ist wie immer auch dieser Artikel nicht auf der Höhe der Zeit und verlinkt nicht auf einen neueren Artikel.

Das es einen neueren Artikel geben müsste belegt das neue Keyword kbstepbystep über welches Schritt für Schritt-Anleitungen zu finden sind!

Beispiel: http://support.microsoft.com/search/default.aspx?mode=a&query=kbhowto+kbstepbystep&spid=14019&catalog=LCID%3D1031&1031comm=1&1031mt=1&res=20
findet deutsche, bebilderte Schritt für Schritt Anleitungen für Windows 7. Übrigens ist die spid=14019 die ID für Windows 7.

Dieser Querystring findet Schritt für Schritt Anleitungen für Windows XP: http://support.microsoft.com/search/default.aspx?query=kbhowto+kbstepbystep&spid=1173

Dieser für Windows Vista: http://support.microsoft.com/search/default.aspx?query=kbhowto+kbstepbystep&spid=11732

Ist jetzt die SPID von XP auf Vista von 1173 auf 11732 Zufall?

SNOM und Auerswald Telefonanlage VOIP Client bekommt keinen Wählton bzw. Klingelton

8 Dezember 2009

In einer Konstellation aus Auerswald 5020 VOIP Telefonanlage und einem internen SNOM 370 Telefon war alles korrekt konfiguriert, allerdings konnte man weder rein noch raus wählen, bzw. auch keine internen Telefone an der Auerswaldanlage erreichen.

Die Lösung brachte dann ein Artikel mit ähnlichem Problem: http://www.ip-phone-forum.de/showthread.php?t=181736

Konkret wurde beim Snom unter der betreffenden Identität beim Register RTP der Eintrag “RTP Verschlüsselung” von An auf Aus gestellt. Danach hat das raustelefonieren funktioniert.

Um das Snom aber von anderen Telefonen erreichbar zu machen, musste bei der betreffenden Identität unterm Register SIP noch der Eintrag “Unterstützung für kaputte Registrar” von Aus auf An gestellt werden.

Powershell 2.0 und Remoting und Remote Management ohne Domäne

7 Dezember 2009

Hier ein paar Links um Powershell Remoting ohne Domäne hinzubekommen:

Einführung:
http://technet.microsoft.com/en-us/magazine/2009.08.windowspowershell.aspx

http://blogs.msdn.com/powershell/archive/2009/04/30/enable-psremoting.aspx

http://blogs.msdn.com/wmi/archive/2009/07/24/powershell-remoting-between-two-workgroup-machines.aspx

http://blogs.msdn.com/wmi/archive/2009/07/22/new-default-ports-for-ws-management-and-powershell-remoting.aspx

Wie es jemand konkret gemacht hat:
http://keithhill.spaces.live.com/blog/cns!5A8D2641E0963A97!7003.entry

Powershell SQL Server Provider

7 Dezember 2009

Coole Sache einen SQL Server mit Powershell zu administrieren, aber noch besser wird es wenn man sich per Commandline in der SQL Server Datenbank und Schema bewegen kann.

Dieser Artikel beschreibt das Script, welches es ermöglicht:
http://blogs.msdn.com/mwories/archive/2008/06/14/
SQL2008_5F00_Powershell.aspx

Hier die ausführlicheren Infos dazu: http://msdn.microsoft.com/de-de/library/cc281947.aspx

Ein wichtiger Aspekt sind die richtigen Zugriffsrechte, wie man sich als anderer Benutzer anmelden kann, zeigt dieser Artikel:
http://blogs.msdn.com/mwories/archive/2008/06/25/what-no-cmdlets-sql-server-powershell.aspx

Übrigens kann man auch auf Access Datenbanken per Powershell zugreifen:
http://msmvps.com/blogs/richardsiddaway/archive/2009/11/22/creating-an-access-database.aspx