Das hat die Post nicht vermerkt, dass die Addins von Stampit bzw. E-Porto nicht für 64 bit Versionen von Office zur Verfügung stehen. Die Addins gibt es bisher nur als 32 bit Versionen und sind demnach nicht in die 64 bit Versionen von Office einbindbar.
Nun bin ich aber am Umstellen auf 64 bit und lasse es dabei. Um trotzdem meine Vorlagen mit dem Stampit2 Objekt nutzen zu können, habe ich nun den Virtual PC samt XP-Mode installiert und darauf dann Word und Excel 2010 in 32 bit Version. Stampit geht, aber sein etwaiger Nachfolger, E-Porto=Internetmarke, will sich nicht installieren lassen. Zwar tut er ganz modern und installiert das .net Framework 4, dann schwächelt er aber und kann die Installertypen in der Assembly EPortoAddIn.dll nicht abfragen. Vielleicht mag er ja keinen virtuellen PC.
Samstag, Juli 24, 2010
Freitag, Juli 23, 2010
Windows Live Messenger funktioniert nicht mehr
WLM has stopped working:
Nach einiger Zeit der Nutzung unter Windows7 meldet sich das Programm mit diesem Fehler. Nach dem Windows Application Error 1000 erhält man folgende Problemsignatur:
Problemsignatur:
P1: msnmsgr.exe
P2: 14.0.8117.416
P3: 4bc935af
P4: WLDCore.dll
P5: 14.0.8117.416
P6: 4bc93503
P7: c0000005
P8: 00002ee5
P9:
P10:
Leider habe ich bisher keine zufriedenstellende Lösung dafür im Internet finden können.
Folgender Workarround hat mir geholfen:
Löschen des Registry Eintrags:
HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger.
Umgebung:
Windows7 64bit, SBS2008, Webcam
Nach einiger Zeit der Nutzung unter Windows7 meldet sich das Programm mit diesem Fehler. Nach dem Windows Application Error 1000 erhält man folgende Problemsignatur:
Problemsignatur:
P1: msnmsgr.exe
P2: 14.0.8117.416
P3: 4bc935af
P4: WLDCore.dll
P5: 14.0.8117.416
P6: 4bc93503
P7: c0000005
P8: 00002ee5
P9:
P10:
Leider habe ich bisher keine zufriedenstellende Lösung dafür im Internet finden können.
Folgender Workarround hat mir geholfen:
Löschen des Registry Eintrags:
HKEY_CURRENT_USER\Software\Microsoft\MSNMessenger.
Umgebung:
Windows7 64bit, SBS2008, Webcam
Samstag, Juli 17, 2010
Sonntag, Juli 11, 2010
Companyweb auf SBS2008
Derzeit (Juli 2010) übe ich gerade die SBS2008 Installation. Ich hatte mehrere Versuche, mal mit mal ohne Antwort Datei, mal mit mal ohne automatischem Update, mal mit mal ohne funktionierendem Companyweb (SBS SharePoint)
Nach vielen grauen Haaren habe ich nun eine Lösung gefunden: http://support.microsoft.com/kb/971272
Also, nach dem letzen Versuch, mit automatischem Update und mit Antwortdatei, welche die IP Adresse und den Domainnamen meinedomaene.local setzen soll, kam es wieder zum Fehler beim Aufruf von http://companyweb auf dem SBS2008 Server. Wahrscheinlich war an dieser Stelle das beim Support erwähnte, zum Fehler führende Update mit installiert. Lösungsvorschlag Nummer 3 war dann der Treffer:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\BackConnectionHostNames=companyweb.meinedomaene.local
Nach vielen grauen Haaren habe ich nun eine Lösung gefunden: http://support.microsoft.com/kb/971272
Also, nach dem letzen Versuch, mit automatischem Update und mit Antwortdatei, welche die IP Adresse und den Domainnamen meinedomaene.local setzen soll, kam es wieder zum Fehler beim Aufruf von http://companyweb auf dem SBS2008 Server. Wahrscheinlich war an dieser Stelle das beim Support erwähnte, zum Fehler führende Update mit installiert. Lösungsvorschlag Nummer 3 war dann der Treffer:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0\BackConnectionHostNames=companyweb.meinedomaene.local
Mittwoch, Mai 19, 2010
cmd shell: Substrings zur Datumsdarstellung
Betrifft: Windows Vista CMD.exe
Teile einer Umgebungsvariablen %UV% können mit
%UV:Startindex,Zeichenanzahl% definiert werden
Dabei hat das erste Zeichen den Startindex 0.
C:\temp>
echo %date%
19.05.2010
C:\temp>set tag=%date:~0,2%&set monat=%date:~3,2%&set jahr=%date:~6,4%&echo Datum=%jahr%%monat%%tag%
Datum=20100519
Teile einer Umgebungsvariablen %UV% können mit
%UV:Startindex,Zeichenanzahl% definiert werden
Dabei hat das erste Zeichen den Startindex 0.
C:\temp>
echo %date%
19.05.2010
C:\temp>set tag=%date:~0,2%&set monat=%date:~3,2%&set jahr=%date:~6,4%&echo Datum=%jahr%%monat%%tag%
Datum=20100519
Montag, April 19, 2010
OpenLimit - Outlook - CRL
Problem: Beim Prüfen einer mit Outlook 2007/Openlimit SignCubes 2.5.0.1 erstellten und signierten E-Mail (qualifizierte elektronische Signatur) erhält der Empfänger bei der Ansicht mit Outlook 2007 eine Fehlermeldung.
Es stellt sich die Frage, was eine digitale Unterschrift wert ist, wenn der Empfänger bei der Prüfung eine Fehlermeldung erhält. Hätte er ein anderes Programm verwendet, wäre die Prüfung erfolgreich.
Fehlermeldung:
Achtung: Beim Validieren des Zertifikats, das zum Erstellen dieser Signatur verwendet wurde, sind Probleme aufgetreten.
Der Hersteller der Signatursoftware hat in seinem Handbuch eben diesen Fehlerzustand dargestellt, ohne näher darauf einzugehen: . ->Openlimit. Der Hersteller verweist auf die ähnliche Verfahrensweise bei Outlook 2003 und 2007.
Es stellt sich die Frage, was eine digitale Unterschrift wert ist, wenn der Empfänger bei der Prüfung eine Fehlermeldung erhält. Hätte er ein anderes Programm verwendet, wäre die Prüfung erfolgreich.
Fehlermeldung:
Achtung: Beim Validieren des Zertifikats, das zum Erstellen dieser Signatur verwendet wurde, sind Probleme aufgetreten.
Achtung: Die Zertifikatssperrliste, die zur Überprüfung des Signaturzertifikats benötigt wird, ist entweder nicht verfügbar oder nicht mehr gültig.

S-Trust beschreibt das Sperrlistenproblem ebenfalls. Im Benutzerhandbuch zur Signatur und Verschlüsselung von E-Mail in Thunderbird 11/2009 wird Outlook 2007 als, aufgrund von Fehlern, nicht vollständig unterstützter Client angegeben. Zitat: "Es kann also sein, das die in Ihrem E-Mail-Programm angezeigte Gültigkeit eines Zertifikats nicht zuverlässig ist."
So ist es eben.
Die Sperrlistenaktualisierung von OpenLimit SignCubes wurde übrigens erfolgreich durchgeführt, bis auf vier wahrscheinlich veraltete Einträge von Zertifizierungsstellen, deren Status "Fehler beim Download" ist. (Deutsche Telekom Root CA 2, Openlimit CA, Root CA 2 PN, Signet CA)
Frage: Wer kennt den Trick, Outlook zur Verwendung der aktualisierten Sperrlisten zu bewegen???
Samstag, April 10, 2010
Wie kann man in Word2007 Texte drehen?
Das gewöhnliche Textfeld kann nicht frei gedreht werden. Das Textfeld wird auch von den Autoform genannten Shapes benutzt, wenn man Text hinzufügen wählt. Beim Drehen der Shapes drehen sich die Texte nicht.
Was geht, das sind die WordArt genannten Grafiktexte. Diese sind, wenn sie vor dem Text stehen, drehbar und mit den Shapes gruppierbar.
Was geht, das sind die WordArt genannten Grafiktexte. Diese sind, wenn sie vor dem Text stehen, drehbar und mit den Shapes gruppierbar.
Donnerstag, März 18, 2010
MSPaint - Der Notnagel
Machmal muss man auch mit den Bordwerkzeugen operieren. Da oft vergessen, hier eine Kurzbeschreibung:
- Die aktive Zeichnung verfügt nur über das Hintergrundojekt und 1 Auswahlobjekt.
-unten: Die eingestellte Hintergrundfarbe wird im Auswahlobjekt transparent. PS: Die Hintergrundfarbe muss vorher mit der Pipette ausgewählt werdenen, weil die Bildfarben unter Umständen (Gif ) von den Palettenfarben abweichen
- Farbauswahl mit Palette oder Pipette:
-Vordergrund: LMB
- Hintergrund: RMB
- Tertiäre Farbe ??? : Strg+RMB
Zum Speichern der Transparenzinformation in GIF oder PNG findet sich keine Information.
Beim Laden wird auch keine transparente Farbe erkannt. Transparenz stellt man wie bei allen Auswahlobjekten ein, siehe oben. Eventuell temporär das Bild laden um die Hintergrundfarbe zur Transparenzeinstellung mit der Pipette einzustellen, dann wieder entfernen, dann neu laden.
- Die aktive Zeichnung verfügt nur über das Hintergrundojekt und 1 Auswahlobjekt.
- Die beiden unteren unbenannten Werkzeuge beeinflussen die Transparenz des Auswahlobjektes
-oben: keine Transparenz der Hintergrundfarbe-unten: Die eingestellte Hintergrundfarbe wird im Auswahlobjekt transparent. PS: Die Hintergrundfarbe muss vorher mit der Pipette ausgewählt werdenen, weil die Bildfarben unter Umständen (Gif ) von den Palettenfarben abweichen
- Farbauswahl mit Palette oder Pipette:
-Vordergrund: LMB
- Hintergrund: RMB
- Tertiäre Farbe ??? : Strg+RMB
Zum Speichern der Transparenzinformation in GIF oder PNG findet sich keine Information.
Beim Laden wird auch keine transparente Farbe erkannt. Transparenz stellt man wie bei allen Auswahlobjekten ein, siehe oben. Eventuell temporär das Bild laden um die Hintergrundfarbe zur Transparenzeinstellung mit der Pipette einzustellen, dann wieder entfernen, dann neu laden.
Dienstag, März 16, 2010
Internetkopfzeilen gut versteckt
In Outlook 2007 findet man die Ansicht der Internetkopfzeilen (MS) vs. Mail Header (RFC) vs. Quelldaten (1&1) unter den Nachrichtenoptionen: (RMB auf eingegangene Email oder //Email Ansicht/ Gummiband Optionen/ Quadrat in rechter unterer Ecke=Nachrichtenoptionen/ Internetkopfzeilen.
Montag, Februar 22, 2010
SecureStrings und Encryption mit Powershell
In einem von aussen nicht direkt einsehbaren Speicherbereich werden SecureStrings gespeichert. Damit man diese in einem Script dastellen kann, werden Sie encrypted. Die Verschlüsselung ist an die erstellende Maschine gebunden.
#$SecureString=read-host -assecurestring | Sichere Eingabe des SecureStrings an der Console |
$Encrypted=convertfrom-securestring -securestring $securestring | Encrypted (für Skripting geeignet) |
0..6|%{$A[$_]=$encrypted.substring(($_ * 44),44)} | $A Array von 7 Teilen, wegen der Übersichtlichkeit $encrypted.length/7=44 |
#"`$E=`$null";$A|%{"`$E+=""$_"""} | Folgende Skriptzeilen erstellen |
$E=$null $E+="01000000d0...fc297eb0100" $E+="0000fcd684... 96300000000" $E+="0200000000...0000253b9b1" $E+="4c835c1f40...04800000a000" $E+="0000100000...c02d2784f47d" $E+="1000000065...34e88821400" $E+="00003d43c0...5f56b26949c5" | Skriptzeilen |
$SecureString=Convertto-Securestring -string $E | SecureString aus Encrypted String |
$Ptr = [System.Runtime.InteropServices .Marshal]::SecureStringToBSTR($SecureString) | Pointer darauf |
$Decoded=[System.Runtime.InteropServices .Marshal]::PtrToStringAuto($ptr) | Entschlüsselt |
dnscache (dns-client) Problem mit Outlook
Warum auch immer Outlook nach seiner Beendigung den dns-client so stört, dass nur ein Neustart des Service ein Weiterarbeiten möglich macht, die Deaktivierung des Dienstes schafft Abhilfe.
Den Status fragt man wie folgt ab:
get-service *dns* | select-object *
Den Status fragt man wie folgt ab:
get-service *dns* | select-object *
sftp und ftps
Für ftp gibt es zwei abgesicherte Varianten. Die Details stehen in Wikipedia.
1. 1und1 unterstützt SFTP. Dabei wird nur die Authentifizierung über SSH abgewickelt, der Rest der Übertragung bleibt unverschlüsselt. Im .Net Framework gibt es keine direkte SFTP Untersützung.
2. Unter Windows findet sich die Klasse [System.Net.FtpWebRequest] welche mit der Property .EnableSsl=true auch FTPS unterstützt. Es wird die gesamte ftp Verbindung verschlüsselt. Diese Version wird nicht von 1und1 unterstützt.
3. Zur Kommunikation mit 1und1 muss man passives ftp einsetzen. Das kann der Standard Windows ftp Client nicht. Alternativ einsetzbar sind z.B.: winscp.com von winscp.net oder ftps.com von www.stdnet.com/moveit.
Mit winscp.com und Powershell kann man Daten zu 1und1 halbwegs sicher per sftp übertragen:
#passwort und username sollten mit Encryption und secure-string im Script stehen
$Source="$Env:tmp\daten.txt"
$ProcPar=new-object System.Diagnostics.ProcessStartInfo
$ProcPar.FileName="C:\programme\WinSCP\winscp.com"
$ProcPar.Arguments="/passive"
$ProcPar.UseShellExecute=$false
$ProcPar.RedirectStandardInput=$true
$ProcPar.RedirectStandardOutput=$true
$ProcPar.CreateNoWindow=$true
$Proc=[diagnostics.process]::start($ProcPar)
$Proc.StandardInput.WriteLine("option batch abort")
$Proc.StandardInput.WriteLine("option confirm off")
$Open="open sftp://"+ $username +":" + $password + "@ftpserver.dom"
$Proc.StandardInput.WriteLine($Open)
$Proc.StandardInput.WriteLine("put $Source /public/")
$Proc.StandardInput.WriteLine("close")
$Proc.close()
$Proc=$null
1. 1und1 unterstützt SFTP. Dabei wird nur die Authentifizierung über SSH abgewickelt, der Rest der Übertragung bleibt unverschlüsselt. Im .Net Framework gibt es keine direkte SFTP Untersützung.
2. Unter Windows findet sich die Klasse [System.Net.FtpWebRequest] welche mit der Property .EnableSsl=true auch FTPS unterstützt. Es wird die gesamte ftp Verbindung verschlüsselt. Diese Version wird nicht von 1und1 unterstützt.
3. Zur Kommunikation mit 1und1 muss man passives ftp einsetzen. Das kann der Standard Windows ftp Client nicht. Alternativ einsetzbar sind z.B.: winscp.com von winscp.net oder ftps.com von www.stdnet.com/moveit.
Mit winscp.com und Powershell kann man Daten zu 1und1 halbwegs sicher per sftp übertragen:
#passwort und username sollten mit Encryption und secure-string im Script stehen
$Source="$Env:tmp\daten.txt"
$ProcPar=new-object System.Diagnostics.ProcessStartInfo
$ProcPar.FileName="C:\programme\WinSCP\winscp.com"
$ProcPar.Arguments="/passive"
$ProcPar.UseShellExecute=$false
$ProcPar.RedirectStandardInput=$true
$ProcPar.RedirectStandardOutput=$true
$ProcPar.CreateNoWindow=$true
$Proc=[diagnostics.process]::start($ProcPar)
$Proc.StandardInput.WriteLine("option batch abort")
$Proc.StandardInput.WriteLine("option confirm off")
$Open="open sftp://"+ $username +":" + $password + "@ftpserver.dom"
$Proc.StandardInput.WriteLine($Open)
$Proc.StandardInput.WriteLine("put $Source /public/")
$Proc.StandardInput.WriteLine("close")
$Proc.close()
$Proc=$null
Mittwoch, Februar 10, 2010
Fritz!Mini Erfahrungen
Seit etwa einem Jahr läuft ein Fritz!Mini in meinem Netzwerk. Das Gerät sieht sehr nett aus. Die Bedienung der Tastatur erscheint mir auf Dauer etwas schwergängig und unangenehm. Nach einem Jahr waren die Akkus hinüber.
Scheinbar kann das Fritz!Mini die Fritz!Box 7170 zum Neustart zwingen. Beobachtet wurde das während der Fritz!Mini Funktionen Telefon, Musik, Webradio.
Fazit, es ist ein nettes Technologiemuster, ich kann es aber auf Grund der vermuteten Beeinträchtigung des Telefonbetriebs noch nicht in einer Produktivumgebung einsetzen.
Scheinbar kann das Fritz!Mini die Fritz!Box 7170 zum Neustart zwingen. Beobachtet wurde das während der Fritz!Mini Funktionen Telefon, Musik, Webradio.
Fazit, es ist ein nettes Technologiemuster, ich kann es aber auf Grund der vermuteten Beeinträchtigung des Telefonbetriebs noch nicht in einer Produktivumgebung einsetzen.
Montag, Januar 18, 2010
Powershell /RegEx / HTML Tag Inhalte
[regex]::matches("<tag>Inhalt</tag>","(Inhalt)").item(0).groups[1].value
Sonntag, Januar 17, 2010
Kurznotiz / StickyNote
Aus der Kategorie,was Sie sich schenken können, ist das kleine schlanke Tool StickyNote von MS.
Es ist mir erst nach vielen Jahren Benutzung des Betriebssystems WIndows XP/Vista aufgefallen.
Insofern ein Grafiktablett verfügbar ist, schreibt man mit dem Stift und löscht mit dem Radierer.
Sprache wird direkt aufgezeichnet.
Alternativen sind von Logitech QuickCam zur Aufzeichnung mit Bild, oder OneNote welches als Favorit sowohl Bild, Ton, Tastatur und Stift aufzeichnen kann.
Es ist mir erst nach vielen Jahren Benutzung des Betriebssystems WIndows XP/Vista aufgefallen.
Insofern ein Grafiktablett verfügbar ist, schreibt man mit dem Stift und löscht mit dem Radierer.
Sprache wird direkt aufgezeichnet.
Alternativen sind von Logitech QuickCam zur Aufzeichnung mit Bild, oder OneNote welches als Favorit sowohl Bild, Ton, Tastatur und Stift aufzeichnen kann.
Samstag, Januar 16, 2010
Powershell und Reguläre Ausdrücke
Die folgenden Beispiele können einfach per Copy&Paste in der Powershell nachvollzogen werden. Die größte Fehlerquelle sind die Tippfehler. Die Beispiele benutzen die Microsoft .Net Klasse für Reguläre Ausdrücke.
Die MSDN Dokumentation enthält hierzu einige Beispiele, die aber leider mit Schreibfehlern versehen sind. Das macht das ohnehin kaum verständlich lesbare Thema noch schwieriger. Hier sind einige Beispiele für die Benutzung in der Powershell:
[regex]::matches("901-333-","^\d{3}").item(0).value # es wird 901 anstatt 901- ausgegeben
[regex]::matches("901-333-","\A\d{3}").item(0).value # es wird 901 anstatt 901- ausgegeen
[regex]::matches("Wir sind die Moorsoldaten und ...","(\w)\1").item(0).value # findet doppelten Buchstaben oo
[regex]::matches("1234 3412","\b(\d{2})(\d{2}) \2\1").item(0).value #Backreferenzen auf zwei Gruppen
[regex]::matches("<tag> text </tag>","<([a-z]+)>[a-z ]+").item(0).value #Backreferenz auf den Tagnamen
[regex]::matches("<tag> text </tag>","(?i)<([a-z]+)>[a-z ]+").item(0).value #s.o., ignore case option
[regex]::matches("<tag> text </tag>","(?i)<.*>").item(0).value #greedy *, geht bis zum letzten >
[regex]::matches("<tag> text </tag>","(?i)<.*?>").item(0).value #lazy ?, geht bis zum ersten >
[regex]::matches("deep","(?<doppel>\w)\k<doppel>").item(0).value #benannte Gruppen mit <>
[regex]::matches("<tag> text </tag>","<(?'gruppe1'\w+)>(?'inhalt'[^<]+</\k'gruppe1'>)").item(0).value #benannte Gruppen mit ''
Die MSDN Dokumentation enthält hierzu einige Beispiele, die aber leider mit Schreibfehlern versehen sind. Das macht das ohnehin kaum verständlich lesbare Thema noch schwieriger. Hier sind einige Beispiele für die Benutzung in der Powershell:
[regex]::matches("901-333-","^\d{3}").item(0).value # es wird 901 anstatt 901- ausgegeben
[regex]::matches("901-333-","\A\d{3}").item(0).value # es wird 901 anstatt 901- ausgegeen
[regex]::matches("Wir sind die Moorsoldaten und ...","(\w)\1").item(0).value # findet doppelten Buchstaben oo
[regex]::matches("1234 3412","\b(\d{2})(\d{2}) \2\1").item(0).value #Backreferenzen auf zwei Gruppen
[regex]::matches("<tag> text </tag>","<([a-z]+)>[a-z ]+").item(0).value #Backreferenz auf den Tagnamen
[regex]::matches("<tag> text </tag>","(?i)<([a-z]+)>[a-z ]+").item(0).value #s.o., ignore case option
[regex]::matches("<tag> text </tag>","(?i)<.*>").item(0).value #greedy *, geht bis zum letzten >
[regex]::matches("<tag> text </tag>","(?i)<.*?>").item(0).value #lazy ?, geht bis zum ersten >
[regex]::matches("deep","(?<doppel>\w)\k<doppel>").item(0).value #benannte Gruppen mit <>
[regex]::matches("<tag> text </tag>","<(?'gruppe1'\w+)>(?'inhalt'[^<]+</\k'gruppe1'>)").item(0).value #benannte Gruppen mit ''
Donnerstag, Januar 14, 2010
Tools, Werkzeuge, SDK
diskpart.exe
cmd Tool für Partitionrn, Volumes, Disks, VDisks
powershell.exe
Vereinigt Skripting, Systemverwaltung, .Net, . Com, WMI, C#,... =Windows Shell
powershell_ise.exe
powershell Editor
wevtutil.exe
Tool für die Eventlog-Analyse
wmic.exe
cmd tool zur Systemsteuerung und Abfrage mit WMI
cmd Tool für Partitionrn, Volumes, Disks, VDisks
powershell.exe
Vereinigt Skripting, Systemverwaltung, .Net, . Com, WMI, C#,... =Windows Shell
powershell_ise.exe
powershell Editor
wevtutil.exe
Tool für die Eventlog-Analyse
wmic.exe
cmd tool zur Systemsteuerung und Abfrage mit WMI
Mittwoch, Januar 13, 2010
Dateiversion mit wmic ermitteln
Das Fehlerprotololl zeigt einen Anwendungsfehler der dwm.exe im Modul msvcrt.dll an
MSVCRT.dll ist offensichtlich die c++ Runtime, die von mehreren Programmen installiert wurde.
Die diversen Versionen und Verbreiter zeigt folgende Anweisung:
WMIC DATAFILE WHERE "filename='msvcrt' and extension='dll'" get version,name
MSVCRT.dll ist offensichtlich die c++ Runtime, die von mehreren Programmen installiert wurde.
Die diversen Versionen und Verbreiter zeigt folgende Anweisung:
WMIC DATAFILE WHERE "filename='msvcrt' and extension='dll'" get version,name
Services mit \\cmd\wmic abfragen
Ein starkes Tool ist die WMI Abfrage in der CMD Shell.
z.B. kann die Liste der Servicenamen und deren Displaynamen ausgegeben werden:
wmic service where (displayname like "%") get name, displayname
z.B. kann die Liste der Servicenamen und deren Displaynamen ausgegeben werden:
wmic service where (displayname like "%") get name, displayname
Abonnieren
Posts (Atom)