Reg auslesen

  • VBScript

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Ametrin.

    Hallo!

    Bin neu in dem Geschäft darum brauche ich Hilfe

    Wie kann ich aus der Registry mehrere Sz Werte auslesen?

    Folgenden anwendung möchte gerne via VBS die Port IP's von diversen druckern auslesen:

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\<Portname>\

    Hier gibt es einen Wert der sich <IPAddress> nennt den brauche ich.

    Ich möchte das ganze in eine Date schreiben die dann wie folgs aussehen soll

    1. PortName:<Portname> PortIP: <IPAddress>
    2. PortName:<Portname> PortIP: <IPAddress>
    ......
    ....


    Kann mir dabei jemand behilflich sein?

    gruß Ametrin

    Visual Basic-Quellcode

    1. Dim objWshShell
    2. Dim objFSO
    3. Dim objStream
    4. Dim szIP
    5. Set objFSO = CreateObject("Scripting.FileSystemObject")
    6. Set objStream = objFSO.CreateTextFile("Test.txt")
    7. Set objWshShell = CreateObject("WScript.Shell")
    8. szIP = objWshShell.RegRead("HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\<Portname>\<IPAddress>")
    9. objStream.WriteLine szIP
    Danke für den Tipp war aber nicht das was ich meinte. Habs mittlerweile selbst geschaft der Sourcecode sieht jetzt so aus

    Const HKEY_LOCAL_MACHINE = &H80000002

    strComputer = "."

    Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
    strComputer & "\root\default:StdRegProv")

    strKeyPath = "SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports"
    oReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys

    For Each subkey In arrSubKeys
    Set WshShell = CreateObject("WScript.Shell")

    Path = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\"& subkey & "\IPAddress"

    Value = WshShell.RegRead(Path)
    If Value = "" Then
    Path = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports\"& subkey & "\HostName"
    Value = WshShell.RegRead(Path)
    End If

    SchreibeInDatei "Share.txt" , subkey & "@" & Value
    Wscript.Echo subkey , Value
    Next


    Set wshShell = Nothing
    Set oreg =Nothing
    Set Value = Nothing
    Set subkey = Nothing


    Sub SchreibeInDatei(Datei, Text)
    'SWScript.Echo (Text)
    Dim oTextStream 'As Scripting.TextStream
    Dim oFSO 'As Scripting.FileSystemObject

    On Error Resume Next

    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set oTextStream = oFSO.OpenTextFile(Datei, 8, True) ' 8 = Anhängen

    oTextStream.WriteLine Text
    oTextStream.Close

    On Error Goto 0

    End Sub