Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Wo befinden sich alle installierten Druckertreiber in der Registry ?

Frage Sonstige Systeme

Mitglied: Azubi1452

Azubi1452 (Level 1) - Jetzt verbinden

07.12.2010 um 10:12 Uhr, 20765 Aufrufe, 6 Kommentare

Hallo zusammen,

ich möchte alle überflüssigen Druckertreiber von unseren Terminalserver deinstallieren. Dazu möchte ich alle installierten Druckertreiber per Skript auslesen.
Das Skript habe ich bereits fertig.

Nur fehlt mir der Speicherort in der Registry.

Hier:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Devices"
und hier:
hkey_local_machine\system\currentcontrolset\control\print\printers\

stehen leider nur alle verwendete Drucker.

Wenn man den Ordner Drucker und Faxgeräte öffnet, da auf "Datei - Servereigenschaften - Treiber" geht, sieht man alle installierten Druckertreiber.
Und genau die Liste möchte ich aus der Registry auslesen.

Wisst ihr wo in der Registry sich die Druckertreiber befinden ?

Danke schonmal.

Gruß,
Azubi
Mitglied: 60730
07.12.2010 um 12:05 Uhr
moin,

darf man fragen "warum"?

Du hast keinen Geschwindigkeits oder sonstigen Vorteul, wenn du nicht benutzte Druckertreiber löschst.
Die werden nur dann geladen, wenn Sie gebraucht werden.

Gruß
Bitte warten ..
Mitglied: Skyemugen
07.12.2010 um 12:16 Uhr
Aloha,

Hm, die Zeit wo du versuchst den Ort in der registry herauszubekommen, hättest du schon alle ungewollten manuell entfernen können ;)

greetz André
Bitte warten ..
Mitglied: Azubi1452
07.12.2010 um 14:18 Uhr
Mahlzeit,

ich möchte alle unnötigen Fehlerquellen ausschließen und außerdem dafür sorgen, dass alle Terminalserver auf dem gleichen Stand sind.
@Skyemugen: jop, ich glaube dass werde ich nun auch machen müssen, sind ja nur ca. 50 Terminalserver ^^
Eigentlich schade, das Skript für diese Aufgabe habe ich nämlich gerade vorhin fertigstellen können.

Danke für eure Antworten.

Bis dann
Bitte warten ..
Mitglied: manbar
07.12.2010 um 15:10 Uhr
weihst du uns auch ein?

bin neugierig auf dein script, ich bräuchte sowa in naher zukunft auch..
Bitte warten ..
Mitglied: Azubi1452
07.12.2010 um 15:23 Uhr
klar ;)

Hier einmal die Version, die einen bestimmten Zweig in der Registry ausliest. Allerdings, wie gesagt nur die tatsächlich verwendeten Drucker.
01.
  
02.
Const HKEY_CURRENT_USER = &H80000001 
03.
strComputer = "." 
04.
sKeyPath = "Software\Microsoft\Windows NT\CurrentVersion\Devices" 
05.
 
06.
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
07.
strComputer & "\root\default:StdRegProv") 
08.
 
09.
If oReg.EnumValues(HKEY_CURRENT_USER, sKeyPath, _ 
10.
aValueNames, aValueTypes) = 0 Then 
11.
 
12.
'Wenn keine Werte vorhanden sind, ist 'aValueNames' null, wenn welche vorhanden sind 
13.
'ist es ein Variant-Array. Als IsNull u/o VarType anwenden 
14.
 
15.
If not isnull(aValueNames) Then 
16.
WScript.Echo "Anzahl Values in HKCU " & sKeyPath & " -> " _ 
17.
& UBound(aValueNames) + 1 
18.
For i = 0 To UBound(aValueNames) 
19.
WScript.Echo aValueNames(i) 
20.
Next 
21.
Else 
22.
WScript.Echo "Keine Werte im Key vorhanden!" 
23.
End If 
24.
Else 
25.
WScript.Echo "Key nicht vorhanden oder Fehler beim Enumerieren der Werte!" 
26.
End If 
27.
 
28.
 
29.
'Software\Microsoft\Windows NT\CurrentVersion\Devices" listet nur die verwendeten Drucker auf und nicht alle installierten ! 
30.
' hkey_local_machine\system\currentcontrolset\control\print\printers\
Dieses Skript arbeitet mit der Win32_Printer Klasse und kann somit auch einige Infos der Treiber auslesen - aber auch hier leider nicht alle installierten Treiber.
Genau auf die korrekten Pfad-angaben schauen...sind so einige versteckt im Skript...

01.
'####################################################################################################################################################' 
02.
'#Dieses Skript soll sich auf allen Terminalserver anmelden und checken welche Druckertreiber jeweils installiert sind.                             #' 
03.
'#Die Infos sollen dann in eine Excel oder TXT- DAtei übersichtlich dargestellt werden und später zum Abgleich verschiedenener Probleme helfen      #' 
04.
'#Als nächstes sollen die Listen jeweils mit der Liste von dem Printserver abgeglichen werden und die Unterschiede übersichtlich dargestellt werden #' 
05.
'####################################################################################################################################################' 
06.
'Option Explicit 
07.
 
08.
Dim i, j, fso, flgDouble, objFile, strArray (), strLine 
09.
Dim Abgeschlossen, objWbemLocator, vbInfo, objFSO, oArg, oFile, strNamespace, strUser, strPassword 
10.
Dim  strServerpfad 
11.
 
12.
Const WbemAuthenticationLevelPktPrivacy = 6 
13.
Set objWbemLocator = CreateObject("WbemScripting.SWbemLocator") 
14.
Set objFSO = CreateObject("Scripting.FileSystemObject") 
15.
Set oArg = wscript.arguments 
16.
'--------------------------------------------Einstellung Anfang--------------------------------' 
17.
strNamespace  = "root\cimv2"         
18.
strUser       = "Domäne\Admin"  
19.
strPassword   ="PW" 
20.
strServerpfad = "Pfad" 
21.
'strAusgabe  =  "Zeile 36" 
22.
'--------------------------------------------Einstellung Ende----------------------------------' 
23.
'---------------Datei einlesen und in ein Array schreiben--------------------------------------' 
24.
arrServer = Split(objFSO.OpenTextFile(strServerpfad).ReadAll, vbCrLf) 
25.
Set oFile = objFSO.OpenTextFile(strServerpfad) 
26.
'--------------------------------------------Schleifen- ANFANG---------------------------------' 
27.
For Each strServer In arrServer 
28.
 
29.
    ifertig = "False" 
30.
    i2fertig = "False" 
31.
 
32.
    If isOnline(strServer) Then 
33.
     
34.
        Set objWMI = objwbemLocator.ConnectServer _ 
35.
                     (strServer, strNamespace, strUser, strPassword) 
36.
        objWMI.Security_.authenticationLevel = WbemAuthenticationLevelPktPrivacy   
37.
 
38.
Set colItems = objWMI.ExecQuery("Select * from Win32_Printer",,48) 
39.
Set Ausgabedatei = objFSO.CreateTextFile("C:\test\doppelt\Druckerliste_" & strServer &"_doppelt.txt",1)  
40.
 
41.
  For Each objItem in colItems 
42.
  'Ausgabedatei.WriteLine "Servername: " & strServer  
43.
  'Ausgabedatei.WriteLine "Drucker: " & objItem.Name 
44.
  'Ausgabedatei.WriteLine "Model und Kommentar: " & objItem.Comment 
45.
  'Ausgabedatei.WriteLine "DriverName: " & objItem.DriverName 
46.
  Ausgabedatei.WriteLine objItem.DriverName 
47.
  'Ausgabedatei.WriteLine "-----------------------------------------" 
48.
  Next 
49.
  Ausgabedatei.Close 
50.
 
51.
'##### Hier wird nun gecheckt ob es doppelte Treiber gibt, die dann gelöscht werden' 
52.
'Ein = "Pfad" 
53.
Aus = "C:\test\Druckerliste_" & strServer &".txt" 
54.
 
55.
'Set fso = CreateObject("Scripting.FileSystemObject") 
56.
Set d = CreateObject("Scripting.Dictionary") 
57.
 
58.
ZeilenEin = Split(objFSO.OpenTextFile("C:\Druckerlisten\doppelt\Druckerliste_" & strServer &"_doppelt.txt").ReadAll, vbCrLf) 
59.
For Each Zeile In ZeilenEin 
60.
    If Not d.Exists(Zeile) Then d.Add Zeile, Dummy 
61.
Next 
62.
 
63.
objFSO.CreateTextFile(Aus).Write Join(d.Keys, vbCrLf) 
64.
 
65.
  End If 
66.
Next 
67.
oFile.Close 
68.
'--------------------------------------------Schleifen- ENDE---------------------------------' 
69.
objFSO.DeleteFile "C:\test\doppelt\*.*" 
70.
'-------------------------------Ende--------------------------------------------' 
71.
function IsOnline(host) 
72.
set WshShell = CreateObject("Wscript.Shell") 
73.
set temp = wshshell.Exec ("ping.exe -n 1 -w 100 "&host) 
74.
dummy = temp.StdOut.ReadAll 
75.
IF instr(1,dummy,"Antwort") >0 THEN 
76.
isonline = true 
77.
ELSE 
78.
isonline = false 
79.
END IF 
80.
end Function 
81.
'------------------------Fertig----------------------------------------------' 
82.
MsgBox "Fertig!", Abgeschlossen, vbInfo 
Gruß,
Azubi
Bitte warten ..
Mitglied: Azubi1452
08.12.2010 um 11:18 Uhr
Moin,

nur zur Info: Hat sich erledigt.

Habe ein passendes Beispiel gefunden.

http://gallery.technet.microsoft.com/scriptcenter/en-us/f79f2fe5-1528-4 ...

Dieses Skript listet wirklich alle installierten Drucktreiber auf. Es wird die WMI Klasse: Win32_PrinterDriver verwendet.

Ich habe mir immer nur diese WMIKlasse angeschaut: Win32_Printer....

Gruß
Bitte warten ..
Ähnliche Inhalte
Drucker und Scanner
Windows 8.1 Druckertreiber kann nicht installiert werden (4)

Frage von Maffi zum Thema Drucker und Scanner ...

Drucker und Scanner
Druckertreiber Probleme (1)

Frage von MedicalAd zum Thema Drucker und Scanner ...

Windows Server
gelöst Druckertreiber dem Druckserver hinzufügen mit den Scannertreiber (6)

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

Drucker und Scanner
Suche Druckertreiber für diverse HP (7)

Frage von Y3shix zum Thema Drucker und Scanner ...

Neue Wissensbeiträge
Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(10)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Sicherheit

Eventuell neue Lücke in Intels ME

Information von sabines zum Thema Sicherheit ...

Heiß diskutierte Inhalte
Humor (lol)
Freidach Beitrag (29)

Frage von Penny.Cilin zum Thema Humor (lol) ...

Lizenzierung
Programm soll in verschiedenen Versionen lizenziert sein (20)

Frage von Yanmai zum Thema Lizenzierung ...

Windows 7
SSD - Win7 Lags (19)

Frage von ph5555 zum Thema Windows 7 ...

Humor (lol)
Wo ist der Fehler auf dem Bild? (17)

Information von the-buccaneer zum Thema Humor (lol) ...