jodecpmp
Goto Top

Alle Drucker (auch lokal installierte) auflisten

Hallo zusammen,

ich kämpfe seit längerem in unserem Netzwerk mit alten Druckerleichen, die leider auch das System zu verlangsamen scheinen. Betroffene Rechner mit alten lokal installierten Druckern sind langsamer druckbefehl dauerd ewig etc.

Gibt es eine möglichkeit z. B. mittels Loginscript alle Drucker also vorallem die lokal installierten auf dem jeweiligen PC´s, abzufragen und am besten in eine Logdatei zwecks späterer Auswertung zu schreiben?

Oder eventuell einen Befehl um die Drucker abzufragen?

System:
5 Terminalserver (Win Server 2003)
150 Clienten (unterschiedliche OS von 98 bis XP, kein Vista!)

Danke und lieben Gruß

Jodec

Content-ID: 90394

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

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

Logan000
Logan000 23.06.2008 um 11:33:37 Uhr
Goto Top
Moin

Mit diesem Skript kannst du remote die Drucker abfragen:
strComputer = "PCName"		' Pemote PC  
'strComputer = "."		' Lokaler PC  
szSQL = "Select * From Win32_Printer"        
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")  
Set colInstalledPrinters =  objWMIService.ExecQuery(szSQL)
For Each objPrinter in colInstalledPrinters
		szMSG = szMSG & objPrinter.Caption & Chr(13) & chr(10)
Next
msgbox szmsg

Darüber hinaus gibt es etliche Inventarisierungstools die das auch können.
Sogar einige gute als Freeware.

Gruß L.
JodecPmP
JodecPmP 23.06.2008 um 11:43:45 Uhr
Goto Top
super Danke werde ich sofort Testen.

DIe Freeware tools muss ich dann mit dem Stichwort Inventar googlen.

Danke
JodecPmP
JodecPmP 23.06.2008 um 12:01:24 Uhr
Goto Top
mit dem Script komm ich nicht ganz zurecht wie muss ich das einbinden? bzw anpassen
Logan000
Logan000 23.06.2008 um 12:03:12 Uhr
Goto Top
DIe Freeware tools muss ich dann mit dem Stichwort Inventar googlen.
Zum Beispiel, oder Forumssuche:


60730
60730 23.06.2008, aktualisiert am 18.10.2012 um 18:35:54 Uhr
Goto Top
Hi,

du willst das im Login verarbeiten - nichts leichter als das face-wink

Also ist die Zeile mit Pemote / Remote uninteressant - du mußt die zweite Zeile nehmen.

strComputer = "."		' Lokaler PC  
szSQL = "Select * From Win32_Printer"        
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")  
Set colInstalledPrinters =  objWMIService.ExecQuery(szSQL)
For Each objPrinter in colInstalledPrinters
		szMSG = szMSG & objPrinter.Caption & Chr(13) & chr(10)
Next
WScript.Echo szmsg

"So" ist das vbs aber uninteressant für dich - du willst ja schließlich irgendwo sammeln und nicht lokal als Popup ausgeben.

Nun gibt es folgende Lösungen.

Du legst irgendwo einen freigegebenen Ordner - auf den die User Schreibrechte haben an und
fügst eine ähnliche Zeile ins loginscript an:

Edit:
der notwenige doppelte / wird im Forensystem als Befehl für Inverse Schrift geparst - daher in codeblöcke geändert.
 @cscript "\\server\freigabe\drucker.vbs" //NoLogo > \\server\freigabe\%computername%.txt  
Damit erstellt jeder Benutzer bei jeder Anmeldung diese txt datei.
Eleganter kannst du diesen "langwierigen Prozeß auch nur einmal" laufen lassen.

 if not exist  \\server\freigabe\%computername%.txt cscript "\\server\freigabe\drucker.vbs" //NoLogo > \\server\freigabe\%computername%.txt  

Oder du baust diese vbs als Custom in das
pbpbpb
pbpbpb 01.08.2011 um 21:27:21 Uhr
Goto Top
hallo jodec
versuch es mal mit "Bonjour" wurde für mac gemacht, gibts aber auch in win version zu download. Bonjour sieht alle drucker, egal ob in einer domäne oder nicht etc.
gruss pb