Problem mit CD-Laufwerk: Code 39

Heute hatte ich den Computer von einem Arbeitskollegen bei mir. Das Problem von der Kiste war, dass Windows das CD Laufwerk nicht richtig erkannt. Anfangs war ein defektes CD Laufwerk drin, welches gegen ein neus getauscht wurde und eben dieses wurde von Windows nicht richtig erkannt. Im Gerätemanager war das gerät zwar zu sehen, allerdings wurde dort die folgende Fehlermeldung angezeigt:
Der Gerätetreiber für diese Hardware kann nicht geladen werden. Der Treiber ist möglicherweise beschädigt oder nicht vorhanden (Code 39)

Das Problem kann man in der Registry recht einfach beheben. Zuerst muss man zum folgenden Schlüssel navigieren:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E965-E325-11CE-BFC1-08002BE10318}

Dort muss man nun die Einträge LowerFilter und UpperFilter löschen. Nach dem Neustart des Computers wird das Laufwerk nun richtig erkannt und funktioniert wie es soll.

Alte Dateien mit delage32 löschen

Wir haben bei uns im Geschäft auf dem Server einen Share, welcher als temporäre Dateiablage gedacht ist. Anstatt sich intern grosse Files zuzusenden, kann man die Datei dort ablegen und die andere Person kann sie dort holen. Wie das halt so ist sind die Dateien dort dann aber nicht temporär sonder bleiben einfach dort liegen, weil sie niemand löscht.
Ich habe nun ein kleines Script gemacht, welches Dateien, die älter als 7 Tage sind automatisch löscht. Das Script wird jeden Abend als automatischen Task gestartet. Das Script basiert auf dem Tool delage32 von Horst Schäffer. Damit kann man recht simpel alte Daten löschen.
Meine datei sieht nun so aus:
@echo off
delage32 "D:\GROUP\TEMP\*" 7 /created /includeH /includeRO /recurse /rd

Das funktioniert ganz gut, hat aber leider ein Problem. Wenn eine Datei auf den Share verschoben wird, bleiben die Timestamps vom created und modified gleich wie zuvor. Wenn ich also eine Datei, die ich vor 2 Wochen erstellt habe auf den Share verschiebe, wird sie gleich beim nächsten Start des Scripts gelöscht und nicht nach sieben Tagen, wie es sein sollte. Dagagen kann man aber leider nichts machen und wenn man eine Datei kopiert funktioniert es wieder.

Outlook Signaturen sichern

Wer die Signaturen vom Outlook auf einen neuen Computer kopieren, oder einfach ein Backup davon erstellen will, findet sie im folgenden Ordner:
C:\Windows\Profiles\[user]\Anwendungsdaten\Microsoft\Signatures
In diesem Ordner liegt von jeder Signatur ein Plaintext, ein Richtext und ein Wordfile. Diese Files kann man auf dem neuen Computer kopieren und Outlook erkennt die Signaturen danach automatisch.

Mit Windows 7 auf Samba-Shares zugreifen

Nach der Installation von Windows 7 hatte ich schon das erster Problemchen. Zwar konnte ich nicht mehr auf einen Sambashare zugreifen, das ganze scheiterte an der Authentifizierung.

Das Problem kann man allerdings mit einer Änderung an den lokalen Sicherheitsrichtlinie lösen. Zuerst öffnet man die Verwaltung über Start, Ausführen und dort secpol.msc

Nun Navigiert man nach Lokale Richtlinien und Sicherheitsoptionen. Dort stellt man die beiden folgenden Einträge um:

Netzwerksicherheit: LAN Manager-Authentifizierungsebene
auf
LM-und NTLM-Antworten senden

und
Netzwerksicherheit: Minimale Sitzungssicherheit für HTLM-SSP-basierte Clients (einschliesslich sicherer RPC-Clients)
auf
128-Bit-Verschlüsselung erfordern deaktivieren

Danach konnte ich wie gewohnt auf den Samba-Share zugreifen.

Windows 7 RC

Wieder mal ein Selbstversuch. Bin gespannt, wie das läuft.


EPS-Dateien mit Gimp öffnen

Mit Gimp kann man ja eigentlich Dateien in fast jeden Grafikformat öffnen und bearbeiten. Als ich letzthin eine EPS-Datei öffnen wollte kam allerdings die folgende Fehlermeldung.
http://images.t-error.ch/blog/1024/gimp_eps.jpg


So muss man also zuerst Ghostscript herunterladen und installieren. Und danach eine Umgebungsvariable erstellen. Dazu klickt man mit der linken Maustaste auf den Arbeitsplatz und wählt dann Eigenschaften. Dort wählt man das Register Erweitert an und öffnet mit einem klickt Umgebungsvariabeln das neue Fenster. Bei den System Variablen klickt man auf Neu, gibt beim Namen GS_PROG und beim Wert C:\Program Files\gs\gs8.54\bin\gswin32c.exe ein. Nun kann man EPS-Dateien im Gimp öffnen.

Outlook: Problem mit Memoformat-Druck

Heute hatte ich wieder mal ein spezielles Problem im Geschäft. Bei einem Mitarbeiter wurden einige Mails falsch ausgedruckt, das heisst, anstelle von einer Seite wurden ca 21 ausgedruckt, mit einigen Buchstaben ganz auf der linken Seite. Das sah dann so aus: PDF (28 Kb)
Ich konnte das Problem etwas eingrenzen, denn es trat nur beim Plaintext-Mails auf. HTML-Mails konnten problemlos gedruckt werden. Den Druckertreiber konnte ich auch ausschliessen, da das Problem bei allen Druckern auftrat. Da Outlook bei HTML-Mails das Druckerfenster vom Internet-Explorer, bei Plaintext-Mails aber das eingene Anzeigt, musste der Fehler ja irgendwo im Outlook sein.

Druckfenster bei HTML-Mails
http://images.t-error.ch/blog/1017/printer_html.jpg


So habe ich die Einstellungen im Outlook durchsucht und wurde dort auch fündig. Das Problem war eine Einstellung im Memoformat.

Druckfenster bei Plaintext-Mails
http://images.t-error.ch/blog/1017/printer_plain.jpg


So habe ich in diesem Fenster "Formate definieren" ausgewählt dort das Memoformat bearbeitet und das Papierformat auf A4 eingestellt. Vorher war ein Benutzerdefiniertes Format mit einer breite von einigen Milimetern definiert. Kein Wunder, dass es da soviele Seiten gibt.
http://images.t-error.ch/blog/1017/memoformat.jpg

Datum in der CMD anders formatieren

Nochmal etwas aus der CMD-Trickkiste. Mit einem kleinen "Backup-Script" muss ich einen Ordner im Datums-Format YYYY-MM-DD erstellen. Mit der Umgebungsvariable %date% erhält man das Datum aber so zurück: 10.03.2009
Mit dem folgenden Trick kann man das Datum aber ins gewünschte Format umwandeln:
for /f "delims=. tokens=1,2,3" %%a in ('echo %date%') do set datum=%%c-%%b-%%a 

echo %datum%
Das gibt dann 2009-03-10 aus.

Faulting application outlook.exe, faulting module outllib.dll

Neulich hatte ich bei einem Computer im Geschäft das Problem, dass das Outlook beim aufstarten gleichabstürzte und nur noch im abgesicherten Modus gestartet werden konnte. Ein Blick in die Ereignisanzeige zeigte die folgende Fehlermeldung:
Faulting application outlook.exe, version 10.0.6838.0, faulting module outllib.dll, version 10.0.6838.0, fault address 0x001e52e0.

Weitere Informationen über die Hilfe- und Supportdienste erhalten Sie unter http://go.microsoft.com/fwlink/events.asp.

Die Lösung dafür ist recht simpel: Ins Verzeichniss C:\Dokumente und Einstellungen\{user}\Anwendungsdaten\Microsoft\Outlook\ gehen und dort die Datei outcmd.bat löschen oder am besten Umbenennen.
Danach sollte man das Outlook wieder ohne Probleme starten können.

Batchscript verzögern

Bei einem Logon-Script im Geschäft hatte ich das Problem, dass es ab und zu die Netzlaufwerke verbindet, bevor die Netzwerkevrbindung zum Server richtig steht. Beim Windows-Server kann man da eine Verzögerung einstellen, das es sich aber um eine VPN-Verbindung handelt, geht das da nicht.
So habe ich im Script eine Verzögerung von ca 3 Sekunden eingebaut. Da es unter Windows aber keinen "sleep" Befehl wie unter Linux gibt, musste ich da einen Workaround machen. Mit einem ping an eine unbekannte Adresse kann man etwas Zeit schinden und mit den richtigen Parametern geht das ganz gut:
ping -n 3 -w 1000 1.2.3.4>nul