[gelöst] DOSBatch und reg.exe query funktioniert nicht

Antworten
wla
Beiträge: 34
Registriert: 28 Mai 2013, 11:41

[gelöst] DOSBatch und reg.exe query funktioniert nicht

Beitrag von wla »

opsi 4.2
opsi-winst 4.12.6.2-3

Folgender Code funktioniert nicht:

[Datei delsub.ins]

Code: Alles auswählen

comment "Cleanup registry"
DOSBatch_UnReg winst /64Bit
:
:
[DOSBatch_UnReg]
REG.exe QUERY "HKCR\SystemFileAssociations" /S /K /F "MediaInfo"
PAUSE
[Ausgabe]

Code: Alles auswählen

C:\Windows\system32>REG.exe QUERY "HKCR\SystemFileAssociations" /S /K /F "MediaInfo"
Suchvorgang abgeschlossen: 0 übereinstimmende Zeichenfolge(n) gefunden.

C:\Windows\system32>PAUSE
Drücken Sie eine beliebige Taste . . .

Gebe ich das Kommando in einer Shell (cmd) ein:

Code: Alles auswählen

C:\Windows\system32>C:\Windows\System32\REG.exe QUERY "HKCR\SystemFileAssociations" /S /K /F MediaInfo

HKEY_CLASSES_ROOT\SystemFileAssociations\.264\Shell\MediaInfo
HKEY_CLASSES_ROOT\SystemFileAssociations\.3g2\Shell\MediaInfo
:
:
Suchvorgang abgeschlossen: 140 übereinstimmende Zeichenfolge(n) gefunden.
Was ist hier das Problem?
Zuletzt geändert von wla am 24 Jan 2023, 12:58, insgesamt 1-mal geändert.
Benutzeravatar
j.werner
uib-Team
Beiträge: 64
Registriert: 08 Okt 2019, 13:32

Re: DOSBatch und reg.exe query funktioniert nicht

Beitrag von j.werner »

Hallo,
erstmal würde ich sagen die Abfrage funktioniert. Warum in beiden Fällen dann nicht das gleiche Ergebnis heraus kommt, das kann mehrere Gründe haben. Zum einen unter welchem User ist das Skript gelaufen?
Normalerweise ist das im opsi-Kontext der User "system" während, wenn der Befehl in der cmd ausgeführt wird, dieser im Kontext des eingeloggten Users ausgeführt wird. Die Registry-Einträge der jeweiligen User sind aber ziemlich sicher nicht identisch.
Klassenregistrierungs- und Dateinamenerweiterungsinformationen werden sowohl unter den HKEY_LOCAL_MACHINE als auch unter HKEY_CURRENT_USER Schlüsseln gespeichert.
Der HKEY_LOCAL_MACHINE\Software\Classes Schlüssel enthält Standardeinstellungen, die für alle Benutzer auf dem lokalen Computer gelten können.
Der HKEY_CURRENT_USER\Software\Classes-Schlüssel enthält Einstellungen, die nur für den interaktiven Benutzer gelten.
Der schlüssel HKEY_CLASSES_ROOT stellt eine Ansicht der Registrierung bereit, die die Informationen aus diesen beiden Quellen zusammenführt.
Quelle: https://learn.microsoft.com/de-de/windo ... s-root-key

Probiere bitte mal sowas:

Code: Alles auswählen

reg.exe query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine /v PowerShellVersion
Das ist dann Maschinen aber nicht User abhängig.

Warum hier mit DosBatch arbeiten? (wenn dann sollte auch besser DosInAnIcon verwendet werden)
Die Registry kann auch direkt mit opsi-script eigenen Mittlen befragt werden. Schau dir mal die Doku im opsi-script Handbuch hierzu an (10.13. Registry-Sektionen).
https://download.uib.de/opsi_stable/doc ... t-registry
https://download.uib.de/opsi_stable/doc ... rc-regfunc

Mit freundlichen Grüßen
Jan
wla
Beiträge: 34
Registriert: 28 Mai 2013, 11:41

Re: DOSBatch und reg.exe query funktioniert nicht

Beitrag von wla »

Der schlüssel HKEY_CLASSES_ROOT stellt eine Ansicht der Registrierung bereit, die die Informationen aus diesen beiden Quellen zusammenführt.
Asche auf mein Haupt! Das ist das Problem! Ich dachte HKEY_CLASSES_ROOT gilt für "Alle Benutzer".
Danke!
besser DosInAnIcon
Hatte ich auch, aber zum Nachvollziehen ...
mit opsi-script eigenen Mitteln
Wäre mir auch lieber, mir fehlen aber die Beispiele und ob mein Vorhaben überhaupt ginge?
Tatsächlich ist mein Anliegen:

Code: Alles auswählen

FOR /F "TOKENS=1* DELIMS=" %%i IN (' REG.exe QUERY "HKCR\SystemFileAssociations" /S /K /F "MediaInfo" ^^^| FIND.exe "MediaInfo" ') DO ( REG DELETE "%%i" /F )
Ok, geht allerdings nur mit HKLM.
Benutzeravatar
SisterOfMercy
Beiträge: 1522
Registriert: 22 Jun 2012, 19:18

Re: [gelöst] DOSBatch und reg.exe query funktioniert nicht

Beitrag von SisterOfMercy »

What are you trying to do? I can see you're deleting something, but what's up with the "mediainfo"?
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
Antworten