ben008
Messages postés16Date d'inscriptionsamedi 20 décembre 2003StatutMembreDernière intervention31 mars 2010
-
3 avril 2008 à 12:33
ben008
Messages postés16Date d'inscriptionsamedi 20 décembre 2003StatutMembreDernière intervention31 mars 2010
-
3 avril 2008 à 14:15
Bonjour ,
J'ai recuperer un script VBS de ce cher JCB :D modifié afin de mettre une liste d'imprimantes des differents serveurs d'impressions dans un fichier excel :
CODE :
Const SW_HIDE=0
Const SW_SHOWNORMAL=1
Dim shell,fso,attr,desc,net,args
Set shell = WScript.CreateObject("WScript.Shell")
Set fso = WScript.CreateObject("Scripting.FileSystemObject")
Set net = Wscript.CreateObject("WScript.Network")
Set args = Wscript.Arguments
If args.count=0 Then
computer=net.computername
Else
computer=args(0)
If computer="/?" Then
msg= "detection des imprimantes locales ou reseau" & VBCRLF
msg=msg & "sur une machine locale ou distante" & VBCRLF
msg=msg & "JCB 2002" & VBCRLF
msg=msg & "---------------------------------------------" & VBCRLF
msg=msg & "Syntaxe :" & VBCRLF
msg=msg & " enumprinter [<nom_de_machine>]" & VBCRLF
msg=msg & "Parametre :" & VBCRLF
msg=msg & " <nom_de_machine> : nom NetBIOS de l'ordinateur" & VBCRLF
msg=msg & " si absent : machine locale" & VBCRLF
wscript.echo msg
wscript.quit
End If
End If
Testhost true
attr=array(1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192)
desc=array( _
"Les travaux d'impression sont mis file d'attente", _
"Les documents sont envoyés directement sur l'imprimante", _
"Imprimante par defaut de l'ordinateur", _
"Disponible en tant que ressource reseau partagée", _
"Attachau reseau", _
"Cache pour certains utilisateurs du reseau", _
"Directement connecté a l'ordinateur", _
"Mise en file d'attente activée si imprimante disponible", _
"Le spooler ne supprime pas les documents apres impression", _
"Commence en premier les travaux qui sont en fin de spool", _
"Mise en file d'attente activée si imprimante indisponible", _
"Active l'impression bidirectionnelle", _
"Seuls les travaux de type de donnée brut sont spoolé", _
"Imprimante public dans le service d'annuaire du reseau")
on error resume next
set PrinterSet = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & Computer).ExecQuery _
("SELECT * FROM Win32_Printer")
If err.number<>0 Then
wscript.echo "Erreur : " & err.description
wscript.quit
End If
msg="Imprimantes disponibles sur " & ucase(computer)
wscript.echo msg
wscript.echo String(len(msg),"-")
num = 1
chemin = "imp.xls"
Set fso = CreateObject("Scripting.FileSystemObject" )
Set Fic = fso.CreateTextFile(chemin, True)
Fic.writeLine "ID;PWXL;N;E"
for each Printer in PrinterSet
wscript.echo
wscript.echo FormatStrR(num,2) & ")" & Printer.Caption
Fic.writeLine "C;Y" & num & ";X1;K" & CHR(34) & Printer.ShareName & CHR(34)
Fic.writeLine "C;Y" & num & ";X2;K" & CHR(34) & Printer.PortName & CHR(34)
Fic.Close
num = num + 1
next
Fic.writeLine "E"
Set Fic = Nothing
Set fso = Nothing
Wscript.quit
etant donné qu'a la final mon fichier xls est erroné et ne possede que la premiere ligne.
pourtant dans la fenetre pendant le script je vois bien toutes le imprimantes aparaitre et Y est bien incrementé.
ben008
Messages postés16Date d'inscriptionsamedi 20 décembre 2003StatutMembreDernière intervention31 mars 2010 3 avril 2008 à 14:15
Ralalalala ^^
J'allucine j'avais meme pas vu ca pourtant j'y suis bien reste 20 min a regarder.
Ca viendra avec le temp (ca fait un petit mois que je me suis mis au VB).