IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Script d'installation d'imprimante partagé


Sujet :

VBScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 118
    Points : 94
    Points
    94
    Par défaut Script d'installation d'imprimante partagé
    Bonjour a tous,

    Voila, je travaille actuellement pour un hôpital et je cherche donc à faire un script qui permet d'installer pour chaque utilisateur, l'imprimante partagé ( en réseau donc, enfin c'est pas vraiment en réseau, c'est plutôt du local partagé mais bon...)

    J'ai réussi a faire quelque chose de similaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Chemin1=inputBox("Indiquez le chemin de l'imprimante","MessageBox")
    set WshNetwork=CreateObject("WScript.Network")
    on error resume next
    PrinterPath=Chemin1
    WshNetwork.RemovePrinterConnection PrinterPath, true, true
    WshNetwork.AddwindowsPrinterConnection (PrinterPath)
    Mais le soucis avec ce script, c'est qu'il faut se souvenir du nom de serveur + du nom de l'imprimante, ceux qui peut-être problématique pour certains services ou autres...

    J'ai donc a partir de là trouver 2 solutions :

    1°) Soit on installe pour la toute 1ere fois l'imprimante sur un poste, et ensuite on se contente de recopier la clé de la base de registre sur les autres postes ( La clé se trouve dans HKEY_CURRENT_USER\Printers ; clé : DeviceOld ; type : REG_SZ).

    Pb : Le problème c'est que je ne sais absolument pas comment faire pour recopier ( exporter ??) une clé d'une base de registre vers une autre base automatiquement ( manuellement il suffit juste d'extraire la clé qui nous intéresse, ensuite mettre le fichier de registre dans un dossier partagé ou autre..., et ensuite de faire un double-clic en se connectant sur le bon compte)

    2°) Soit on demande au script de nous ouvrir la fenêtre de l'annuaire des imprimantes installés ( comme lorsque l'on veut installer une imprimante partagé sur un autre ordinateur, et que l'on utilise la fonction rechercher dans l'annuaire Active Directory )

    Pb: Je ne sais absolument pas comment faire ( si cela est possible déjà) pour demander au script de m'ouvrir cette fameuse fenêtre d'annuaire.
    Mais là encore une fois, l'utilisateur va devoir chercher manuellement l'imprimante en question... ceux qui n'est pas forcement le cas, mais si jamais quelqu'un a une idée de comment le faire, cela pourra m'être surement utile pour la suite.

    Voila, en espérant que vous pourrez m'aider, et que j'ai été assez clair

    Merci d'avance

    PS : si vous avez d'autres solutions, je suis preneur aussi
    Merci encore !

  2. #2
    Membre actif
    Inscrit en
    Mai 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 189
    Points : 212
    Points
    212
    Par défaut
    Pour ouvrir la fenêtre, aucune idée de comment on fait.


    Pour écrire une clé de registre, ca c'est pas compliqué :
    exemple crosoft :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Const HKEY_LOCAL_MACHINE = &H80000002
     
    strComputer = "."
     
    Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _ 
        strComputer & "\root\default:StdRegProv")
     
    strKeyPath = "SOFTWARE\System Admin Scripting Guide"
    oReg.CreateKey HKEY_LOCAL_MACHINE,strKeyPath

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 118
    Points : 94
    Points
    94
    Par défaut
    Merci de ton aide

    Enfaite pour écrire une clé de registre je savais comment faire, car en cours on nous a appris à écrire des clés qui réactive les icônes du bureau, les enlevés, qui enlève le bouton démarrer aussi.

    Mais ceux que je ne sais pas faire, c'est recopier une clé. Car je me dit que si j'installe l'imprimante 1 seul fois, et qu'ensuite je recopie la clé dans HKEY_CURRENT_USER\Printers ; clé : DeviceOld, alors je n'aurais juste a exécuter le script au démarrage pour installer les imprimantes tout simplement ( d'ailleurs, je me demande si il ne faudrait pas créer un fichier texte avec la clé, et donc au final faire 2 script ? un pour créer le fichier texte, et l'autre pour installer l'imprimante... huhu, je m'y perds un peu non ? )

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 118
    Points : 94
    Points
    94
    Par défaut
    Re,

    En effet, en utilisant tout simplement un fichier texte dans la racine ( ou dans un autre emplacement, c'est pas le plus embêtant, et bien sa marche ). Le voici pour ceux qui serait intéresser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    dim stMonImprimante
     
    Const FOR_READING = 1
    strFilePath = "C:\imprimante.txt"
    iLineNumber = 1
     
    Set objFS = CreateObject("Scripting.FileSystemObject")
    Set objTS = objFS.OpenTextFile(strFilePath, FOR_READING)
    Set WshNetwork = CreateObject("WScript.Network")
     
    PrinterPath= objTS.Readline
     
    WshNetwork.AddwindowsPrinterConnection (PrinterPath)
    WshNetwork.SetDefaultPrinter (PrinterPath)
    Le problème c'est qu'il faut connaitre le nom du serveur encore, je pense que sa peut rapidement se régler en fessant un script de propriété d'imprimante

  5. #5
    Nouveau membre du Club
    Inscrit en
    Décembre 2007
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 42
    Points : 35
    Points
    35
    Par défaut
    Salut,

    Pour raccorder une imprimante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim WshNetwork 
    Set WshNetwork = WScript.CreateObject("WScript.Network") 
    '********************************** 
    'CONNEXION D'UNE IMPRIMANTE RESEAU. 
    '********************************** 
    '    
    PrinterPath = "\\NomDuServeurImpression\NomPartageImprimante" 
    WshNetwork.AddWindowsPrinterConnection PrinterPath
     
    '******************************** 
    'IMPOSE L'IMPRIMANTE PAR DEFAUT. 
    '******************************** 
    ' 
    WshNetwork.SetDefaultPrinter "\\NomDuServeurImpression\NomPartageImprimante"
    Pour le reste il faut reflechir à ton organisation.

    Soit tu utilises l'Active Directory pour l'authentification des utilisateurs.
    Il faut alors que tu organises l'AD pour utilise ton script via GPO

    Ex:
    - GPO sur l'Unité d'Organisation Accueil executé script1 \\nomserveur1\partage1
    - GPO sur l'UO executé script2 \\nomserveur2\partage2
    etc...

    Ou tu peux creer des groupes et utiliser des IFMEMBER ou un script regardant les groupes (penser à l'imbrication de groupe)

    Ou sur l'ordi tu peux mettre ton script dans le menu demarrage allusers ou par gestion de stratégie si tu veux. (L'inconvenient et que tu dois modifier le script de tous les ordis lorsque tu modifies qque chose)

    Ou encore plus radical, tu installes l'imprimante dans un profil utilisateur standart et tu copie ce profil dans le default user. Inconvenient majeur et que chaque nouvelle personne qui va se connecter va recuperer ce profil et donc va monter l'imprimante en question meme si elle n'existe plus.

    Si tu veux des précisions n'hesite pas. Je pense ne pas avoir été super clair.
    Mais en bref je pense que ton problème est plutot organisationnel.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/10/2014, 11h53
  2. [FreeBSD] Installer imprimante + partage
    Par belette07 dans le forum BSD
    Réponses: 2
    Dernier message: 14/10/2008, 11h15
  3. Installation d'imprimante par script
    Par borislotte dans le forum VBScript
    Réponses: 0
    Dernier message: 22/01/2008, 10h53
  4. Installer une imprimante via script
    Par korospoukine dans le forum Windows XP
    Réponses: 3
    Dernier message: 23/11/2007, 09h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo