Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1695 connectés 

  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Réseaux

  Script imprimante local en réseau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script imprimante local en réseau

n°119527
jejere_11
Posté le 18-03-2014 à 11:17:44  profilanswer
 

Bonjour, je poste par rapport à un petit problème.  
 
J'ai environ 150 profils itinérant au sein du réseau info.  
Dans une salle il y'a deux postes, sur l'un des deux j'ai installé une  
imprimante en locale (connecté avec port USB), j'ai effectué le partage de cette  
imprimante; je l'es ajouté sans soucis au poste numéro 2, sur un session en  
locale l'imprimante est visible et utilisable mais quand je me log avec un  
profil itinérant elle ne l'es plus (ce qui est normale je sais bien).
J'ai un script d'ouverture de session pour les profils, qui appel un script d'impression.
 
J'ai trouvé ça :
"'Dans le cas où une imprimante est partagée sur une autre machine que le serveur
  'case "med"  
  ' Il ne faut pas essayer d'attribuer une imprimante réseau à la machine qui la  partage. d'où le if....
  ' if NomPC <> "NomMachine" then  
  '  objNetwork.AddWindowsPrinterConnection ("\\NomMachine\Hplaser" )
  '  objNetwork.SetDefaultPrinter ("\\NomMachine\HPLaser" )
  ' end if
"
 
Mais j'ai beau essayé de changer le NomMachine etc, mais ça marche pas..
 
J'allume bien sur le poste ou l'imprimante est installé en premier.. Mais RIEN !
 
 
En tout cas merci pour votre aide.

mood
Publicité
Posté le 18-03-2014 à 11:17:44  profilanswer
 

n°119529
akizan
Eye Sca Zi
Posté le 18-03-2014 à 13:14:50  profilanswer
 

toutes tes lignes sont commentées :D
tu n'as pas initialisé objNetwork.
il faut ajouter en début :

Code :
  1. Set objNetwork = WScript.CreateObject("WScript.Network" )


 
PS : Et y'a un bug sur le forum hardware car dans ma ligne, il n'y a pas d'espace entre le " et la )


Message édité par akizan le 18-03-2014 à 13:18:05
n°119552
jejere_11
Posté le 19-03-2014 à 09:06:49  profilanswer
 

Merci pour ta réponse, je sais bien que les lignes sont commentées :) .. Je suis pas aussi grave lol.
Mais justement, j"ai donc essayé d'adapter le script avec le nom de la machine etc (bien sur en supprimant les apostrophes Quand même !! )
Et pour le début, j'avais bien intégré cette ligne.
 
"'Ajout des imprimantes
sub mappageImprimantes()
 
 Set objNetwork = Wscript.CreateObject("Wscript.Network" )"
 
Mais doesnt work :-/

n°119556
Je@nb
Modérateur
Kindly give dime
Posté le 19-03-2014 à 15:27:46  profilanswer
 

Montre ton script complet parce que là c'est un peu n'importe quoi

n°119561
Tolb
Posté le 20-03-2014 à 07:08:19  profilanswer
 

C'est beaucoup plus simple de le faire via GPO (sous réserve que ce soit un AD)!
Tu crées un objet un objet imprimante dans ton AD.
Puis tu crées une GPO et dans l'onglet préférence (utilisateur) tu ajoutes l'imprimante. Et le tour est joué.
 
Si tu as encore des XP, pense à installer le "client side extension".
Une KB disponible ici


Message édité par Tolb le 20-03-2014 à 07:08:55
n°119569
jejere_11
Posté le 20-03-2014 à 10:32:48  profilanswer
 

Je@nb.. Ok.. pas de pb ..
Voici mon script imp.vbs

 
Code :
  1. On Error Resume Next
  2. 'Il mappe les imprimantes réseau en fonction des premières lettres du nom de la machine
  3. '     INFO-01  -> test sur les 3 premières Lettres "inf" ( en minuscule )
  4. mappageImprimantes()
  5. Set FSCopie = CreateObject("Scripting.FileSystemObject" )
  6. 'FSCopie.CopyFile "\\srv-pedag\netlogon\SolidWorksStandaloneLic.lic" , "C:\Documents and Settings\All Users\Application Data\SolidWorks\SolidWorksStandaloneLic.lic", true
  7. FSCopie.CopyFile "\\srv-pedag\netlogon\prefs.js" , "C:\Documents and Settings\All Users\Application Data\Mozilla\Firefox\Profiles\cdsurd8a.default\prefs.js", true
  8. 'FSCopie.CopyFile "\\srv-pedag\deploiement\spionic_.TTF" , "C:\WINDOWS\Fonts\spionic_.TTF", true
  9. wscript.quit
  10. '------------------------------------------------------------------------------------------------------------------------------------
  11. 'Ajout des imprimantes
  12. sub mappageImprimantes()
  13. Set objNetwork = Wscript.CreateObject("Wscript.Network" )
  14. ' Suppression des imprimantes réseau déjà mappées
  15. Set oPrinters = objNetwork.EnumPrinterConnections
  16.      For i = 0 to oPrinters.Count - 1 Step 2
  17.         On Error Resume Next
  18.  objNetwork.RemovePrinterConnection oPrinters.Item(i+1) , true , true
  19.  Err.Clear
  20.     Next
  21. 'Nom du serveur sur lequel l'authentification est effectuée
  22. Set wshShell = Wscript.CreateObject("WScript.Shell" )
  23. SERVEUR = wshShell.ExpandEnvironmentStrings("%LOGONSERVER%" )
  24. 'Récupération du nom de la machine
  25. Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2" )
  26. Set colSettings = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem" )
  27. For Each objComputerSystem in colSettings
  28.  NOMPC = Left(LCase(objComputerSystem.Name),15)
  29. Next
  30. 'Sélection sur les 6 premières lettres (peut etre modifié) il faut alors modifier le "3" de Left(NomPC ,3)
  31. ' exemple, discrimination sur les 6 premiers caractères :  nom = Left (NomPC,6)
  32. nom = Left (NomPC, 6)
  33. select case nom
  34.  '*************************************************************************************
  35.  'Ligne à modifier et à dupliquer en fonction des salles et des imprimantes
  36.  '!!!!!! le nom doit être en minuscule !!!!!
  37.  case "sacdip"
  38.   objNetwork.AddWindowsPrinterConnection  (SERVEUR & "\copieur_profs" )
  39.   'objNetwork.AddWindowsPrinterConnection  (SERVEUR & "\couleurcdi" )
  40.   objNetwork.SetDefaultPrinter (SERVEUR & "\copieur_profs" )
  41.  '*************************************************************************************
  42.  case "saprop"
  43.   objNetwork.AddWindowsPrinterConnection  (SERVEUR & "\salledesprofs" )
  44.   objNetwork.AddWindowsPrinterConnection  (SERVEUR & "\copieur_profs" )
  45.   objNetwork.SetDefaultPrinter (SERVEUR & "\salledesprofs" )
  46.   'objNetwork.SetDefaultPrinter (SERVEUR & "\copieur_profs" )
  47.  '*************************************************************************************
  48.  case "sa030p"
  49.   objNetwork.AddWindowsPrinterConnection  (SERVEUR & "\imp_salle30" )
  50.   objNetwork.SetDefaultPrinter (SERVEUR & "\imp_salle30" )
  51.  '*************************************************************************************
  52.  case "sa016p"
  53.   objNetwork.AddWindowsPrinterConnection  (SERVEUR & "\imp_salle16" )
  54.   objNetwork.SetDefaultPrinter (SERVEUR & "\imp_salle16" )
  55.  '*************************************************************************************
  56.  case "saatep"
  57.   objNetwork.AddWindowsPrinterConnection  (SERVEUR & "\copieur_segpa" )
  58.   objNetwork.SetDefaultPrinter (SERVEUR & "\copieur_segpa" )
  59.  '*************************************************************************************
  60.  case "sasegp"
  61.   objNetwork.AddWindowsPrinterConnection  (SERVEUR & "\copieur_segpa" )
  62.   objNetwork.SetDefaultPrinter (SERVEUR & "\copieur_segpa" )
  63.  '*************************************************************************************
  64.  case "sasesp"
  65.   objNetwork.AddWindowsPrinterConnection  (SERVEUR & "\copieur_segpa" )
  66.   objNetwork.SetDefaultPrinter (SERVEUR & "\copieur_segpa" )
  67.  '*************************************************************************************
  68.  case "saaltp"
  69.   objNetwork.AddWindowsPrinterConnection  (SERVEUR & "\imp_alti" )
  70.   objNetwork.SetDefaultPrinter (SERVEUR & "\imp_alti" )
  71.  '*************************************************************************************
  72.  case "saulip"
  73.   objNetwork.AddWindowsPrinterConnection  (SERVEUR & "\copieur_profs" )
  74.   objNetwork.SetDefaultPrinter (SERVEUR & "\copieur_profs" )
  75.  '*************************************************************************************
  76.  'Dans le cas où une imprimante est partagée sur une autre machine que le serveur
  77.  'case "med"
  78.  ' Il ne faut pas essayer d'attribuer une imprimante réseau à la machine qui la  partage. d'où le if....
  79.  ' if NomPC <> "NomMachine" then 
  80.  '  objNetwork.AddWindowsPrinterConnection ("\\NomMachine\Hplaser" )
  81.  '  objNetwork.SetDefaultPrinter ("\\NomMachine\HPLaser" )
  82.  ' end if
  83. end select
  84. end sub
 

Tolb, je veux bien mais l'ajout de nouveau objet imprimante dans l'AD fonctionne quand l'imprimante est ajouté sur un serveur, or la elle est installé sur un poste en local, ce n'est pas une imprimante réseau que je possède dans cette salle.
Le poste en locale ne peut être considéré comme un serveur, or avec cette méthode, on doit afficher un chemin de partage qui pointe vers un serveur.


Message édité par Je@nb le 20-03-2014 à 10:58:32
n°119570
JLC53000
Posté le 20-03-2014 à 10:45:39  profilanswer
 


Tu as essayé une commande comme ca ?  Ça mappe correctement normalement si les droits d'accès sont bons.
 
RUNDLL32 PRINTUI.DLL,PrintUIEntry /in /q /n\\NomServeur\NomImprimante
 

n°119571
Je@nb
Modérateur
Kindly give dime
Posté le 20-03-2014 à 11:03:23  profilanswer
 

1/ On Error Resumt Next ==> tu ne vois aucune erreur donc si ça plante quelque part tu le sais pas, donc dégage ça
2/ Si tu essaie de monter l'imprimante manuellement ça marche ?
3/ si tu partages une imprimantes sur un poste en local, ce poste devient par définition serveur d'impression donc tu peux utiliser les outils standarsd

n°119612
jejere_11
Posté le 21-03-2014 à 09:16:32  profilanswer
 

Re les amis.
 
@JLC, j'ai essayé ta commande, elle fonctionne quand je me log sur la machine en local, cela map bien l'imprimante et l"ajoute aux imprimantes disponible, mais dès que je me déco et que je me connecte avec un profil (itinérant) du domaine et bien là je n'es plus rien.  
Cela reviens à ce que je disais au tout début :
"je l'es ajouté sans soucis au poste numéro 2, sur un session en  
locale l'imprimante est visible et utilisable mais quand je me log avec un  
profil itinérant elle ne l'es plus (ce qui est normale je sais bien)."
 
@Je@nb :
1/ J'ai supprimé la ligne, aucune erreur à l"ouverture de session et à l’exécution du script.
2/ Manuellement en local cela fonctionne, mais avec un profil iténrant du domaine, je ne peux essayé car les droits ne permettes pas d'accèder au différents paramètres nécessaire à l'ajout de périphériques. D'ou la nécessité d'utiliser un script. Je suis arrivé à le faire fonctionné avec toutes les imprimante réseau du parc info, le soucis c'est les imprimantes  en local partagé.
3/ Daccord c'est enregistré, je ne connaissais pas ce détail.
 
Merci.. Si quelqu'un à d'autres idées.. sa serai avec plaisir car ils me mettent la pression en bas lol..

n°119613
Je@nb
Modérateur
Kindly give dime
Posté le 21-03-2014 à 09:21:20  profilanswer
 

Si ca marche pas en graphique ni avec rundll32 ca marchera pas en script.

mood
Publicité
Posté le 21-03-2014 à 09:21:20  profilanswer
 

n°119614
jejere_11
Posté le 21-03-2014 à 09:50:25  profilanswer
 

Bin en graphique et rundll32 cela fonctionne, mais qu'en local avec le compte admin.
Après comme dit plus haut :
"mais avec un profil iténérant du domaine, je ne peux essayer car les droits ne permettes pas d’accéder au différents paramètres nécessaire à l'ajout de périphériques."
 
Après j'ai trouvé une méthode bidouille mais c'est pas propre.
J'ai ajouté l'imprimante partagé sur le PC2 en local avec le compte admin, cela ajoute donc l'imprimante à "Périphériques et imprimantes", j'ai copier l'icône de l'imprimante, coller dans le dossier "Documents and Settings/All user/Bureau" afin que l'icone soit disponible pour tous les utilisateurs, même ceux qui se connecte avec un profil itinérant du domaine.
 
Une fois connecté avec un profil itinérant, on clique donc sur l'icone de l'imprimante sur le bureau, puis onglet imprimante, puis connecter, et là, l'imprimante s'ajoute directement au "Périphériques et imprimantes".
 
Donc si cela fonctionne comme cela, il doit surement y'avoir une manière pour mapper l'imprimante automatiquement à l'ouverture d'un session avec un script.


Message édité par jejere_11 le 21-03-2014 à 09:53:18
n°119617
Je@nb
Modérateur
Kindly give dime
Posté le 21-03-2014 à 10:29:54  profilanswer
 

déjà faire ses tests avec un compte admin et pas user standard, c'est pas une bonne idée vu que ça pourrait être un pb de permissions ou de droit d'install des drivers (mais si déjà installé car tu as déjà utilisé l'imprimante en admin, normal que après ça marche)
 
si tu vas sur \\pc2\ depuis un compte utilisateur tu peux ajouter l'imprimante ou pas ?
 
et qd je parlais du on error resume next il y en a plusieurs dans ton "script"

n°119618
jejere_11
Posté le 21-03-2014 à 10:56:18  profilanswer
 

Le problème c'est qu'il n'y a pas de compte user standard sur les machines, les images que je faites ne détiennent qu'un compte admin.
Elles sont faites pour être utilisés avec des profil itinérant du domaine à la base, donc quand j'ai fais les image, j'ai fais au plus restreins.

n°119620
Je@nb
Modérateur
Kindly give dime
Posté le 21-03-2014 à 11:25:02  profilanswer
 

compte user standard sans profil itinérant, ou compte user standard local, rien ne t'interdit d'en créer un pour tester ...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Réseaux

  Script imprimante local en réseau

 

Sujets relatifs
probleme de Connection en reseau local entre Windows 2003 et XPVIRTUALBOX - Accès INTERNET + réseau privée
Connecter un ordinateur plusieurs fois sur un même réseauSujet : Exercice : Conception d'un réseau
Problème réseau ESXI 5.5droit d'acces au partage de reseau sous win serv 8
GPO crée dossier racine C localProbleme processus reseau
VPN entre PC sous Clé 3G et PC sous réseau entreprise 
Plus de sujets relatifs à : Script imprimante local en réseau


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR