Okay, folgendes Ziel:
Wir wollen mit einem Batch Script aus einer Textdatei eine Textzeile löschen oder filtern (alles andere löschen).

Praktisches Beispiel:
Das im letzten Post beschriebene Thunderbird Problem soll auf allen Computern eines Netzwerks behoben werden. Die Zeile muss also aus der Einstellungsdatei jedes Nutzers gelöscht werden. Also ein Anmeldescript.

Der Vorgang besteht aus 2 Schritten:
1. Die gewünschte Zeile finden.
2. Diese Zeile oder alle anderen Zeilen löschen.

Text finden:

findstr /b /v /i /c:user_pref(\"print.print_printer\" c:\pfad\zur\prefs.js

Damit wird die komplette Zeile mit dem Anfang

user_pref("print.print_printer"

gefunden.

Zeile löschen (mit Loggingfunktion):

@echo off
title Reset Thunderbird Default Printer
set logdir=\\server\pfad\
cd /d "%appdata%\Thunderbird\Profiles\"
cd *.default
if exist prefs_backup.js del prefs_backup.js
if errorlevel 1 goto fehler
ping 127.0.0.1 >> nul
ren prefs.js prefs_backup.js
if errorlevel 1 goto fehler
findstr /b /v /i /c:user_pref(\"print.print_printer\" prefs_backup.js > prefs.js
if errorlevel 1 goto fehler
echo %date% %time% %computername% - Reset erfolgreich >> %logdir%\log.txt
goto end
:fehler
echo %date% %time% %computername% - Reset fehlerhaft >> %logdir%\log.txt
:end

Zeile löschen (pure):

@echo off
cd /d "%appdata%\Thunderbird\Profiles\"
cd *.default
if exist prefs_backup.js del prefs_backup.js
ren prefs.js prefs_backup.js
findstr /b /v /i /c:user_pref(\"print.print_printer\" prefs_backup.js > prefs.js

Und falls man einen Überblick über alle verwendeten Thunderbird drucken haben möchte:

Zeile filtern:

@echo off
cd /d "%appdata%\Thunderbird\Profiles\"
cd *.default
findstr /b /l /i /c:user_pref(\"print.print_printer\" prefs.js >> \\server\pfad\all_prefs.txt


Die Funktionalität des filterns beschränkt sich tatsäch nur darauf, diese 1 Zeile aller Benutzer, auf die das Anmeldescript angewendet wird, zusammenzutragen. Das ließe sich natürlich mit entsprachenden echo Befehlen noch detaillierter loggen.

Die genauere Erklärung der

findstr

Parameter erhaltet ihr in der cmd mit

findstr /?

, ist eigentlich alles sehr eindeutig.

In so ziemlich jedem Unternehmen wird

net use

verwendet um Netzlaufwerke zu verbinden. Mit

net use /delete

lassen sich Netzlaufwerke trennen. Fast immer werden diese Befehle im Hintergrund ausgeführt, ohne, dass der Benutzer das mitkriegen soll.
Schlecht wäre es also, wenn das Script hängen bleibt und auf Benutzereingaben wartet.

Wie zum Beispiel hier:

Die Lösung:
Es gibt einen undokumentierten Parameter, der das Löschen erzwingt.

net use x: /delete /yes

via

Mehrere Office Versionen parallel zu installieren ist grundsätzlich kein Problem. Sagt man.
Es gibt allerdings einige Punkte, die man beachten sollte. Ich möchte kurz einige vorstellen, die mir in den letzten Tagen aufgefallen sind.

1. die richtige Reihenfolge:
Bei der Installation von mehreren Office Paketen beginnt man mit der Installation der ältesten Version.
Ist die neueste Version Office 2007/2010 dann muss dort natürlich „Alle früheren Versionen beibehalten“ / „Keep all previous version“ ausgewählt sein.

2. Programmstart:
Nach jeder Installation eines Office Pakets würde ich auch jede Komponente (Word, PowerPoint, Excel, usw.) einmal starten, damit sich alle Programme vor der Installation des nächsten Pakets konfigurieren und einrichten können.

3. richtiger Ordner:
Ich empfehle es, alle Office Versionen in einen eigenen, seperaten Ordner zu installieren um Konflikte zu vermeiden.

4. Word Konfiguration deaktivieren:
Wenn verschiedene Versionen von Word installiert sind kann es beim Start von Word passieren, dass jedes mal erst eine Konfiguration erfolgt. Das passiert dann beim abwechselnden Benutzen der Versionen, also 2003 und 2010 immer abwechselnd z.B.
Öffnet regedit und sucht folgenden Schlüssel:

HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options

Erstellt einen neuen DWORD Wert, nennt ihn „NoReReg“ und gibt ihn den Wert 1.
Word sollte die Autokonfiguration jetzt sein lassen.

Quelle

Meine letzte Festplattenanalyse überraschte mich mit mehreren Gigabyte, die in mehreren $Recycle.Bin Verzeichnissen lagen. Und das obwohl ich vorher den Papierkorb geleert hatte. Seltsam? Allerdings.

Windows 7 scheint anfällig dafür zu sein, den $Recycle.Bin Papierkorb nicht vollständig zu löschen. Einen solchen Ordner gibt es mindestens 1 Mal in der Root jeder Partition (also C:\$Recycle.Bin usw.). Er ist versteckt und ein Systemordner, ihr müsst also in eurem Explorer/Total Commander/whatever die Ansicht dieser Dateien erst aktivieren.

Also, öffnet die Kommandozeile als Administrator (Windows 7: unbedingt Rechtsklick auf die cmd.exe und „Als Administrator ausführen“) und gebt folgenden Befehl für jeden $Recycle.Bin Ordner ein, den ihr habt (also für jede Partition):

rd /s /q C:\$Recycle.Bin

rd steht für

remove dir

, /s löscht den Ordner mit allen Inhalten, /q führt den Löschbefehl ohne Nachfragen aus.
Führt den Befehl am besten 2 Mal hintereinander aus, da bei der ersten Ausführung noch Überreste verbleiben können.

Tipp: durchsucht eure Partitionen nach vorhandenen $Recycle.Bin Ordnern. Seltsamerweise fand ich in meinem Systemlaufwerk mehrere dieser Ordner, nicht nur in der Root. Achtet dabei darauf, dass euer Programm auch (versteckte) Systemdateien durchsucht.
Wenn auch in diesen Ordnern Daten verbleiben, löscht auch diese.

Cheffe letztens zu mir: „Ich brauche mal eine Übersicht aller unserer Gruppen jeweils mit allen Mitgliedern.“
Bei fast 300 Rechtegruppen macht man sowas lieber nicht per Hand. CSVDE, dachte ich also. Das Tool ist aber unhandlicher als nasse Seife im Knast also habe ich nach einigen wenigen Versuchen nach Alternativen gesucht. Und siehe da, in Zeiten von Google, wer sucht der findet:

José AD-Dokumentation 3.0 ermöglicht scriptgesteuert oder mit einer einfachen und übersichtlichen GUI das Erstellen von brauchbaren HTML Reports einer Windows Domäne.
Die Struktur der Domäne wird genauso erfasst wie die Objekte mit ihren Eigenschaften.
Mit simplen Klicks und einigen wenigen Eingaben wie eine spezielle Unter-OU, Dateiname und Titel ist ein HTML Report fertig.

Wie gesagt lässt sich das Tool auch super scriptgesteuert bedienen, regelmäßige Reports oder vordefinierte Reporteinstellungen sind also kein Problem. An sich ist José AD-Dokumentation auch „nur“ ein 2500 Zeilen langes .vbs Script mit einer draufgesetzten grafischen Oberfläche. Diese auszuführende Datei JoseExec.vbs lässt sich also auch mit etlichen Parametern statt der GUI steuern. Alle Möglichkeiten und Referenzen sind in einer Dokumentation festgehalten, die beim Download mit dabei ist.
Beispiel:

cscript JoseExec.vbs /d:"!Domaenen-Info.txt" /r:"ADInfo.htm" /t:"Report - AD Übersicht" /f:"OU=usrHUEinrIQB,OU=usrHUEinr,DC=user,DC=hu-berlin,DC=de"

In der ebenfalls mitglieferten „Standard-Reports.bat“ befinden sich einige Beispielaufrufe, die sich ebenfalls verwenden lassen.

Alle erstellten Reports lassen sich mit CSS beliebig gestalten (praktisch Zen Garden für Windows Nerds :D), vordefinierte CSS Dateien befinden sich ebenfalls im Download.

Leider lassen sich nicht alle Eigenschaften raussuchen (zumindest nicht via GUI). Zum Beispiel ist das „Anmerkungen“ Feld im Karteireiter „Rufnummern“ von Usern unerreichbar. Leider nutzen wir dieses Feld für einige special Features, da muss ich mir also andere Methoden suchen. Auch das Setzen von Werten wäre cool gewesen, aber es heißt ja nicht umsonst „Dokumentation“.

Fazit: Ein TOP Tool für Dokumentationen und Übersichten im AD.

Wir sind mittlerweile richtig verwöhnt. Millionen Pixel bilden unser Monitorbild, Millionen Farben machen es ansehnlich.
Wie wärs wohl, wenn Windows 7 wie damals nur 256 Farben zur Verfügung hätte. Hat sich das jemand mal angeguckt?

Hier 😀

Ich muss sagen, Office 2007 versucht noch einigermaßen brauchbar auszusehen. Aber ein Traum ist das wohl eher nicht. Vor allem selektierte Buttons sind gemein, Türkis-Netzhaut-Peitsche deluxe.
Es sei also nochmal gesagt: ich liebe den heutigen Stand der Technik 😀

Letztens brauchte ich 1, 2 Programme „always on top“, wie man es z.B. vom Taskmanager oder Mediaplayern kennt. Ohne Weiteres nicht möglich, es gibt aber Tools, die das bewerkstelligen können. Ein bekanntes Beispiel wäre TweakUI, ich möchte heute aber 2 andere Tools vorstellen: Power Menu und Always On Top

Power Menu ist ein nicht mal 200KB großes Programm, dass nach der Installation folgende Fenster-Optionen dem Kontextmenü hinzufügt: Prozess-Priorität, Transparenz, Always On Top und Minimize To Tray.

Power Menu richtet sich im Autostart ein und steht dadurch bei jedem Windows Start zur Verfügung. Der RAM Verbrauch von nicht mal 2MB fällt ganz sicher weder beim Boot noch dem laufenden System auf. Alternativ kann man Power Menu auch nur dann manuell starten, wenn man eines dieser Features braucht. Power Menu hat noch eine Version ohne Installation, also portable, getestet hab ich die aber noch nicht.
Leider: Zu Hause (x64) funktioniert das Setzen der Transparenz nicht ganz fehlerfrei, auf Arbeit nutze ich das Tool ebenfalls (x86) und alles funktioniert prima. Leider stehen die Features auch nicht bei jedem Fenster zur Verfügung. Einige anscheinend spezielle Programme blocken wohl dieses Kontextmenü-Hijacking.
Trotzdem: Wer von den Funktionen profitieren kann macht mit Power Menu nichts falsch.

AlwaysOnTop bietet nur die Funktion, ein Programm immer im Vordergrund zu halten. Dafür besteht das Programm aber nur aus 1 .exe Datei, muss nicht installiert werden und ist damit superschnell und portable einsetzbar.
Das Tool ist unsichtbar, ein Icon in der Infoleiste ist das einzige Lebenszeichen von Always On Top.
Nun könnt ihr jedes Fenster, das gerade selektiert (im Fokus) ist, mit der Tastenkombination STRG + Leertaste in den Vordergrund pinnen.