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/contentid/284443
Ausgedruckt am: 17.11.2024 um 15:11 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