moses-ms 10 Geschrieben 12. August 2008 Melden 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.
motzel 10 Geschrieben 12. August 2008 Melden 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
moses-ms 10 Geschrieben 15. August 2008 Autor Melden 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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden