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, 5362 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Windows Vista
gelöst Vista Home Premium nur Basic Key (8)

Frage von Chonta zum Thema Windows Vista ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...