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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 90394
Url: https://administrator.de/contentid/90394
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
6 Kommentare
Neuester Kommentar
Moin
Mit diesem Skript kannst du remote die Drucker abfragen:
Darüber hinaus gibt es etliche Inventarisierungstools die das auch können.
Sogar einige gute als Freeware.
Gruß L.
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.
Hi,
du willst das im Login verarbeiten - nichts leichter als das
Also ist die Zeile mit Pemote / Remote uninteressant - du mußt die zweite Zeile nehmen.
"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.
Damit erstellt jeder Benutzer bei jeder Anmeldung diese txt datei.
Eleganter kannst du diesen "langwierigen Prozeß auch nur einmal" laufen lassen.
Oder du baust diese vbs als Custom in das
du willst das im Login verarbeiten - nichts leichter als das
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
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