stbewo
Goto Top

Wie kann ich mit Regread einen Wert auslesen der im Namen Backslash enthält

Schlüssel der Netzwerkdrucker aus HKCU\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts auslesen.

Hallo zusammen,

zur Zeit habe ich ein Problem mit "Regread" Werte aus der Registry auszulesen. Normale Werte sind kein Problem aber speziell die unter HKCU\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts stehen bereiten mir doch Probleme.

Netzwerkdrucker werden als Schlüssel Beispiel "\\S0001131\DE-MAN-PRT001" eingetragen.

Regread - oder besser ich - hat jetzt natürlich das Problem, wo endet mein Key. Der Schlüssel sieht in meinem Beispiel so aus.

HKCU\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts\\\S0001131\DE-MAN-PRT001

Im Wert "\\S0001131\DE-MAN-PRT001" steht "winspool,Ne02:,15,45".

Wir benutzen ein Script um Benutzerbezogene PRN Files (einfache Textfiles) einzulesen um die darin stehenden Drucker dem Benutzer zuzuweisen. Nur in manchen Fällen steht nach dem Ausführen von "AddWindowsPrinterConnection" der Druckertreibername anstatt die Spoolerzuweisung drin, wie im Beispiel.

Vielleicht kann mir der eine oder andere einen Tip geben.

Gruß

Stefan

Content-Key: 75375

Url: https://administrator.de/contentid/75375

Ausgedruckt am: 29.03.2024 um 00:03 Uhr

Mitglied: 58502
58502 06.12.2007 um 14:10:09 Uhr
Goto Top
"\\S0001131\DE-MAN-PRT001" ist nicht Teil des Schlüssels, sondern ein Wert im Schlüssel
HKCU\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts .
Wie du mit RegRead einen Wert auslesen kannst, steht sicher in der Hilfe zum Programm.
Mitglied: stbewo
stbewo 06.12.2007 um 14:33:27 Uhr
Goto Top
Es stellt sich für mich trotzdem als Problem dar den Wert und die darin befindlichen Daten auszulesen. Mit einem lokalen Drucker, wie z.B "CutePDF Writer" funktioniert das ganze. Alle Werte beginnend mit "\\" kann ich so nicht auslesen.

Gruß
Stefan
Mitglied: stbewo
stbewo 07.12.2007 um 09:31:26 Uhr
Goto Top
Die Lösung zu meinem Problem ist "GetStringValue"

Const HKEY_CLASSES_ROOT = &H80000000
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_USERS = &H80000003
Const HKEY_CURRENT_CONFIG = &H80000005
DIm valueNames, keyNames, arrSubKeys
strComputer = "."
regKey = "Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts"

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

oReg.EnumValues HKEY_CURRENT_USER, regKey, valueNames, valueTypes

For e=0 To UBound(valueNames)
oReg.GetStringValue HKEY_CURRENT_USER, regKey, valueNames(e), strValue
WScript.Echo "Drucker = " & valueNames(e) & " Data = " & strValue
Next

Set oReg = Nothing

wscript.quit