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

  FORUM HardWare.fr
  Windows & Software
  Win NT/2K/XP

  Script de déconnexion imprimante réseau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script de déconnexion imprimante réseau

n°1517891
GENIUS999
Posté le 06-04-2004 à 09:48:16  profilanswer
 

Bonjour,
 
Je souhaiterais faire un script de déconnexion sur certaines iomprimantes de mon réseau.
Pour cela, j'utilise Wshnetwork se qui donne :  
 

Code :
  1. Set WshNetwork = CreateObject("WScript.Network" )
  2. WshNetwork.RemovePrinterConnection "\\SERVEUR2\DankaO"


 
Cette imprimante est bien presente sur mon post, mais le scripts me fait une erreur du type :
Erreur : "Cette connexion réseau n'existe pas"
Source : WSHNetwork.RemoveNetworkDrive
 
Mon poste client a bien acces au serveur2, y a t'il un autre moyen de la deconnecter, par exemple en utilisant le nom de l'imprimante sur le poste client?
 
Merci de votre aide.
 
Edit : réseaux sous win 2000.


Message édité par GENIUS999 le 06-04-2004 à 09:49:26
mood
Publicité
Posté le 06-04-2004 à 09:48:16  profilanswer
 

n°1518242
knives
Posté le 06-04-2004 à 13:23:05  profilanswer
 

Genius999 a écrit :

Bonjour,
Je souhaiterais faire un script de déconnexion sur certaines iomprimantes de mon réseau.
...


t'a du te planter dans le nom, essaye ce script pour avoir la liste des imprimantes connectées (source technet).

Code :
  1. strComputer = "."
  2. Set objWMIService = GetObject("winmgmts:" _
  3.     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
  4. Set colInstalledPrinters =  objWMIService.ExecQuery _
  5.     ("Select * from Win32_Printer" )
  6. For Each objPrinter in colInstalledPrinters
  7.     Wscript.Echo "Name: " & objPrinter.Name
  8. Next

n°1518535
GENIUS999
Posté le 06-04-2004 à 15:45:52  profilanswer
 

Non, je ne me suis pas trompé de nom, puisque mon script fonctionnent sur certains postes et plante sur d'autres...
En essayant avec les noms que me remontent ton script, ca reviens au meme... c'est pour ca que je cherchais un autre moyen de deconnection.
 
Merci toutefois pour ton aide.

n°1518559
Gaard28
Posté le 06-04-2004 à 15:56:08  profilanswer
 

Et si tu remplaces le nom de la machine par son IP ?

n°1518597
GENIUS999
Posté le 06-04-2004 à 16:15:07  profilanswer
 

Gaard28 a écrit :

Et si tu remplaces le nom de la machine par son IP ?
 


 
deja essayé et c'est pas mieu...  :sweat:

n°1518705
dahlo
Posté le 06-04-2004 à 17:14:22  profilanswer
 

Citation :

y a t'il un autre moyen de la deconnecter, par exemple en utilisant le nom de l'imprimante sur le poste client?


 
Dixit M$:

  • The RemovePrinterConnection method removes both Windows and MS-DOS based printer connections. If the printer was connected using the method AddPrinterConnection, strName must be the printer's local name.  
  • If the printer was connected using the AddWindowsPrinterConnection method or was added manually (using the Add Printer wizard), then strName must be the printer's UNC name.

...

  • The AddPrinterConnection method adds a network printer to an MS-DOS printer port, such as LPT1. You cannot use this method to add a remote Windows-based printer connection. To add a remote Windows-based printer connection, use the AddWindowsPrinterConnection method.


Donc si j'ai bien compris, tu dois utiliser l'UNC.
 
Essaye de forcer la déconnection en utilisant l'option de forçage (connecté ou non):
WshNetwork.RemovePrinterConnection "\\SERVEUR2\DankaO", True
avec éventuellement, une mise à jour dans le profil user, par un second True
WshNetwork.RemovePrinterConnection "\\SERVEUR2\DankaO", True, True
 
 
Comme le soulignait knives, attention au nom (casse)!
 
Un exemple:
'Suppose une imp HP 4L sur SvrImp2
MyImpPath="\\SvrImp2\HP LaserJet 4L" 'Attention à la casse
 
Set WshNetwork = WScript.CreateObject("WScript.Network" )
Set MyPrinters = WshNetwork.EnumPrinterConnections
 
For i = 0 to MyPrinters.Count - 1 Step 2
        'Pour essais
        Wscript.Echo "Port= " & Myprinters.item(i) & _
                     Chr(10) & "Nom= " & MyPrinters.item(i+1)
        'Fin essais
        If Myprinters.item(i+1)=MyImpPath then
        'MyImpPath est correct(remove en comment pour essais)
  'WshNetwork.RemovePrinterConnection MyPrinters.Item(i+1), True, True
  WScript.Echo "L'imprimante '" & Myprinters.item(i+1) & _
  "' sur le Port '" & Myprinters.Item(i) & "' a été déconnectée!"
 end if
Next
 
...
 

n°1518718
knives
Posté le 06-04-2004 à 17:26:39  profilanswer
 

Genius999 a écrit :

puisque mon script fonctionnent sur certains postes et plante sur d'autres...

tu avais omis de nous devoiler ce leger detail :o

n°1519303
GENIUS999
Posté le 07-04-2004 à 08:52:59  profilanswer
 

knives a écrit :

tu avais omis de nous devoiler ce leger detail :o


 
Désolé...  :whistle:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Win NT/2K/XP

  Script de déconnexion imprimante réseau

 

Sujets relatifs
Partie réseau ne fonctionnant plus sur un portable.Firewall et réseau local ...
MSN messenger et reseau local protégé ( problemes de connection)carte réseau -autotest - lookback
Probleme avec net send sur le reseau ^^Automatiser des pings grâce à un script sous Windows
carte réseau hp vectra vl3 5/90Deconnexion ADSL si le telephone est utilisé
recherche aide pour un script htmlLire un dvd par le réseau
Plus de sujets relatifs à : Script de déconnexion imprimante réseau


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