Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VBScript I Finden eines Registry Unterschlüssels mit bestimmten Key und Stringwert

Frage Entwicklung

Mitglied: Auron2k

Auron2k (Level 1) - Jetzt verbinden

18.03.2010 um 10:34 Uhr, 5520 Aufrufe, 1 Kommentar

Guten Tag,

ich habe folgendes Problem:

Aus dem Registrierungsschlüssel HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall will ich bestimmte Unterschlüssl herausfiltern. Und zwar alle Unterschlüssel die einen Wert Publisher enthalten und dieser gleich einem Stringwert ist, zB "Microsoft".
Ein Script zum "Auslesen" habe ich, aber ich kriege es nicht hin nur den Bestimmten Schlüssel auszugeben.

01.
'---------------------------------------------------------------- 
02.
'Extract all registry data for the specified key and its subkeys. 
03.
'---------------------------------------------------------------- 
04.
Const sKeyPath = "Software\Microsoft\Windows\CurrentVersion\Uninstall" 
05.
Const HKCR=&H80000000, HKCU=&H80000001, HKLM=&H80000002, HKUS=&H80000003 
06.
Const REG_SZ = 1 
07.
Const REG_EXPAND_SZ = 2 
08.
Const REG_BINARY = 3 
09.
Const REG_DWORD = 4 
10.
Const REG_MULTI_SZ = 7 
11.
 
12.
Set oReg = GetObject("winmgmts:\\.\root\default:StdRegProv") 
13.
 
14.
oReg.EnumKey HKLM, sKeyPath, aEntryNames 
15.
If Not IsNull(aEntryNames) Then 
16.
	For i = 0 To UBound(aEntryNames) 
17.
	GetValues sKeyPath & "\" & aEntryNames(i) 
18.
	Next 
19.
End If 
20.
WScript.Quit 
21.
 
22.
'----------------------------------- 
23.
'Process the current key recursively 
24.
'----------------------------------- 
25.
Sub GetValues (sPath) 
26.
Dim aNames, i 
27.
 
28.
oReg.EnumValues HKLM, sPath, aD_Names, aValueTypes   'Get the data 
29.
If Not IsNull(aD_Names) Then 
30.
	For i = o To UBound(aD_Names) 
31.
	DisplayData sPath, aD_Names(i), aValueTypes(i) 
32.
	Next 
33.
End If 
34.
 
35.
oReg.EnumKey HKLM, sPath, aK_Names      'Get the subkeys 
36.
If Not IsNull(aK_Names) Then 
37.
	For i = 0 To UBound(aK_Names) 
38.
	GetValues sPath & "\" & aK_Names(i)   ' 
39.
	Next 
40.
End If 
41.
End Sub 
42.
 
43.
 
44.
'---------------------------------------- 
45.
'Display the data for the specified value 
46.
'---------------------------------------- 
47.
Sub DisplayData(sPath, sName, iType) 
48.
WScript.Echo "Name: " & sName 
49.
	Select Case iType 
50.
		Case REG_SZ 
51.
		oReg.GetStringValue HKLM, sPath, sName,sValue 
52.
		WScript.Echo "String=" & sValue 
53.
		Case REG_EXPAND_SZ 
54.
		oReg.GetExpandedStringValue HKLM, sPath, sName, esValue 
55.
		WScript.Echo "Expanded String=" & esValue 
56.
		Case REG_BINARY 
57.
		oReg.GetBinaryValue HKLM, sPath, sName,aValues 
58.
		Line = "" 
59.
			For Each byteValue In aValues 
60.
			Line = Line & byteValue 
61.
			Next 
62.
		WScript.Echo "Binary=" & Line 
63.
		Case REG_DWORD 
64.
		oReg.GetDWORDValue HKLM, sPath, sName,dwValue 
65.
		WScript.Echo "DWORD=" & dwValue 
66.
		Case REG_MULTI_SZ 
67.
		oReg.GetMultiStringValue HKLM, sPath, sName, aValues 
68.
		Line = "" 
69.
			For Each sValue In aValues 
70.
			Line = Line & sValue & vbLf 
71.
			Next 
72.
		WScript.Echo "Multi String=" & Line 
73.
	End Select 
74.
End Sub

Kann mir da jemand weiterhelfen?
Mitglied: Auron2k
18.03.2010 um 17:01 Uhr
Habe das Problem gelöst, falls es jemanden Interessiert, hier das Script:

01.
Const HKEY_LOCAL_MACHINE = &H80000002 
02.
 
03.
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")  
04.
 
05.
Dim arrSubKeys() 
06.
  
07.
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Uninstall" 
08.
oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys 
09.
 
10.
On Error Resume Next 
11.
 
12.
	For Each subkey In arrSubKeys 
13.
	    
14.
	    strSubKey = "Software\Microsoft\Windows\CurrentVersion\Uninstall\" & subkey 
15.
		 
16.
		Set oShell = WScript.CreateObject("WScript.Shell") 
17.
	 
18.
		test = oShell.RegRead("HKLM\" & strSubKey & "\wertnachdemgesuchtwird") 
19.
		 
20.
		If (test = "valuedeswertes) = TRUE Then 
21.
			subkey1 = subkey 
22.
			Else 
23.
			End If 
24.
	Next 
25.
	 
26.
//Deine Aktionen// 
27.
 
28.
Loop
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst Per Vbscript bestimmte Zeile ungeachtet der Nummerierung prüfen (7)

Frage von aletri zum Thema VB for Applications ...

VB for Applications
gelöst HTML, VBScript: Bei Drop-Down-Auswahl bestimmte Radio-Buttons einblenden (3)

Frage von Yauhun zum Thema VB for Applications ...

Batch & Shell
gelöst Powershell Registry (1)

Frage von Marabunta zum Thema Batch & Shell ...

Neue Wissensbeiträge
Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Exchange Server

Mittels Batch-Script Exchange-Logs sammeln und archivieren

Anleitung von beidermachtvongreyscull zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Verschlüsselung & Zertifikate
SSL Zertifikat für HTTPS (33)

Frage von Hendrik2586 zum Thema Verschlüsselung & Zertifikate ...

Grafikkarten & Monitore
24" oder 27" mit Full HD oder doch mehr Auflösung? (21)

Frage von brutzler zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Linksys wrt1200ac v2 mit dd-wrt: keine vlan-einstellungen im GUI (15)

Frage von Pixi123 zum Thema Router & Routing ...

Netzwerke
Ip Adressenkonflikt bei Großfamilie (12)

Frage von gunter zum Thema Netzwerke ...