moses-ms 10 Geschrieben 12. August 2008 Melden Teilen Geschrieben 12. August 2008 Hallo zusammen, ich habe ein Problem beim auslesen der Registry. Ich will einen Registrypfad mit Unterschlüssel auslesen die wiederum Unterschlüssel enthalten können. Leider bringt das Script immer einen Fehler wenn die Unterschlüssel, ermittelt im ersten Lauf, keine Unterschlüssel aufweisen. Script: const HKEY_LOCAL_MACHINE = &H80000002 strComputer = "." Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\"&_ strComputer & "\root\default:StdRegProv") strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\DE-FRAPRT904" objReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys WScript.Echo "Subkeys under " _ & "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\DE-TEST" For Each subkey In arrSubKeys WScript.Echo subkey on error resume next Next Fehler ist das, wenn es keine Unterschlüssel gibt, die aber nicht vorhanden sein müssen. Zitieren Link zu diesem Kommentar
motzel 10 Geschrieben 12. August 2008 Melden Teilen Geschrieben 12. August 2008 Hallo, also wenn es evtl. auch ein AutoIT Code Link: AutoIt v3 - Automate and Script Windows Tasks - For Free! sein kann, dann wäre dieser etwa wie folgt: Script: For $i= 1 to 999 $var = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Providers\DE-FRAPRT904", $i) If @error <> 0 then ExitLoop MsgBox(4096, "SubKey #" & $i & " under HKLM\Software\Microsoft\Windows NT\CurrentVersion\Print\Providers\DE-FRAPRT904: ", $var) Next Gruß motzel Zitieren Link zu diesem Kommentar
moses-ms 10 Geschrieben 15. August 2008 Autor Melden Teilen Geschrieben 15. August 2008 Hallo, habe in einem anderen Forum folgenden Script gefunden On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * from Win32_Printer", , 48) For Each objItem In colItems If objItem.Shared = True Then Text = Text & "Caption: " & objItem.Caption & vbCrLf Text = Text & "Shared: " & objItem.Shared & vbCrLf Text = Text & "***********************************" & vbCrLf End If Next MsgBox Text Das zeigt genau meine Daten die ich benötige und kann diese auch weiterverarbeiten. Trotzdem DANKE Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.