So, vorm Wochenende nochmal eine Zusammenfassung, was mich die letzten Arbeitstage so beschäftigt hat und was ich draus lernen konnte.
Also, Hauptthema ist es, nicht funktionierende Gruppenrichtlinien (GPO) ordentlich zu untersuchen und den Fehler zu finden. Augenmerk lege ich jetzt vor allem auf Softwareinstallationen via GPO, hier kommt es zu den meisten Fehlern.

Zuerst:

Funktioniert mal etwas nicht mit den GPOs ist die Fehlersuche eher mühsam, da es keine zentrale Sammelstelle für Fehlerberichte gibt. Zumindest wenn man nicht den Zugriff auf den DC hat, was meistens der Fall ist. Und auch so sind die Fehler meisten clientseitig.
Das heißt unsere Suche wird vor allem auf den Computern stattfinden, bei denen die Gruppenrichtlinie nicht wie erwartet funktioniert.

Wie gehen wir also vor:

Stimmen die Gruppenrichtlinieneinstellungen?

Zuerst sollten wir bei Problemen natürlich klar stellen, dass es nicht an der Gruppenrichtlinie selbst liegt. Dazu ein Blick in das GPO.
Stimmt die Verknüpfung der GPO, richtige OU? Ist die Verknüpfung aktiviert und erzwungen? Ihr müsst sie nicht erzwingen aber spätestens bei Problemen sollte man zum Troubleshooting die Option aktivieren. Stimmen die Gruppen, auf die die Gruppenrichtlinie angewendet wird? Ist der Computer auch in der OU mit der verknüpften GP? Ist der Rechner auch in der entsprechenden (oben geprüften) Gruppe?

Stimmt alles, dann weiter zu den Details und den Einstellungen.

Stimmen die Einstellungen? Davon sollte man ausgehen. Merkt euch die Computer- und die Benutzerversion unter Details. Ist Datum und Uhrzeit der letzten Änderung richtig? Ist der Objektstatus „aktiviert“?

Nun der knackige Teil, die Delegierung. Ich würde es einfach Rechte nennen.

Stimmen die Gruppen mit ihren jeweiligen Rechten? Authenticated Users mit Lesen drin? Bei Computereinstellungen ist das eine gute Idee.
Lesen und Lesen (durch Sicherheitsfilterung) sollte bei den Gruppen stehen, die die Zielobjekte enthalten. Klickt auf Erweitert und gleich nochmal auf Erweitert. Prüft hier die Berechtigungen der Gruppen nochmal im Detail. Haben die Usergruppen die Rechte Lesen und „Gruppenrichtlinie übernehmen“? Je nach Gruppenrichtlinie solltet ihr bei den Admins das Recht „Gruppenrichtlinie übernehmen“ rausnehmen.

Stimmt alles? Gehen wir auf Nummer Sicher:
Geht in den Tab „Effektive Berechtigungen“ und gebt dort testweise eine Person/ein Computerobjekt ein, dass die Gruppenrichlinie übernehmen sollte. Und noch ein Versuch mit einem Objekt, dass die Gruppenrichlinie nicht übernehmen sollte. Ist bei beiden das „Gruppenrichtlinie übernehmen“ Recht korrekt gesetzt? 1x ja, 1x nicht. Gut.

Fehlersuche auf dem Computer

Gruppenrichtliniensatz

Zuerst lassen wir uns den Gruppenrichliniensatz auf dem Computer anzeigen, wo etwas nicht stimmt:
Windows XP:

gpresult

Windows 7:

gpresult /r

Wir schauen zuerst auf die ersten Zeilen im Kopf der Ausgabe. Links WinXP- , rechts Windows 7 Ausgabe:

Wann war die letzte Aktualisierung der Gruppenrichtlinie? Ist Datum und Uhrzeit aktuell oder liegt die letzte Aktualisierung Tage/Wochen/etc zurück? Dann solltet ihr überprüfen, warum die Gruppenrichtlinie nicht aktualisiert wird.

gpupdate /force

in die Konsole schicken und nochmal prüfen.
Von wo wurde die Richtlinie angewendet? Steht dort ein brauchbarer DC oder vielleicht sogar gar nichts oder „Nicht zutreffend“? Prüft, ob der Computer ordentlich in die Domäne eingebunden ist. Löscht ggf. das Computerprofil und nehmt den Computer neu in die Domäne.
Welche Gruppenrichtlinien wurden angewendet? Ist eure mit dabei? Wenn nicht… na dazu schreibe ich den Mist hier ja, weiterlesen.
Wurde sie gefiltert (nicht angewendet)? Dann prüft den Grund und geht der Sache nach. Google hilft bei komischen Filtergründen.
Stimmen die „Sicherheitsgruppen“? Habt ihr das Computerobjekt in die Gruppe genommen, auf die die Gruppenrichtlinie angewendet wird?

Bei meinen 2 Beispielen ist der Computer jeweils nicht in der benötigten Sicherheitsgruppe, SoftwareVertTEST, auf die die Gruppenrichtlinie angewendet wird.
So schaut es aus, wenn die Gruppenrichtlinie angewendet wurde:

Links die Konsolenausgabe von

gpresult /r

auf einem Windows 7 System. Rechts der Report, den ich mit

gpresult /h "c:\test.html"

erzeugt habe.
Es wurde jeweils die Gruppenrichtlinie übernommen. Zudem ist der Computer jetzt auch in einigen zusätzlichen Gruppen, die er braucht, um auf das Netzlaufwerk zuzugreifen. Denn dort liegen die ganzen Programme, die installiert werden sollten.
Hat euer Computer-/Benutzerobjekt Zugriff auf den Share, wo die zu installierenden Programme liegen? Geht zu dem Ordner, klickt auf Erweitert im Sicherheits-Tab, dann auf Erweitert und in den Effektive Berechtigungen Tab und lasst euch die Rechte des Test/Problemobjekts auflisten. Wenn nicht dann müsst ihr die Gruppe, auf die die Gruppenrichtlinie angewendet wird, eintragen und Rechte vergeben.

Wir sind immernoch im exportierten HTML Reports des Windows 7 Rechners. Prüft hier die Revision der angewendeten Richtlinie. Die Revision solltet ihr euch ja oben merken, die steht in den Details der GPO. Computerversion steht im HTML bei den Computereinstellungen und die Benutzerversion logischerweise weiter unten bei der Revision unter den Benutzereinstellungen. Angegeben ist diese Version mit AD (XXX), Sysvol (XXX). Computer und GPO solten hier 4x den selben Wert aufzeigen (eigentlich 8x, 4x Computer- und 4x Benutzerversion).
Auf Windows XP kann man leider keine HTML Reports erstellen (glaub ich). Mit gpresult /z /scope computer könnt ihr euch die Details der Computereinstellungen ansehen, mit /scope user detaillierte Usereinstellungen. Prüft einfach manuell, ob eure neuesten Änderungen an der GPO hier schon richtig gelistet sind.
Gruppenlinienobjekt „Nicht zutreffend“? Alte Einstellungen? Ursprung „Entferntes Paket“? Da stimmt was nicht. Auch

gpupdate /force

bringt die korrekten Einstellungen nicht zum Vorschein?

Gruppenrichtlinie lokal zurücksetzen

Öffnet die Registry und geht zum Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy. Exportiert ihn und löscht ihn komplett.
Zieht den Netzwerkstecker und macht einen Neustart. Neugestartet? LAN Kabel wieder rein,

gpupdate /force

und durch den Neustart sollte die Gruppenrichtlinie wieder komplett neu übernommen werden. Noch Probleme? Den Key nochmal löschen, mit CCleaner die Registry und den PC von Tempkram bereinigen, selbe Spiel nochmal.

gpupdate /force

und

gpresult /h

(W7) bzw

gpresult /z /scope computer

(WinXP) durchführen, Einstellungen und Revision Number überprüfen.

Computerobjekt resetten

Nehmt den Computer aus der Domäne, löscht das Computerobjekt aus der Domäne. Startet neu und nehmt den Computer (nach Objekterstellung) wieder in die Domäne. Vergesst nicht, dem Computerobjekt wieder alle Gruppen zuzuweisen, wie es sein soll.

gpupdate /force

und

gpresult /h

(W7) bzw

gpresult /z /scope computer

(WinXP) durchführen, Einstellungen und Revision Number überprüfen.

Ereignisanzeige

Hier ist Hilfestellung für mich schwer zu geben, obwohl die Ereignisse wirklich wichtige Hilfe geben können.
Auf jeden Fall solltet ihr die Protokolle von Anwendung und System überprüfen. Startet den Rechner neu und schaut bei „Datum und Uhrzeit“, wo der Neustart beginnt. Geht ab dort alle Meldungen durch, es reicht wahrscheinlich erstmal nur alle Warnungen und Fehler durchzusehen.
Hier kann verdammt viel stehen, und ich habe eine generelle Lösung für die meisten gelisteten Probleme: Google. Die meisten Fehler sind durchaus bekannt und müssen dann nur ordentlich behandelt werden, kämpft euch durch das Informationsdickicht des Internets.

Aber: Keine Panik schieben wenn dort einige Warnungen und Fehler auftauchen, die meisten sind ganz normal. Auch Meldungen zu Gruppenrichtlinienfehlern sind nicht immer ausschlaggebend. Zum Beispiel hier ein Screenshot von einem W7 PC auf dem alle Gruppenrichtlinien korrekt funktionieren und alles gut läuft:

Hier muss man einfach ein Gefühl entwickeln, welche Fehler normal sind und welche wirklich durch GPO Probleme entstehen. Wenn auf einen Computer mehrere Richtlinien angewendet werden (so ab 5 Richtlinien) dann müssen Fehler nicht unbedingt von der Richtlinie kommen, die nicht funktioniert. Nachher rennt man falschen Fehlern hinterher.

Softwareinstallationen – Fehler: %%1274 / Fehler:%%2


Fehler 1274 deutsch:
Die Zuweisung der Anwendung (…) ist fehlgeschlagen. Fehler: %%1274
Die Änderungen an den Softwareinstallationseinstellungen wurden nicht angewendet. Die Installation (…) wird bis zur nächsten Anmeldung verzögert (…) Fehler: %%1274

1274 Fehler englisch:
The assignment of application (…) The error was: %%1274
Failed to apply changes to software (…) deployment through Group Policy (…) has been delayed until the next logon (…) The error was: %%1274

Dieser Fehler hat mir die letzten Tage viele Stunden Kopfschmerzen bereitet.
Wenn also Programme nicht installiert werden, obwohl das GPO auf den Computer angewendet wird und der gpresult alles korrekt wiedergibt, dann liegt es an Fehl(de)installationen auf dem PC. Bei Softwareinstallationen via GPO kann das vorkommen, wenn man Programme fehlerhaft deinstalliert und dann versucht via GPO wieder installieren zu lassen.
So konnte ich den Fehler beheben:
Deinstalliert die Software, über die bei diesem Fehler gemeckert wird und die nicht via GPO installiert werden kann. Wenn es sich um Patches handelt deinstalliert ihr am besten das ganze Softwarepaket. Reinigt die Registry und eventuell zurückbleibende Ordner. Zieht euch das Microsoft Installer Clean Up Tool und geht die folgenden Schritte durch.

Microsoft Install Clean Up Utility

Download hier. Wird ein Programm nicht ordnungsgemäß deinstalliert oder fehlerhaft installiert (und danach von Hand gelöscht), so kann es vorkommen, dass der Microsoft Installer trotzdem noch Reste des Programms findet und es deswegen zu Problemen bei einer Neuinstallation kommt.
Das Tool „Microsoft Install Clean Up Utility“ kann diese Überreste bereinigen.
Download: 1, 2, Google

Wird eins von euren gerade deinstallierten Programmen gelistet, dann wurde es teilweise noch im System gefunden. Mit dem Tool lassen sich diese Reste auch noch entfernen.
LAN-Kabel rausziehen und neustarten (damit beim Neustart keine Installationen/Scripts via GPO diesen Vorgang behindern).
Sollte das Programm wieder in der Liste stehen kombiniert diesen Trick am besten mit dem lokalen Registry Reset (siehe oben „Gruppenrichtlinie lokal zurücksetzen“) und gezogenem LAN-Kabel.
via

Ergänzung 1: fehlerhafte GPO Softwareinstallationen einzeln(!) zurücksetzen
Es lassen sich einzelne Anwendungen einer Softwareverteilungs-GPO zurücksetzen. Ohne großartige Deinstallation und Reinigung durch das Install Clean Up Utility (s.o.) wird die GPO das Produkt eigenständig auf diesem PC neu installieren.
Dazu muss nur der korrekte Unterkey von

HKLM/Software/Microsoft/Windows/CurrentVersion/Group Policy/AppMgmt/[random SID]/

gelöscht werden. Jeder dieser SID Schlüssel in AppMgmt hat einen Wert namens „Deployment Name“, der den Namen der Software beinhaltet, die verteilt wurde (in dieser Situation fehlerhaft). Diesen Schlüssel also löschen,

gpupdate /force

, ggf. den Stand mit

gpresult /h

überprüfen, Neustart, die Software wird neu verteilt.
Mehr dazu hier im ausführlichen Artikel

Ergänzung 2: Einzelne Installationen trotz Löschung/Rücksetzung noch aktiv
Falls ein via GPO zu installierendes Paket Probleme macht und man die GPO löscht, ein Client aber trotzdem noch versucht die entsprechende msi zu installieren, muss man nebst dem GPO Eintrag (siehe oben „fehlerhafte GPO Softwareinstallationen einzeln(!) zurücksetzen“ und „Gruppenrichtlinie lokal zurücksetzen“) auch noch den Installer Eintrag unter HKLM\Software\Classes\Installer löschen! Das Paket erschien bei mir nie bei den installierten Programmen, weshalb ich es auch nicht deinstallieren konnte. Es war ja auch nie richtig installiert, aber trotzdem hat der Windows Installer sich das Produkt “gemerkt”, als wäre es installiert.
Dieser Tipp kommt von roach.

Weitergabe oder Verwendung dieser Anleitung nur mit voller Quellen- und Autorangabe! Ich bitte euch, seid fair.

So, ich hoffe einigen von euch konnte ich helfen oder zumindest einige Denkanstöße geben, die man manchmal in der Fülle der zu prüfenden Dinge einfach vergisst oder übersieht. Schönes Wochende!

Ein typisches und ebenso simples Junior-Administrator-Problem. Welche .NET Framework Version ist installiert, wie kann ich die Version ermitteln?

Batch-File:
Download section
netversioninfo.bat liest eure installierten .NET Versionen aus und gibt zu jeder (exakten) Version noch einige Informationen aus. Getestet mit WinXP, Win7, .NET 3.5 und .NET 4, funktioniert einwandfrei.
Credits, Code, Erklärungen und .NET Versionsinfos von hier.

Update:
Das grafisch hübschere Tool DotNet (.NET) Version Check tuts auch, allerdings nicht ganz so genau wie das Batch Script oben. Z.B. wird das Framework 3.5 nicht erkannt, statt dessen werden aber alle Major Buildnummer angezeigt, ebenfalls auf allen Systemen und bis Version 4. Ich erfahrt sogar ob/welche Version der ADODB Library und des Internet Explorers installiert ist, Nutzen sei mal dahingestellt.


Registry:
Start -> Ausführen -> regedit ->

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

Hier sind eure Versionen gelistet. Per Klick auf einen Schlüssel erfahrt ihr sogar die genaue Version.

Dateibasiert:

C:\Windows\Microsoft.NET\Framework\

Das Verzeichnis existiert, wenn .NET Framework installiert ist. Es enthält einige Unterordner, die auf die ungefähre Version des Frameworks hinweisen.
In diesen Unterordnern existiert u.U. auch eine MSBuild.exe. Die Dateiversion dieser Datei entspricht der exakten Version eures Frameworks und ist an der Stelle auch sehr genau hinterlegt.


Noch eine Möglichkeit:
Diese Variante ist eher alt, also mehr für die Info, ob .NET Framework überhaupt installiert ist.
Start -> Ausführen -> regedit ->

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\

In dem Schlüssel „.NETFramework“ befinden sich weitere Schlüssel, z.B. „v2.0.50727“, „v3.0“.


Für die ganz Harten im Garten gibts hier ausführliche Details zu C++ Code, mit dem ihr die .NET Versionen auslesen könnt.

Eine kleine Zusammenfassung von Möglichkeiten und Links auch auf dieser Seite nochmal.

Wir kennen runas und .cpl (Control Panel Library) Dateien. So könnte man zum Beispiel mit „sysdm.cpl“ die Systemeigenschaften öffnen, gelangt über „ncpa.cpl“ in die Netzwerkadapterübersicht oder lässt sich dank „appwiz.cpl“ die installierte Software auflisten.

Es liegt also auf der Hand, dass wir mit

runas /user:Administrator "sysdm.cpl"

die Systemeigenschaften als Administrator ausführen und damit Vollzugriff erhalten.

Falsch.

Wie Anfang dieser Woche getwittert muss man einen Umweg machen, da .cpl Files nicht mal eben so über runas ausgeführt werden können.
Statt dessen muss folgender Befehl her:

bash“>runas /user:computername\Administrator „rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl“

Ich liebe diesen Befehl, einfach nur weil er für so eine einfache Aufgabe so kompliziert aussieht. Alternativ kann man auch auf die .cpl Datei rechts klicken und „Ausführen als…“ nutzen. Für Scripts ist aber dieser Weg nötig. ODER man nutzt das execute Programm von Kenny.

via

Gestern haben wir Berechtigungen von Registry Schlüsseln noch manuell geändert. Heute soll das mit einem Script passieren, da das einige Vorteile hat!

Ich habe dafür als Grundlage ein Script von „Decrypt My World“ genommen:

set-registry-acl.vbs (Rechtsklick -> (Link) Speichern unter) (ggf. Endung von .txt in .vbs umbenennen)
vb“ line=“1″>
‚ Create temp file with the script that regini.exe will use
set oFSO = CreateObject(„Scripting.FileSystemObject“)
strFileName = oFSO.GetTempName
set oFile = oFSO.CreateTextFile(strFileName)
oFile.WriteLine „HKEY_LOCAL_MACHINE\SOFTWARE\der\Pfad\zum\Schlüssel [1 5 7 17 22]“
oFile.Close

‚ Change registry permissions with regini.exe
set oShell = CreateObject(„WScript.Shell“)
oShell.Run „regini “ & strFileName, 8, true

‚ Delete temp file
oFSO.DeleteFile strFileName

WScript.Echo „Done!“

Wichtig ist Zeile 5. An dieser Stelle wird der Schlüssel angegeben und die Rechte, die vergeben werden sollen.
Schlüssel ist klar, einfach in regedit Rechtsklick -> Schlüsselnamen kopieren und hier einfügen.
Die Rechte werden getrennt mit Leerzeichen in eckigen Klammern angegeben, Reihenfolge spielt keine Rolle. Die Zahlenlegende ist folgende:

1  - Administrators Full Access
              2  - Administrators Read Access
              3  - Administrators Read and Write Access
              4  - Administrators Read, Write and Delete Access
              5  - Creator Full Access
              6  - Creator Read and Write Access
              7  - World Full Access
              8  - World Read Access
              9  - World Read and Write Access
              10 - World Read, Write and Delete Access
              11 - Power Users Full Access
              12 - Power Users Read and Write Access
              13 - Power Users Read, Write and Delete Access
              14 - System Operators Full Access
              15 - System Operators Read and Write Access
              16 - System Operators Read, Write and Delete Access
              17 - System Full Access
              18 - System Read and Write Access
              19 - System Read Access
              20 - Administrators Read, Write and Execute Access
              21 - Interactive User Full Access
              22 - Interactive User Read and Write Access
              23 - Interactive User Read, Write and Delete Access

Möglich wären also auch mehrere Zeilen mit unterschiedlichen Rechten in unterschiedlichen Registry Hives:
vb“>
oFile.WriteLine „HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip [1 7 5 17 23]“
oFile.WriteLine „HKEY_LOCAL_MACHINE\SOFTWARE\ATI Technologies\Install [3 8 18 21]“
oFile.WriteLine „HKEY_CURRENT_USER\Software\Dropbox [1 5 7 17 22]“
oFile.WriteLine „HKEY_CURRENT_USER\Software\MAGIX AG\MAGIX Video deluxe 16 Plus [21 8 18]“

Ich bastel gerade etwas in der Registry und bekam folgende Fehlermeldung:

Die Änderung bezieht sich auf den Windows Explorer und so steht die Vermutung nahe, dass der Schlüssel gegen Veränderungen gesichert ist.
So werdet ihr das Problem los:
Rechtsklick auf den Schlüssel -> „Berechtigungen…„:
Hier müsst ihr Vollzugriff für euch setzen, am besten gebt ihr der Administratorengruppe die Vollzugriffsrechte. Ihr könnt es aber auch speziell nur für euren Benutzer machen. Klickt dazu auf „Hinzufügen…“ und tragt euren Benutzernamen ein. Diesem könnt ihr Vollzugriff geben.
Kennt ihr weder Benutzernamen noch Gruppe so könnt ihr über „Hinzufügen…“ -> „Jeder“ hinzufügen und diesem Vollzugriff gewähren.

Fertig! Jetzt gehts. Da es ein hohes Sicherheitsrisiko ist, die Berechtigungen zu verändern, solltet ihr nach der Änderungen (und einem Neustart) die Berechtigung wieder zurücksetzen.

Windows Dienste lassen sich recht gut mit dem Windows Control „services.msc“ (Start->Ausführen) verwalten. Hier werden alle installierten Dienste angezeigt, man kann die Dienste starten, beenden, sich Informationen ansehen und mehr.
Doch hier ist man falsch wenn es um das Löschen von Diensten geht.

Eine Möglichkeit wäre natürlich die Registry, wenn man sich bis zu dem Pfad der Dienste hangeln möchte.
Dieser liegt übrigends hier:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

Hier reicht es den Schlüssel mit dem Dienstnamen zu löschen.

Echte Windows User wollen jedoch so viel wie möglich über die Konsole erledigen, also ab in die CMD.
Hier schauen wir uns den Befehl „sc“ an.

C:\Users\schurigh>sc
BESCHREIBUNG:
        SC ist ein Befehlszeilenprogramm für die Kommunikation mit dem
        Dienststeuerungs-Manager und mit Diensten.
SYNTAX:
        sc  [Befehl] [Dienstname]  ...


        Die Option  hat das Format "\\ServerName"
        Weitere Hilfe zu Befehlen kann abgerufen werden durch Eingabe von:
        "sc [Befehl]"
        Befehle:
          query-----------Fragt den Status eines Diensts ab oder
                          listet den Status für Typen von Diensten auf.
          queryex---------Fragt den erweiterten Status eines Diensts ab oder
                          listet den Status für Typen von Diensten auf.
          start-----------Startet einen Dienst.
          pause-----------Sendet eine Steuerungsanfrage PAUSE an einen
                          Dienst.
          interrogate-----Sendet eine Steuerungsanfrage INTERROGATE an
                          einen Dienst.
          continue--------Sendet eine Steuerungsanfrage CONTINUE an einen
                          Dienst.
          stop------------Sendet eine Steuerungsanfrage STOP an einen
                          Dienst.
          config----------Ändert die Konfiguration eines Diensts
                          (beständig).
          description-----Ändert die Beschreibung eines Diensts.
          failure---------Ändert die Aktionen beim Scheitern eines
                          Diensts.
          failureflag-----Ändert das Fehleraktionskennzeichen eines Diensts.
          sidtype---------Ändert den Diensttyp SID eines Diensts.
          privs-----------Ändert die erforderlichen Berechtigungen eines
                          Diensts.
          qc--------------Fragt die Konfigurationsinformationen eines
                          Diensts ab.
          qdescription----Fragt die Beschreibung eines Diensts ab.
          qfailure--------Fragt die Aktionen ab, die bei einem
                          Dienstfehler ausgeführt werden.
          qfailureflag----Fragt das Fehleraktionskennzeichen eines Diensts ab.
          qsidtype--------Fragt den Diensttyp SID eines Diensts ab.
          qprivs----------Fragt die erforderlichen Rechte eines Diensts ab.
          qtriggerinfo----Fragt die Triggerparameter eines Diensts ab.
          qpreferrednode--Fragt den bevorzugten Knoten NUMA eines Diensts ab.
          delete----------Löscht einen Dienst (aus der Registrierung).
          create----------Erstellt einen Dienst (fügt ihn zur Registrierung
                          hinzu).
          control---------Sendet eine Steuerung an einen Dienst.
          sdshow----------Zeigt die Sicherheitsbeschreibung eines Diensts
                          an.
          sdset-----------Legt die Sicherheitsbeschreibung eines Diensts
                          fest.
          showsid---------Zeigt die SID des Diensts, passend zu einem zufälligen

                          Namen an.
          triggerinfo-----Konfiguriert die Triggerparameter eines Diensts.
          preferrednode---Legt den bevorzugten Knoten NUMA eines Diensts fest.
          GetDisplayName--Ruft den DisplayName für einen Dienst ab.
          GetKeyName------Ruft den ServiceKeyName für einen Dienst ab.
          EnumDepend------Listet die Dienstabhängigkeiten auf.

        Die folgenden Befehle benötigen keinen Dienstnamen:
        sc   

Passt nicht ganz ins Bloglayout, macht nichts. Wichtig ist nur, es gibt über den sc Befehl den delete Parameter und damit können wir Dienste löschen.
Der Dienst muss mit Namen angegeben werden also kopieren wir noch schnell den Namen des Dienstes aus der Dienstverwaltung:

Wer auch den Dienstnamen über die Konsole herausfinden möchte kann das mit dem Befehl „sc query“ versuchen. Ist die Ausgabe der Konsole zu lang muss sie in eine Datei geleitet werden: „sc query > log.txt„.

Wenn der Dienst läuft stoppe ich ihn mit:

sc stop LMIMaint

Auf dem lokalen PC ginge auch der PC

sc \\localhost stop LMIMaint

, remote auf anderen Computern muss \\localhost natürlich ersetzt werden.
Danach mit

sc delete LMIMaint

oder

sc \\localhost delete LMIMaint

löschen.

Wenn man viel rumfummelt schadet es sicher nicht, danach mit einem Registry Cleaner (z.B. CCleaner) etwaig entstandene Registryüberreste zu reinigen (am besten aber mit Sicherung).
Ein Neustart übernimmt das Tuning.

.exe Installer enthalten manchmal recht interessantes Material. Hier 2 Wege an die Dateien innerhalb eines .exe Installers zu gelangen:

lokaler Temp Ordner

Diese Methode ist recht zuverlässig und funktioniert in 99% aller Fälle.
Geht in euren Temp Ordner: C:\Dokumente und Einstellungen\[USER]\Lokale Einstellungen\Temp\
Der Ordner ist höchstwahrscheinlich vollgepackt mit viel Kram. Unterordner, Dateien jeglicher Art, beides teilweise mit seltsamen Namen. Ihr müsst zuerst diesen Ordner aufräumen, das ist aber nicht weiter kompliziert.
Öffnet die CMD (Windows+R->“cmd“) und dort folgenden Befehl eingeben:
php“>rd /s /q „c:\Dokumente und Einstellungen\[user]\Lokale Einstellungen\Temp\“

Ihr müsst natürlich euren Benutzernamen statt [user] einsetzen.
rd /s löscht alle Unterordner und Dateien eines Ordners. So werden also alle Unterordner und Dateien eures Temp Ordners gelöscht, falls möglich. Alle Dateien die sich nicht löschen lassen bleiben übrig.
Ihr könnt auch mit dem Total Commander in diesen Ordner gehen, alles mit STRG+A markieren und löschen. [Alles überspringen], sobald die Meldung kommt, dass eine Datei in Benutzung ist und nicht gelöscht werden kann.
Nun sollten nur noch wenige Unterordner übrig bleiben, sehr gut.
Merkt euch die verbleibenden Unterordner und startet den Installer. Sobald dieser warmläuft sollte ein neuer Ordner erschienen sein.
Dieser Ordner hat möglicherweise einen sehr komischen Namen wie bei meinem Testlauf:

In diesem Ordner befinden sich alle Dateien, die in der .exe stecken. Ihr solltet den Installer vorher fertig entpacken lassen. Sobald er nach euren Benutzereingaben fragt, [Weiter] / [Next] Buttons zum Beispiel, hat er alle Installerdateien fertig in diesen Ordner entpackt.
Jetzt könnt ihr euch die Dateien herauskopieren.

Universal Extractor – Tool

Bei meinem Testinstaller hat das Tool leider keinen Erfolg gebracht aber kann am Installer liegen.
Universal Extractor ist darauf spezialisiert Archive oder Installer zu entpacken. Einfach installieren, starten, den Installer auswählen und das Zielverzeichnis wählen. Ggf. fragt das Tool vorher noch nach einer Extraktionsmethode.