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

Welcher (lokale) Drucker verwendet welchen Treiber (inkl. Version und SupportedPlatform)

Frage Microsoft

Mitglied: Kurt.Maurer

Kurt.Maurer (Level 1) - Jetzt verbinden

03.07.2012 um 14:42 Uhr, 3920 Aufrufe, 1 Kommentar

Hallo Leute,

ich bin gerade dabei , für eine Server 2008 R2-Domänenumbegung ein Skript zum Löschen nicht mehr benötigter Druckertreiber (als Startup-Skript, clientseitig) zu entwerfen.

Nehmen wir nun an, ich möchte einen Treiber löschen, der bisher von einem verknüpften Drucker genutzt wurde (nun aber nicht mehr benötigt wird, z.B. weil ein neuer Treiber auf dem Druckserver bereitgestellt wird).
Dieser Treiber soll aber nur gelöscht werden, falls kein lokal installierter Drucker diesen Treiber noch benutzt.
Folglich muss erst festgestellt werden, welche Drucker welchen Treiber benutzen.

Ich kann nun zwar die Drucker und deren Treiber auflisten, allerdings fehlen dann die Infos zu
Version und SupportedPlatform (brauche ich aber, denn theoretisch kann auf einem System der 32- und 64-bit Treiber installiert sein):

Die Eigenschaft "Version" gibt die Versionsnummer des Betriebssystems an, für den dieser Treiber bestimmt ist.
  • 0 Win9x
  • 1 Win351
  • 2 NT40
  • 3 Win2k

Die Eigenschaft "SupportedPlatform" gibt die Betriebssysteme an, für die dieser Treiber bestimmt ist.
Beispiele: Windows NT x86 oder Windows IA64 oder Windows x64


01.
' List Printer Connections 
02.
 
03.
strComputer = "." 
04.
Set objWMIService = GetObject("winmgmts:" _ 
05.
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
06.
 
07.
Set colInstalledPrinters =  objWMIService.ExecQuery _ 
08.
    ("Select * from Win32_Printer") 
09.
 
10.
For Each objPrinter in colInstalledPrinters 
11.
    Wscript.Echo "Name: " & objPrinter.Name 
12.
    Wscript.Echo "Treiber-Name: " & objPrinter.DriverName  
13.
Next
Ebenso kann ich alle Treiber auflisten lassen, mit den Infos zu Version und SupportedPlatform, dann fehlen aber wieder die Infos, welche Drucker diese Treiber nutzen. Mir ist klar, dass ich in einem Startup-Skript nicht feststellen kann, welche verknüpften Drucker welchen Treiber benutzen, bei den lokalen Druckern ist dies jedoch möglich.

01.
' List Printer Drivers 
02.
 
03.
strComputer = "." 
04.
Set objWMIService = GetObject("winmgmts:" _ 
05.
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
06.
Set colInstalledPrinters =  objWMIService.ExecQuery _ 
07.
    ("Select * from Win32_PrinterDriver") 
08.
 
09.
For each objPrinterDriver in colInstalledPrinters 
10.
    Wscript.Echo "Name: " & objPrinterDriver.Name 
11.
    Wscript.Echo "Supported Platform: " & objPrinterDriver.SupportedPlatform 
12.
    Wscript.Echo "Version: " & objPrinterDriver.Version 
13.
Next

Wie kann ich nun also, zumindest für lokale Drucker, eine Liste erstellen die ungefähr so aussieht?:

Druckername;Treiber
HP Laserjet 4200;HP LaserJet 4200 PCL 5e,3,Windows NT x86
An OneNote 2010 senden;Send To Microsoft OneNote 2010 Driver,3,Windows NT x86


Danke für eure Hilfe!
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...