Alte Anwendungen unter Windows 7 zum Laufen bekommen
Sie haben eine Anwendung die unter Windows 7 nicht laufen will? In den meisten Fällen helfen ja schon die Bordmittel weiter. Darüber hinaus hilft das ACT (Application Compatibility Toolkit) von Microsoft weiter. Immer noch nicht? Dann gibt’s nur noch eine Geheimwaffe! Wenn Ihnen aber bereits ACT Schwierigkeiten bereitet vergessen Sie es, da das Tool mit ACT zusammen arbeitet. Das Spielzeug nennt sich LUA Buglight und ist im Internet nur schwer zu finden, daher hier gleich der Download dazu:
Starten Sie Ihr störrisches Programm von LUA Buglight aus. Dabei werden alle problematischen Zugriffe auf Dateisystem, Registry und ein paar andere Objekte mitgeschrieben. LUA Buglight sagt Ihnen nun welche Shims bzw. Compatibility Fixes benötigt werden um das Programm zum Laufen zu bekommen. Im schlimmsten Fall gibt es noch kein passendes Compatibility Fix. Dann müssen Sie eben selbst eines basteln. Wenn laut LUA Buglight Ihr Programm namens C:\Programme\AltesMistding\Mistding.exe versucht auf C:\Programme\AltesMistding\Mistding.config schreibend zuzugreifen (auf den Programmeordner gibt es nur noch Lesen Berechtigungen für normal sterbliche Benutzer) gehen Sie wie folgt vor:
1.) Kopieren Sie C:\Programme\AltesMistding\Mistding.config nach %APPDATA%\AltesMistding\Mistding.config. Ggf. müssen Sie erst die Ordnerstruktur in Ihrem Benutzerprofil unter Appdata (verstecktes Systemverzeichnis – erst Explorer Bescheid sagen!) anlegen.
2.) Legen Sie im Compatibility Administrator aus dem ACT eine neue leere Datenbank an und dann per Rechtsklick auf Create New\Application Fix erstellen Sie Ihren eigenen Compatibility Fix.
3.) Füllen Sie die allgemeinen Felder aus wie Sie mögen. Unter Program file location tragen Sie aber Ihre bockige Anwendung (z. B.: C:\Programme\AltesMistding\Mistding.exe) ein und klicken Sie 2 x auf Weiter.
4.) Wählen Sie nun min. bestehendes Compatibility Fix aus (z.B. CorrectFilePaths) und klicken Sie auf Parameters.
5.) Unter Command line tragen Sie nun den von der Anwendung gewünschten Pfad ein und danach die Umleitung durch Seminkolon getrennt. Beispielsweise so:
%PROGRAMFILES%\AltesMistding\Mistding.config;%APPDATA%\AltesMistding\Mistding.config
Das sollte wie hier gezeigt mit Variablen eingetragen werden, damit es auch problemlos auf anderen Computern und mit anderen Benutzernamen funktioniert. Mit Platzhaltern wie * dürfen Sie dabei nicht arbeiten. Sie können aber den kompletten Ordner mit dem gesamten Inhalt kopieren und umleiten.
Ähnlich verfahren Sie mit Registry-Einträgen (VirtualRegistry unter Compatibiliy Fix). Diese sollten Sie nach HKCU\Software\Classes\VirtualStore umleiten.
Haben Sie alle Beanstandungen von LUA Buglight verarbeitet können Sie den Fix einbauen. Dazu müssen Sie Ihre Datenbank aus dem ACT erst einmal als sdb Datei abspeichern. Über den Punkt Install können Sie Ihren Fix dann auf dem Computer anwenden. Man will natürlich nicht auf jedem Rechner mit der Anwendung das ACT installieren. Daher reicht es die Datenbankdatei mit dem Befehl sdbinst \\Pfad\und\NamezurSDBDatei.sdb aufzurufen. Mit dem Schalter -u kann Ihr Compatibility Fix auch wieder entfernt werden.
Ubuntu Homeverzeichnis nachträglich verschlüsseln
Während der Installation wird man gefragt, ob man das Home-Verzeichnis verschlüsseln lassen möchte. Verneint man dies, taucht die Option später nicht mehr auf. Mit:
sudo apt-get install ecryptfs-utils
kann man sich die Option im Nachhinein installieren und die Verzeichnisse verschlüsseln lassen.
Hardlinks und andere Verknüpfungstypen per Rechtsklick im Explorer verwalten
Bei NTFS gibt es Hardlinks, Junctions, Mountpoints und Sympolic Links (normale Verknüpfungen). Diese können auf der Kommandozeile mit diskpart oder ln verwaltet werden. Wenn Sie das auch grafisch gerne im Explorer machen möchten können Sie sich die Link Shell Extension installieren. Einfach Rechtsklick z. B. auf einen Ordner, Link als Quelle festlegen und dann an einer beliebigen Stelle (Hardlinks funktionieren nur innerhalb einer Partition) erneut einen Rechtsklick und über Einfügen als auswählen, ob es ein Hardlink, eine Verknüpfung oder was auch immer werden soll. Eine detaillierte Anleitung finden Sie auch auf der oben bereits verlinkten Website.
Shellscripte und Perl auf dem KDE 4 Desktop ausführen lassen
Damit Shellscripte (bei Bash z.B. Dateien mit der Endung .sh) beim Anklicken auf dem Desktop nicht zum Bearbeiten geöffnet werden, sondern ablaufen müssen Sie das Programm systemsettings (klick auf Systemeinstellungen) aufrufen. Dort findet man gleich in der ersten Reihe den Eintrag Dateizuordnungen. Unter application finden Sie den Eintrag x-shellscript. Bei Rangfolge der zugeordneten Anwendungsprogramme klicken Sie auf Hinzufügen und geben Sie /bin/bash in die weiße Zeile ein. Bestätigen Sie mit OK. Mit dem Nach oben Knopf sorgen Sie nun noch dafür, dass das öffnen mit der Bash bevorzugt geschieht.
Genauso gut können Sie das natürlich auch mit Perl machen. Nur statt x-shellscript wählen Sie den Knoten x-perl aus und statt /bin/bash tragen Sie /usr/bin/perl ein.
Anwendungsinstallation unter Windows überwachen
TrackWinstall kann eine Anwendungsinstallation unter Windows (ab W2k -> Windows 2000,XP,2003,Vista,7,2008) überwachen. Jegliche Änderungen die während der Installation am Dateisystem oder der Registry vorgenommen werden schreibt TrackWinstall in eine Protokolldatei.
Deutsche Suchbegriffe für Windows 7 Indexdienst
Bei Windows Vista war es noch egal ob man Abfragebegriffe in Deutsch oder Englisch eingibt. Bei Windows 7 müssen Sie auf die jeweilige Sprachversion achten!
Die Suchsyntax in Englisch finden Sie hier erklärt. Da dies leider nicht auf Deutsch funktioniert (z.B. wenn Sie filename:*.exe eintippen findet er interessanter Weise nichts) hier ein paar wichtige deutsche Übersetzungen:
dateiname:*.txt größe:>2MB inhalt:Passage Sucht nach allen Dateien im aktuellen Verzeichnis die größer als 2 MB sind und die Dateinamenerweiterung txt haben. Im Inhalt der Textdatei muss das Wort Passage vorkommen. Ob Sie größe oder grösse schreiben spielt dabei keine Rolle.
art:email suchbegriff Sucht den Suchbegriff nur in E-Mails. Des Weiteren können Sie auch mit den Schlüsselworten an:, von: und betreff: Einschränkungen vornehmen.
art:email ordner:gesendete objekte Sucht nur im Ordner gesendete Objekte. Genausogut funktionieren auch alle anderen wie z.B. posteingang usw. Mit Gelöschte Objekte hatte ich aber leider noch kein Glück. Wer es herausgefunden hat bzw. weiß bitte einen Kommentar ergänzen – vielen Dank.
Was ist beim IIS 7.5 unter Server 2008 R2 die Application Pool Identität?
Unter IIS 7 bei Windows Server 2008 ist die Standardidentität unter welcher der Workerprocess (w3wp.exe) ausgeführt wird der Netzwerkdienst. Die Identität des Workerprocess wird am Applicationpool bzw. zu Deutsch Anwendungspool eingestellt. Bei IIS 7.5 unter Windows Server 2008 R2 ist dies standardmäßig die Identität ApplicationPoolIdentity.
Diese Einstellung ist noch sicherer als Netzwerkdienst, aber auch etwas problematischer. Denn wie gebe ich dieser Identität Berechtigungen auf die Dateien? Diese Identitäten werden nämlich erst beim starten des jeweiligen Applicationpools von WAS erzeugt und dies wiederum passiert nur, wenn ein Benutzer auf die Website/Anwendung zugreift. Zudem werden die Identitäten immer wieder neu generiert und tauchen weder im AD noch in der lokalen Benutzerverwaltung auf.
Um der ApplicationPoolIdentity Berechtigungen am Dateisystem zu geben müssen Sie zunächst wie gewohnt vorgehen, wenn Sie dann den Benutzer/Gruppe auswählen möchten müssen Sie unter Pfad den lokalen Computer angeben (nicht AD) und dann „IIS APPPOOL\DefaultAppPool“ eintippen, da die Benutzer in der grafischen Auswahl nicht angezeigt werden. Je nachdem um welchen ApplicationPool es sich handelt müssen Sie natürlich „DefaultAppPool“ durch den Namen Ihrer selbst erstellen Applicationpools austauschen.
Website von IIS 7 auf UNC Freigabe Share bereitstellen
So lange man auf der lokalen Festplatte mit IIS 7 arbeitet ist das mit dem Zugriff ja alles noch relativ unkompliziert. Beim IIS 6 stellt eine Freigabe im Netzwerk auch kein Problem dar um als Speicherort für Websites zu dienen. IIS 7 bekommt das aber nur mit einigen Verrenkungen auf die Reihe. Wie Sie IIS 7 dazu überreden können erfahren Sie hier.
Unter dem Punkt Nachtrag weiter unten finden Sie noch eine Methode mit der es bei Windows Server 2008 R2 möglich ist anonyme und authentifizierte Freigabe in einem Share und Anwendungspool bereit zu stellen.
Anonymer Zugriff auf eine Website auf einem Fileserver mit IIS 7
Erstellen Sie im AD einen Benutzer für den Zugriff auf die Freigabe. Beachten Sie dabei bitte, dass das Kennwort nicht abläuft und der Benutzer es nicht beim ersten Anmelden ändern muss, ansonsten klappt es nur einen gewissen Zeitraum bzw. gar nicht.
Diesem AD-Benutzer geben Sie die NFTS- und Freigabeberechtigung Lesen. Wenn Sie es benötigen auch mehr, aber der Sicherheit zuliebe würde ich anonymen Benutzern nie mehr als Lesen einräumen. Auf keinen Fall vergessen dürfen Sie dem Verwalter der Website Vollzugriff (NTFS+Share, wie beim User auch) einzuräumen. In meinem Fall der Domänenadmin. Wenn Sie das vergessen, können Sie keine Einstellungen an der Website vornehmen, da wir nur lesenden Zugriff auf die web.config Datei hätten, welche die Einstellungen der Website enthält.
Klicken Sie mit der rechten Maustaste in der Webserververwaltung im linken Abschnitt auf den Knoten Sites und dann auf „Website hinzufügen“. Geben Sie dem Kind einen Namen und weisen Sie den UNC-Pfad (\\Server\Freigabe – die Sie zuvor erstellt haben) zum Dateiserver an. Klicken Sie auf „Verbinden als“ und geben Sie Ihren ebenfalls zuvor erstellten AD Benutzer und sein Kennwort (2x) an. Bindungen nach Ihren Vorstellungen einstellen und schon sollte der anonyme Zugriff klappen (es sollten natürlich korrekte html Dokumente im Share liegen, die abgerufen werden können).
Die Einstellungen des Application-Pools (ob integriert, oder klassisch – Netzwerkdienst oder ApplicationPoolIdentity spielt keine Rolle). Wenn es jetzt immer noch nicht klappt, haben Sie schon einmal Ihre Firewalleinstellungen gecheckt? Sind alle Module und Handler in der Website standardmäßig eingestellt?
Authentifizierter Zugriff auf eine Website auf einem Fileserver mit IIS 7
Erstellen Sie wie oben im blauen Abschnitt beschrieben Ihre Website. Der Unterschied besteht darin nun keinen Benutzer anzugeben, sondern die Pass-Through-Authentifizierung zu nutzen.
Aktivieren Sie die Standardauthentifizierung, installieren Sie ggf. das Modul über Rollendienste hinzufügen im Servermanager nach. Windows oder Digestauthentifizierung funktionieren nicht!!! Wenn Sie die Standardauthentifizierung sicher machen möchten, weil Kennwörter im Klartext übertragen werden müssen Sie SSL einsetzen. Aber das ist eigentlich nicht wirklich tragisch, wenn man überlegt, dass bei den anderen Authentifizierungsvarianten ja auch nur die Anmeldung verschlüsselt wird und nachfolgend alle Daten im Klartext über die Leitung spazieren!
Nun brauchen wir aber auch noch einen AD-Benutzer und einen freigegebenen Ordner auf einem Dateiserver. Den Benutzer weisen wir nun dem Anwendungspool der mit unserer eben erstellten Website verknüpft ist zu indem wir ihn unter Anwendungspools mit der linken Maustaste anklicken und dann auf der rechten Seite auf „erweiterte Einstellungen“ klicken. Dort sehen wir eine Zeile die mit Identität beginnt. Je nach Version steht dort standardmäßig Netzwerkdienst oder ApplicationpoolIdentity. Klicken Sie rechts den Eintrag an und es tauchen 3 Punkte auf. Da auch noch einmal drauf klicken und den unteren Eintrag Benutzerdefiniertes Konto anklicken und dort unseren AD-User mit Kennwort eintragen.
Auf dem Fileserver geben wir dem Verwalter der Website (meist der Admin) Vollzugriff und unserem selbst gebastelten AD-User Ändern Berechtigung (nur wenn unbedingt notwendig Vollzugriff) sowohl in den Freigabeberechtigungen als auch unter dem Reiter Sicherheit. Auf die im Verzeichnis enthaltene web.config bekommt wieder nur der Websiteverwalter (meist der Admin) Vollzugriff und unser AD-User bekommt Lesen. Schalten Sie ggf. die Vererbung der Berechtigungen bei NTFS aus. Alle anderen Dateien und Verzeichnisse geben Sie nur den Benutzern die gewünschten Berechtigungen die auch entsprechend darauf zugreifen sollen.
Interessanter Weise müssen Sie beim Zugriff unbedingt „http://“ vorne dran schreiben. Vergisst man das, klappt der Zugriff kurioser Weise nicht!
Nachtrag:
Auf aktuellen Windows Server 2008 R2 Systemen ist es mir geglückt, einen UNC-Share mit kombiniertem anonymen und authentifiziertem Zugriff (Standard-Authentifizierung) bereit zu stellen.
Erstellen Sie im AD einen Benutzer für den Zugriff von IIS auf die Freigabe. Beachten Sie dabei bitte, dass das Kennwort nicht abläuft und der Benutzer es nicht beim ersten Anmelden ändern muss, ansonsten klappt es nur einen gewissen Zeitraum bzw. gar nicht.
Diesem AD-Benutzer geben Sie die NFTS-Berechtigung „Ändern“ auf den freizugebenden Ordner. Benutzer bekommen „Lesen“ und Administratoren natürlich „Vollzugriff“. Bei der Freigabeberechtigung selbst tragen Sie der Einfachheit halber Jeder=“Ändern“ ein (dies tut der Sicherheit, dank der Kombination mit NTFS keinen Abbruch). Dies sorgt bei den darin enthaltenen Unterordnern und Dateien für eine gute Ausgangsbasis. Alle nun enthaltenen Dateien und Unterordner stehen somit zunächst einmal jedem Besucher anonym zur Verfügung.
An der Datei web.config müssen Sie die Berechtigungen für Ihren IIS-Benutzer auf „Ändern“ aufbohren, damit Ihr Webserver die Einstellungen bearbeiten kann, falls dies nicht automatisch bei Anlegen der Website/Anwendung geschieht.
Wenn Sie paranoid veranlagt sind können Sie auch noch die Berechtigungsvererbung abschalten und der Gruppe der Benutzer den Zugriff komplett entziehen und entsprechend die von Ihnen gewünschten Benutzer/Gruppen mit Ihren speziellen Berechtigungen versehen.
Dateien/Ordner die nur bestimmten Benutzern nach einer Authentifizierung zur Verfügung stehen sollen schalten Sie die Vererbung aus und entziehen der Gruppe der Benutzer den Zugriff komplett. Dafür tragen Sie die Benutzer und Gruppen ein, die dann den Zugriff darauf erhalten sollen.
So, nun brauchen wir natürlich noch die Einstellungen am IIS. Legen Sie eine Website, oder eine Anwendung an, je nachdem ob Sie es für eine komplette Website einsetzen möchten oder nur für einen Teilbereich. Lassen Sie dabei einen neuen Anwendungspool erstellen…um den kümmern wir uns gleich. Beim physikalischen Pfad tragen Sie Ihren UNC-Pfad ein (Beispiel: \\Servername\Freigabename). Unter „Verbinden als…“ lassen Sie bitte die Standardeinstellung „Anwendungsbenutzer“ stehen. Die Bindungseinstellungen können Sie nach Ihren Wünschen wie gewohnt festlegen.
Nun wechseln Sie zu den Anwendungspools und wählen Sie Ihren eben mit der Website erstellten aus. Klicken Sie im rechten Bereich auf „Erweiterte Einstellungen“. Auf dem sich öffnenden Popup unter „Prozessmodell/Identität“ tragen Sie Ihren Benutzer aus dem AD ein (Beispiel: Domänenname\IISBenutzer).
Jetzt zurück zu Ihrer Website. Unter „IIS/Authentifizierung“ bitte nur „Anonyme Authentifizierung“ und „Standardauthentifizierung“ aktivieren. Wenn die Standardauthentifizierung nicht vorhanden ist müssen Sie im Servermanager erst das Modul nachinstallieren. Bei der Standardauthentifizierung können Sie noch Ihre Domäne als Standarddomäne und Bereich vorgeben. Die Anonyme Authentifizierung benutzt standardmäßig die Identität IUSR *. Alle anderen möglicher Weise angebotenen Authentifizierungsvarianten müssen dabei deaktiviert sein!!! Da Sie für die Authentifizierung Standard einsetzen müssen, sollten Sie sich darüber im Klaren sein, dass die Anmeldeinformationen im Klartext übertragen werden, wenn Sie den Zugriff nicht mit SSL absichern. Bei den anderen verschlüsselten Authentifizierungsverfahren frage ich mich aber auch warum ich die Authentifizierung verschlüssele und die nachfolgend übertragenen Daten im Klartext über die Leitung spazieren. Mit SSL stellt die Klartextvariante also kein Sicherheitsproblem dar, verglichen mit sog. sichern Authentifizierungsverfahren ohne SSL!
* Mit dieser Einstellung hätten dann aber auch anonyme Benutzer potentiell Schreibzugriff auf die web.config. Dies ist wohl weniger wünschenswert. Für die Sicherheit empfehle ich daher im AD noch einen weiteren Benutzer für den anonymen Zugriff zu erstellen. Dann geht man in die Authentifizierungseinstellungen unter IIS und wählt die „anonyme Authentifizierung“ aus und klickt rechts auf „Bearbeiten“. Hier gibt man nun unter „Bestimmter Benutzer“ statt IUSR den eben erstellten Benutzer für anonymen Zugriff aus dem AD an (Beispiel: Domänenname\IISAnonymous“). Die ApplicationPool ID würde ich hier nicht einsetzen, um den Zugriff nun mit ACLs beim NTFS genau steuer zu können.
Wenn jemand diese Anleitung unter Server 2008 ausprobiert hat würde ich mich über einen Kommentar, ob es bei W2k8 auch funktioniert sehr freuen. 🙂
Bibliotheken in Windows 7 abschalten und wiederherstellen
Bibliotheken in Windows 7 sind ein Graus. Ab und zu gehen die auch einmal kaputt mit einer Meldung wie „Pictures.library-ms kann nicht länger ausgeführt werden.“. Da hilft nur ein Rechtsklick auf die Bibliothek und auswählen von löschen (keine Panik – damit löschen Sie nicht Ihre Dateien). Dann einen Rechtsklick auf Bibliotheken im Explorer und wählen Sie „Standardbibliotheken wiederherstellen“. Danach können Sie Ihre Ordner wieder der Bibliothek hinzufügen. Ich persönlich schlate Sie lieber gleich komplett ab. Wie das geht lesen Sie ab hier:
Hier ein REG-Script zum Abschalten der Bibliotheken (Libraries) im Explorer:
Windows Registry Editor Version 5.00
[-HKEY_CLASSES_ROOT\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{031E4825-7B94-4dc3-B131-E946B44C8DD5}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{031E4825-7B94-4dc3-B131-E946B44C8DD5}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{2112AB0A-C86A-4ffe-A368-0DE96E47012E}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{491E922F-5643-4af4-A7EB-4E7A138D8174}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7b0db17d-9cd2-4a93-9733-46cc89022e7c}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{A302545D-DEFF-464b-ABE8-61C8648D939B}]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{A990AE9F-A03B-4e80-94BC-9912D7504104}]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]“{031E4825-7B94-4dc3-B131-E946B44C8DD5}”=-
Das Kursiv geschriebene einfach per Cut&Paste nach Notepad übernehmen und unter dem Dateinamen aus.reg abspeichern. Ein Doppelklick auf die Datei, dumme Fragen mit Ja beantworten, abmelden, anmelden und die Bibliotheken sind weg. Beim Einspielen von Updates kann es sein, dass diese Einträge wiederhergestellt werden. Dann einfach erneut die Datei ausführen.
Jetzt will ich die aber gerne wieder haben…übernehmen Sie den unteren kursiven Block in Notepad und speichern Sie es als an.reg ab.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]
„{031E4825-7B94-4dc3-B131-E946B44C8DD5}“=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{031E4825-7B94-4dc3-B131-E946B44C8DD5}]
@=“UsersLibraries“
„Removal Message“=“@shell32.dll,-9047“
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{2112AB0A-C86A-4ffe-A368-0DE96E47012E}]
„Name“=“MusicLibrary“
„Category“=dword:00000004
„ParsingName“=“::{031E4825-7B94-4dc3-B131-E946B44C8DD5}\\{2112AB0A-C86A-4ffe-A368-0DE96E47012E}“
„Stream“=dword:00000001
„StreamResource“=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,\
2d,00,32,00,00,00
„StreamResourceType“=“LIBRARY“
„RelativePath“=“Music.library-ms“
„ParentFolder“=“{1B3EA5DC-B587-4786-B4EF-BD1DC332AEAE}“
„Icon“=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,\
6d,00,61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
00,31,00,30,00,30,00,34,00,00,00
„InfoTip“=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,\
2d,00,31,00,32,00,36,00,38,00,39,00,00,00
„LocalizedName“=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\
6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\
00,5c,00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\
2c,00,2d,00,33,00,34,00,35,00,38,00,34,00,00,00
„PreCreate“=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{2112AB0A-C86A-4ffe-A368-0DE96E47012E}\PropertyBag]
„FoldersDependentOn“=“{4BD8D571-6D19-48D3-BE97-422220080E43};{3214FAB5-9757-4298-BB61-92A9DEAA44FF}“
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{491E922F-5643-4af4-A7EB-4E7A138D8174}]
„Name“=“VideosLibrary“
„Category“=dword:00000004
„ParsingName“=“::{031E4825-7B94-4dc3-B131-E946B44C8DD5}\\{491E922F-5643-4af4-A7EB-4E7A138D8174}“
„Stream“=dword:00000001
„StreamResource“=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,\
2d,00,34,00,00,00
„StreamResourceType“=“LIBRARY“
„RelativePath“=“Videos.library-ms“
„ParentFolder“=“{1B3EA5DC-B587-4786-B4EF-BD1DC332AEAE}“
„Icon“=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,\
6d,00,61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
00,31,00,30,00,30,00,35,00,00,00
„InfoTip“=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,\
2d,00,31,00,32,00,36,00,39,00,30,00,00,00
„LocalizedName“=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\
6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\
00,5c,00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\
2c,00,2d,00,33,00,34,00,36,00,32,00,30,00,00,00
„PreCreate“=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{491E922F-5643-4af4-A7EB-4E7A138D8174}\PropertyBag]
„FoldersDependentOn“=“{18989B1D-99B5-455B-841C-AB7C74E4DDFC};{2400183A-6185-49FB-A2D8-4A392A602BA3}“
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7b0db17d-9cd2-4a93-9733-46cc89022e7c}]
„Name“=“DocumentsLibrary“
„Category“=dword:00000004
„ParsingName“=“::{031E4825-7B94-4dc3-B131-E946B44C8DD5}\\{7b0db17d-9cd2-4a93-9733-46cc89022e7c}“
„Stream“=dword:00000001
„StreamResource“=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,\
2d,00,31,00,00,00
„StreamResourceType“=“LIBRARY“
„RelativePath“=“Documents.library-ms“
„ParentFolder“=“{1B3EA5DC-B587-4786-B4EF-BD1DC332AEAE}“
„Icon“=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,\
6d,00,61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
00,31,00,30,00,30,00,32,00,00,00
„LocalizedName“=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\
6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\
00,5c,00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\
2c,00,2d,00,33,00,34,00,35,00,37,00,35,00,00,00
„PreCreate“=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{7b0db17d-9cd2-4a93-9733-46cc89022e7c}\PropertyBag]
„FoldersDependentOn“=“{FDD39AD0-238F-46AF-ADB4-6C85480369C7};{ED4824AF-DCE4-45A8-81E2-FC7965083634}“
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{A302545D-DEFF-464b-ABE8-61C8648D939B}]
„Name“=“UsersLibrariesFolder“
„Category“=dword:00000001
„ParsingName“=“::{031E4825-7B94-4dc3-B131-E946B44C8DD5}“
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{A302545D-DEFF-464b-ABE8-61C8648D939B}\PropertyBag]
„NoCustomize“=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{A990AE9F-A03B-4e80-94BC-9912D7504104}]
„Name“=“PicturesLibrary“
„Category“=dword:00000004
„ParsingName“=“::{031E4825-7B94-4dc3-B131-E946B44C8DD5}\\{A990AE9F-A03B-4e80-94BC-9912D7504104}“
„Stream“=dword:00000001
„StreamResource“=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,\
2d,00,33,00,00,00
„StreamResourceType“=“LIBRARY“
„RelativePath“=“Pictures.library-ms“
„ParentFolder“=“{1B3EA5DC-B587-4786-B4EF-BD1DC332AEAE}“
„Icon“=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,\
6d,00,61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,\
00,31,00,30,00,30,00,33,00,00,00
„InfoTip“=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,\
6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,\
00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,\
2d,00,31,00,32,00,36,00,38,00,38,00,00,00
„LocalizedName“=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,\
6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\
00,5c,00,73,00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,\
2c,00,2d,00,33,00,34,00,35,00,39,00,35,00,00,00
„PreCreate“=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{A990AE9F-A03B-4e80-94BC-9912D7504104}\PropertyBag]
„FoldersDependentOn“=“{33E28130-4E1E-4676-835A-98395C3BC3BB};{B6EBFB86-6907-413C-9AF7-4FC2ABF07CC5}“
Wenn ich mal viel Zeit habe, oder es viele Anfragen gibt, baue ich vielleicht auch ein Gruppenrichtlinie daraus ;-).
Endlosschleife in einer Batch Datei zum vergleichen von Dateien
Mit Hilfe des For Befehls lassen sich auch Endlosschleifen z.B. zu einem Dateivergleich zusammenbasteln:
for /L %i in (0,0,0) do @fc Datei1.txt Datei2.txt>nul & if errorlevel 1 echo „Änderung“ & ping -n 10 127.0.0.1>nul
OK, zugegeben da stecken fast alle Finessen der Batch-Programmierung drin, aber es ist gar nicht so wild!
for /L %i in (0,0,0) do erstellt die Schleife. %i ist dabei die Variable in der hochgezählt wird. Normaler Weise würde in Klammern beispielsweise stehen (5,1,10). D.h. %i wäre beim 1. Durchlauf 5, beim 2. 6 usw. bis %i dem Wert 10 entspricht. Da wir aber 3 x 0 eintragen beruht darauf der Trick der Endlosschleife. Da durch die mittlere 0 in der Klammer ja nicht hochgezählt wird bleibt %i immer 0 (wegen der ersten Null in der Klammer) und er muss den Befehl immer weiter wiederholen. Wie stoppe ich das nun?! Wie immer (auch bei Befehlen die nicht mehr reagieren)…drücken Sie Strg+C.
Das @ sorgt dafür, dass die Befehlszeile nicht bei jedem Durchlauf angezeigt wird, sondern nur deren Ergebnis.
fc Datei1.txt Datei2.txt >nul vergleicht den Inhalt von Datei1.txt mit dem Inhalt von Datei2.txt, dank >nul wird aber nichts angezeigt. Da keine Pfandangaben gemacht wurden, müssen wird den Befehl in dem Verzeichnis eintippen wo sich die beiden Dateien befinden. Zum testen können Sie sich ja einfach eine ganz normale Textdatei anlegen und 123 als Inhalt reinschreiben und davon eine Kopie machen, die Sie dann Datei2.txt nennen. Dann ist der Inhalt erst einmal identisch.
Das & sorgt dafür, dass direkt im Anschluß (ohne erneut eine Kommandozeile mit Enter zu bestätigen. Dies entspricht dem ; unter Unix bzw. Bash) der nächste Befehl ausgeführt wird.
Durch if errorlevel 1 echo „Änderung“ wird überprüft ob der vorangegangene Befehl (fc) einen Fehler meldet(das tut er, wenn er einen Unterschied in den Dateien feststellt). Wenn die Dateien gleich sind passiert hier erst einmal gar nichts. Nur wenn wird einen Unterschied feststellen und somit einen Fehler bekommen geben wir mittels echo „Änderung“ den Text Änderung am Bildschirm aus.
Noch ein & für einen 3. Befehl innerhalb der Schleife.
Das ping -n 10 127.0.0.1>nul dient einfach nur der Zeitverzögerung, da Windows leider keinen sleep Befehl wie Linux (Bash) kennt. Alternativ könnte man vielleicht den Befehl pause verwenden, da muss man dann aber immer eine Taste drücken :-(. 10 Mal ping sich der PC selbst an (-n 10) und damit das Ergebnis von Ping die Anzeige von nicht weiter stört, werfen wir die Ausgabe mit >nul (entspricht dem Linux >/dev/nul) in den Orcus (Orcus=römischer Gott der Unterwelt=Jenseits). Danach kann der nächste Durchlauf wieder mit einem arp statt finden. Apropos Orcus…kennen Sie auch den Sisyphos? Genau eine solche Arbeit hat Ihr PC gerade bekommen ;-). Interessanter Weise verbraucht das Script recht viel CPU-Rechenzeit wenn die Dateien identisch sind, sobald die Änderung eintritt ist die CPU-Last nicht mehr nennenswert. Wenn Sie Ihre CPU also erlösen möchten ändern Sie doch den Inhalt von einer der beiden Dateien und schauen Sie was passiert.
PS: Wenn Sie den Befehl innerhalb einer Batch-Datei verwenden möchten und nicht direkt auf der Kommandozeile eintippen, schreiben Sie bitte %i als %%i (2x das Prozentzeichen, sonst geht es nicht)!!!