Script um Drucker als Standard zu definieren
Hallo zusammen,
wir haben VMware View im Einsatz mit ZeroClients (OS Windows 7 Prof). Die User weisen sich daher einmalig ihren Arbeitsplatzdrucker,
der als Netzwerkdrucker am Client angeschlossen ist, zu. Dieser wird dann in Ihrem Profil gespeichert und ist bei der nächsten Anmeldung auch da. Alles gut.
Problem hierbei ist, das bei der nächsten Neuanmeldung der Drucker nicht mehr als Standard definiert ist.
Hier mein vbs.Script, um das Problem zu lösen:
Die Ausgabe des Namen des Netzwerkdruckers klappt, aber er wird nicht als Standard definiert.
Ich hoffe, es weiß jem ne Lösung!
Danke
wir haben VMware View im Einsatz mit ZeroClients (OS Windows 7 Prof). Die User weisen sich daher einmalig ihren Arbeitsplatzdrucker,
der als Netzwerkdrucker am Client angeschlossen ist, zu. Dieser wird dann in Ihrem Profil gespeichert und ist bei der nächsten Anmeldung auch da. Alles gut.
Problem hierbei ist, das bei der nächsten Neuanmeldung der Drucker nicht mehr als Standard definiert ist.
Hier mein vbs.Script, um das Problem zu lösen:
On Error Resume Next
strComputer = "."
Set cShell = CreateObject("WScript.shell")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Printer where Name like '%Laser%' ",,48)
For Each objItem in colItems
Wscript.Echo "Name: " & objItem.Name
REM cShell.run "rundll32 printui.dll,PrintUIEntry /q /n " & "objltem.Name" , 1, true
wshell.run("rundll32 printui.dll,PrintUIEntry /y /n objltem.Name" )
Next
Die Ausgabe des Namen des Netzwerkdruckers klappt, aber er wird nicht als Standard definiert.
Ich hoffe, es weiß jem ne Lösung!
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 284443
Url: https://administrator.de/forum/script-um-drucker-als-standard-zu-definieren-284443.html
Ausgedruckt am: 10.04.2025 um 01:04 Uhr
6 Kommentare
Neuester Kommentar

Warum nicht per GPO ?
Du hast in deinem Code eine Variable innerhalb von Anführungszeichen gesetzt, das geht so nicht du musst sie mit & verknüpfen.
Simpler ohne den DLL Aufruf geht es in VBS hiermit
Den Namen des Druckers kannst du ja mit dem Teil deines Skriptes an den Aufruf übergeben ...
Gruß grexit
Du hast in deinem Code eine Variable innerhalb von Anführungszeichen gesetzt, das geht so nicht du musst sie mit & verknüpfen.
Simpler ohne den DLL Aufruf geht es in VBS hiermit
CreateObject("WScript.Network").SetDefaultPrinter "\\Server\LaserjetXYZ"
Den Namen des Druckers kannst du ja mit dem Teil deines Skriptes an den Aufruf übergeben ...
Gruß grexit

Nee, das & weglassen ...
CreateObject("WScript.Network").SetDefaultPrinter objItem.Name