none
Settare una stampante di default via script e file reg

    Domanda

  • 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

    martedì 20 marzo 2012 15:00

Risposte

Tutte le risposte

  • Ciao, dai una lettura  all'articolo di Ermanno Goletto ed allo Script Center

    Saluti

    Nino

    • Proposto come risposta NinoRCTN martedì 20 marzo 2012 19:22
    • Contrassegnato come risposta crazy.cat mercoledì 21 marzo 2012 19:24
    martedì 20 marzo 2012 19:22
  • 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
    ::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
    )
    Ciao Gas


    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!


    martedì 20 marzo 2012 21:33
    Moderatore
  • 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: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.

    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!

    mercoledì 21 marzo 2012 19:44
    Moderatore