Settare una stampante di default via script e file reg
-
martedì 20 marzo 2012 15:00
Pc in rete aziendale con windows xp, ho dovuto creare delle stampanti di rete con connessione tcp/ip, dato che ai pc accedono diversi utenti, ho bisogno di mettere in esecuzione automatica uno script che mi setti una determinata stampante di default.
La chiave di registro, verificata con regshot, che cambia quando si modifica la stampante di default è in HKEY_USERS\S-**********\Software\Microsoft\Windows NT\CurrentVersion\Windows solo che ogni utente ha un suo s-****** e quindi non posso mettere una chiave comune a tutti.
Non posso agire a livello di policy aziendali, devo impostare qualcosa a livello di pc, se anche imposto da amministratore locale la printer di default che mi serve, quando accedo come utente di rete mi trovo impostata la stampante xps di Microsoft.
Se anche non si può fare via script e file reg, se avete altre idee sono gradite.
Grazie
Tutte le risposte
-
martedì 20 marzo 2012 19:22
- Proposto come risposta NinoRCTNMicrosoft Community Contributor martedì 20 marzo 2012 19:22
- Contrassegnato come risposta crazy.cat mercoledì 21 marzo 2012 19:24
-
martedì 20 marzo 2012 21:33Moderatore
Per settare la stampante di defult basta il comando: rundll32 printui.dll,PrintUIEntry /y /n "hpdeskjet"
Per il sid utente wmic path win32_useraccount where name='%username%' get sid
visto che non capisco perchè hai dovuto installare le stampanti tcp/ip solo perchè accedono utenti diversi... questo è uno script che modifica la stampante in funzione dell'utente (da mettere in esecuzione automatica di all users)
@echo off
Ciao Gas
::installaPrinter.cmd
:: printui.dll (standard da w2k a w7/w2k8)
if /I +%username%+==+Paperino+ (
:: se l'utente è paperino
:: installa localmente la stampante Printer_CONDIVISA
RUNDLL32.EXE printui.dll,PrintUIEntry /q /u /in /n "\\SERVER_XP\Printer_CONDIVISA"
:: Forza come stampante di default la Printer_CONDIVISA
RUNDLL32.EXE printui.dll,PrintUIEntry /n "\\SERVER_XP\Printer_CONDIVISA" /y
)
if /I +%username%+==+pluto+ (
RUNDLL32.EXE printui.dll,PrintUIEntry /q /u /in /n "\\SERVER_XP\Printer_2"
RUNDLL32.EXE printui.dll,PrintUIEntry /n "\\SERVER_XP\Printer_2" /y
)
:: se l'utente è gas
if /I +%username%+==+gastone+ (
RUNDLL32.EXE printui.dll,PrintUIEntry /n "LASER TCP di gas" /y
)
Gastone Canali >http://www.armadillo.it
Se alcuni post rispondono al tuo quesito (non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili . GRAZIE!- Modificato GastoneCanaliMicrosoft Community Contributor, Moderator mercoledì 21 marzo 2012 00:02
-
mercoledì 21 marzo 2012 19:28
rundll32 printui.dll,PrintUIEntry /y /n "hpdeskjet"
Alla fine ho usato questo script in esecuzione automatica, bello comunque anche quello seguente che terrò sicuramente a mente in caso di bisogno.
Grazie a tutti.
-
mercoledì 21 marzo 2012 19:44Moderatore
rundll32 printui.dll,PrintUIEntry /y /n "hpdeskjet"
Alla fine ho usato questo script in esecuzione automatica, bello comunque anche quello seguente che terrò sicuramente a mente in caso di bisogno.
Grazie a tutti.
Grazie del feedback!
Ciao
Gastone Canali >http://www.armadillo.it
Se alcuni post rispondono al tuo quesito (non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili . GRAZIE!

