Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

HKEY USERS via VBS auslesen zwecks Druckeranalyse

Frage Entwicklung Batch & Shell

Mitglied: chas0rde

chas0rde (Level 1) - Jetzt verbinden

03.09.2007, aktualisiert 04.09.2007, 6987 Aufrufe, 1 Kommentar

Programmierung eines VBScripts, welches aus der Registry eines Terminalservers die gemappten Drucker (und deren Treiber) ausliest, um "Treiberleichen" zwecks verbesserter Systemstabilität zu deinstallieren

Hallo,
ich möchte ein Script schreiben, welches mittel VBS (oder auch ähnlichem) aus HKEY_USERS die gemappten Drucker der User an einem Win2000 TS mit Citrixumgebung ausliest.

Mit den gewonnenen Daten möchte ich anschließend eine Auswertung fahren, um nicht mehr verwendete Druckertreiber aus dem System zu entfernen und so die Stabilität zu erhöhen.

Ich scheitere jedoch schon direkt am Anfang beim Auslesen der Daten aus der Registy.

Folgendes Codebeispiel:
01.
Const HKEY_CLASSES_ROOT  = &H80000000 
02.
Const HKEY_CURRENT_USER   = &H80000001 
03.
Const HKEY_LOCAL_MACHINE  = &H80000002 
04.
Const HKEY_USERS          = &H80000003 
05.
Const HKEY_CURRENT_CONFIG = &H80000005 
06.
 
07.
  
08.
 
09.
Set reo = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") 
10.
 
11.
regKey = "S-1-5-21-527237240-113007714-682003330-18312\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts" 
12.
reo.EnumValues HKEY_USERS, regKey, arrValueNames, arrValueTypes 
13.
 
14.
Const REG_SZ        = 1 
15.
Const REG_EXPAND_SZ = 2 
16.
Const REG_BINARY    = 3 
17.
Const REG_DWORD     = 4 
18.
Const REG_MULTI_SZ  = 7 
19.
 
20.
For i=0 To UBound(arrValueNames) 
21.
    WScript.Echo arrValueNames(i) 
22.
    Select Case arrValueTypes(i) 
23.
        Case REG_SZ 
24.
            WScript.Echo "  String" 
25.
        Case REG_EXPAND_SZ 
26.
            WScript.Echo "  Expanded String" 
27.
        Case REG_BINARY 
28.
            WScript.Echo "  Binary" 
29.
        Case REG_DWORD 
30.
            WScript.Echo "  DWORD" 
31.
        Case REG_MULTI_SZ 
32.
            WScript.Echo "  Multi String" 
33.
    End Select 
34.
Next 
Das lesen aus HKEY_USERS klappt hier nicht.
Das Script bricht mit einem Fehler in Bezug auf UBound ab.
01.
Fehler:Typen unverträglich: UBound 
02.
Code: 800A000D
Ein Test mit isArray, ob arrValueNames ein Array ist scheitert.
Ich vermute also, dass ein quasi leeres Resultat zurückgeliefert wird.

Selbige Abfrage auf HKLM oder andere funktioniert.
Auch eine direkte Abfrage eines REG_SZ innerhalb des Pfades im Codebeispiel mittels WSH-Shell mittels readkey funktioniert.

Hat jemand eine Idee woran dies liegen könnte?

Das Script selbst wird direkt auf dem Terminalserver ausgeführt und die Einträge sind in der Registry vorhanden.

Danke
chaser
Mitglied: chas0rde
04.09.2007 um 09:21 Uhr
Hallo @ll,
ich habe einen alternativen Lösungsweg gefunden:

http://www.administrator.de/installierte_Drucker_auslesen.html#164791

mich interessiert jedoch trotzdem, warum das Auslesen in HKEY_USERS nicht funktioniert.
Also falls jemand eine Idee hat, kann diese ruhig posten ;)

Danke
chaser
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Eventlog Druckjobs mit VBS auslesen (2)

Frage von joni2000de zum Thema Batch & Shell ...

Entwicklung
Zählerstände über SNMP und VBS auslesen (4)

Frage von motofuzy zum Thema Entwicklung ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (24)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...