Jump to content

Auslesen der Registry mit Unterschlüssel


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

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.

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...