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)