Aides pour le VBScripting

J'ai pas fait un grand effort de présentation, je voulais juste avoir un moyen de retrouver tous ces liens sur ces questions. Cette page est donc à la base une liste d'url. Et puis j'ai ajouté une Annexe, pour y mettre des trucs.


Des tas de liens sur le scripting

Pour commencer : un e-book :      Nouveau
http://www.livrespourtous.com/e-books/view/Introduction-au-langage-Vbscript.html
http://www.livrespourtous.com/
http://www.livrespourtous.com/e-books/list/onecat/Ebooks-gratuits+Informatique/0.html
http://www.livrespourtous.com/e-books/list/onecat/Livres-electroniques+Informatique+Langages-et-developpement/1/all_items.html

Didier Morandi s'est, en 2010, intéressé au VBS ...   Nouveau
http://www.didiermorandi.fr/vbscript/
http://www.didiermorandi.fr/vbscript/console.htm
http://www.didiermorandi.fr/vbscript/documentation.htm
http://www.didiermorandi.fr/vbscript/exemples.htm
http://www.didiermorandi.fr/vbscript/formation.htm
http://www.didiermorandi.fr/vbscript/glossaire.htm
http://www.didiermorandi.fr/vbscript/powershell.htm
http://www.didiermorandi.fr/vbscript/trucs_et_astuces.htm
http://www.didiermorandi.fr/vbscript/vbscript.htm
http://www.scripting-errors.com

CCM a fait un excellent dossier sur le VBS, pratique à consulter

www.google.fr/search?q=site:commentcamarche.net/contents/vbscript

www.commentcamarche.net/contents/vbscript/ 
www.commentcamarche.net/vbscript/vbsintro.php3

www.commentcamarche.net/contents/vbscript/vbscarac.php3 
www.commentcamarche.net/contents/vbscript/vbstype.php3 
www.commentcamarche.net/contents/vbscript/vbsvar.php3
www.commentcamarche.net/contents/vbscript/vbs-mots-cles.php3
www.commentcamarche.net/contents/vbscript/vbs-constantes.php3
www.commentcamarche.net/contents/vbscript/vbsop.php3
www.commentcamarche.net/contents/vbscript/vbscond.php3
www.commentcamarche.net/contents/vbscript/vbsfunction.php3

www.commentcamarche.net/contents/vbscript/vbs-fonctions-chaines-caracteres.php3
www.commentcamarche.net/contents/vbscript/vbs-fonctions-date.php3
www.commentcamarche.net/contents/vbscript/vbs-fonctions-mathematiques.php3
www.commentcamarche.net/contents/vbscript/vbs-fonctions-tableaux.php3
www.commentcamarche.net/contents/vbscript/vbs-fonctions-diverses.php3 

www.commentcamarche.net/contents/vbscript/vbs-com.php3

www.commentcamarche.net/contents/vbscript/vbs-wsh.php3

www.commentcamarche.net/contents/vbscript/vbs-fso.php3
www.commentcamarche.net/contents/vbscript/vbs-drive.php3
www.commentcamarche.net/contents/vbscript/vbs-file.php3
www.commentcamarche.net/contents/vbscript/vbs-folder.php3
www.commentcamarche.net/contents/vbscript/vbs-wshnetwork.php3

Google montre d'autres articles non cités dans le sommaire ; exemples :
www.commentcamarche.net/contents/vbscript/vbs-msgbox.php3
www.commentcamarche.net/contents/vbscript/vbs-textstream.php3
www.commentcamarche.net/contents/vbscript/vbs-wscript.php3
www.commentcamarche.net/contents/vbscript/vbs-wsharguments.php3
www.commentcamarche.net/contents/vbscript/vbs-wshshell.php3
 

www.jalix.org/ressources/internet/asp/_vbscript/html
www.jalix.org/ressources/internet/asp/_vbscript/html/vbstutor.htm

www.bellamyjc.org/fr/vbsgeneralites.html
www.bellamyjc.org/fr/vbsfonctions.html
www.bellamyjc.org/fr/vbsinstructions.html
www.bellamyjc.org/fr/vbsconstantes.html
www.bellamyjc.org/fr/vbsobjets.html
www.bellamyjc.org/fr/vbsavance.html
www.bellamyjc.org/fr/vbsdownload.html
www.bellamyjc.org/fr/vbs/vtglossary.html


http://fr.wikibooks.org/wiki/Programmation_VBscript
http://docvb.free.fr/api.php
http://allapi.mentalis.org

www.microsoft.com/technet/scriptcenter/default.mspx
www.microsoft.com/technet/scriptcenter/hubs/start.mspx
www.microsoft.com/technet/scriptcenter/resources/qanda/default.mspx
www.microsoft.com/technet/scriptcenter/resources/qanda/basic.mspx
www.google.fr/search?num=99&q=site:microsoft.com/france/technet/scriptcenter

Exemples expliqués en français :
http://technet.microsoft.com/fr-fr/scriptcenter/default.aspx
(redirection de http://www.microsoft.com/technet/community/scriptcenter/scresorc.mspx)

Exemples en anglais
Hey, Scripting Guy !
http://technet.microsoft.com/en-us/scriptcenter/default.aspx    (Rechercher dans ce site)
http://gallery.technet.microsoft.com/ScriptCenter/
The Portable Script Center
Collection d'exemples regroupés dans un fichier d'aide : script_center.chm
 

Groupes de discussion
http://groups.google.com/group/microsoft.public.fr.scripting  /  news://msnews.microsoft.com/microsoft.public.fr.scripting
http://groups.google.fr/group/microsoft.public.scripting.wsh
http://groups.google.fr/group/microsoft.public.scripting.vbscript
http://groups.google.fr/group/microsoft.public.scripting.vbscript/search?q=how+to
http://groups.google.fr/groups/dir?sel=usenet=microsoft.public.scripting

Windows Script 5.6 Documentation : SCRIPT56.CHM (2.77 Mo)
http://download.microsoft.com/download/winscript56/install/5.6/w98nt42kme/fr/scd56fr.exe
Windows Script 5.6 pour Windows 2000 et XP : WindowsXP-Windows2000-Script56-KB917344-x86-fra.exe
Version anglaise  : www.microsoft.com/downloads/details.aspx?FamilyId=01592C48-207D-4BE1-8A76-1C4099D7BBB9
En ligne              : http://msdn.microsoft.com/en-us/library/ms950396.aspx ==> VBSCript

Commandes
Commandes, références et outils Windows Server :
Command-line Reference, A-Z list, Command-Line Syntax Key
WinCmdRef.chm (pratique d'avoir l'aide sous la main sans avoir besoin de se connecter).

Divers
Enterprise Logon Scripts : Logon_Scripts.doc
Automating TCP/IP Networking on Clients
Site de Gilles LAURENT
Rob van der Woude's Scripting Pages en anglais mais très complet, avec explications et exemples, non seulement pour le batch et le vbs, mais aussi pour d'autres langages.

Puisqu'on parle de batch, autant rappeler ici quelques liens :
http://www.hotline-pc.org/batch.htm
http://www.hotline-pc.org/batchscripts.htm
http://www.hotline-pc.org/invitedecommandes.htm
http://www.hotline-pc.org/dosastuces.htm

http://windows.developpez.com/cours/ligne-commande

http://www.mclaveau.com/batch
http://www.mclaveau.com/grimoire/bleu.html

http://www.google.fr/search?num=99&q=site:forum.zebulon.fr+batch

http://astase.com
http://astase.com/forums
http://astase.com/forums/viewforum.php?id=2
ftp://anonymous.ftp.ovh.net/astase/windows/tutoriel_batch.pdf
http://www.google.fr/search?num=99&q=site:astase.com+batch

 


Exemples de recherches Google
www.google.fr/search?q=vbscript+-ASP
www.google.fr/search?q=vbscript+date+fonctions+-ASP
www.google.fr/search?num=99&q=site:commentcamarche.net/contents
www.google.fr/search?num=99&q=site:commentcamarche.net/contents/vbscript
www.google.fr/search?num=99&q=site:bellamyjc.org/download/vbs+exist
www.google.fr/search?num=99&q=site:bellamyjc.org/download/vbs+exists
www.google.fr/search?num=99&q=site:technet.microsoft.com/en-us/scriptcenter
http://groups.google.fr/group/microsoft.public.scripting.vbscript/search?q=how+to

www.google.fr/search?num=99&q=site:bellamyjc.org+vbs
www.google.fr/search?num=99&q=site:bellamyjc.org/download
www.google.fr/search?num=99&q=site:bellamyjc.org/download/vbs
www.google.fr/search?num=99&q=site:bellamyjc.org/download/vbs+exist
www.google.fr/search?num=99&q=site:bellamyjc.org/download/vbs+exists 


Annexe

Rendre un batch invisible

On est parfois amené à utiliser une commande ou un batch depuis un script VBS, et l'apparition d'une fenêtre noire, même un bref instant, nuit un peu à l'esthétisme. Voir les arguments intWindowsStyle et bWaitOnReturn de la commande Run :
http://www.commentcamarche.net/contents/vbscript/vbs-wshshell.php3
Dans les exemples suivants on utilisera la commande wscript pour lancer les scripts VBS.
Avec un raccourci de la forme :  wscript c:\scripts\invisibledir.vbs

  1. Script en une seule instruction
    Ce script effectue une commande dir /ogn redirigée vers un fichier %TEMP%\tmp.txt, puis exécute tmp.txt :
    CreateObject("Wscript.Shell").Run "cmd /c dir /ogn>%TEMP%\tmp.txt&&start %TEMP%\tmp.txt", 0, False

  2. Script qui exécute un batch

    Le script en une seule instruction c'était pour le fun. Il est plus clair de séparer les problèmes. On sépare donc à présent le batch à exécuter, et le script vbs qui le lance de façon cachée. Dans l'exemple qui suit invisibledir.vbs exécute furtivement le batch affichdir.cmd

    Voici le contenu du batch affichdir.cmd :

    cd /d %temp%
    chcp 1252
    dir /ogn>tmp.txt
    notepad tmp.txt
    del /q tmp.txt
     

      Voici le contenu du script invisibledir.vbs  :

    Set oShell = CreateObject("WScript.Shell")
    oShell.Run "affichdir.cmd", 0, true

    Les deux fichiers étant dans le même dossier, exécuter invisibledir.vbs lance le batch affichdir.cmd de façon masquée. On obtient le résultat du DIR redirigé vers notepad sans aperçevoir de Console CMD. Il faut que ce genre de manip soit bien au point car si pour une raison quelconque le batch ne s'arrête pas (oubli d'une commande pause par exemple), on verra ses différents essais ajouter un processus cmd.exe dans le gestionnnaire des tâches.
     

  3. Script qui écrit le batch à exécuter
    Méthode appréciée pour sa cohésion : création par le script d'un batch temporaire tmp.cmd, écriture des commandes dans ce fichier, exécution de tmp.cmd de façon masquée, puis suppression du batch :

    Set oShell = CreateObject("WScript.Shell")
    Set oFs = CreateObject ("Scripting.FileSystemObject")
    oFS.CreateTextFile ("tmp.cmd")
    Const ForReading = 1, ForWriting = 2
    Set oFile = oFs.OpenTextFile ("tmp.cmd", ForWriting)
    oFile.Writeline "chcp 1252"
    oFile.Writeline "dir /ogn>%TEMP%\tmp.txt"
    oFile.Writeline "%TEMP%\tmp.txt"
    oFile.Close
    oShell.Run "tmp.cmd",0,true
    oFS.DeleteFile ("tmp.cmd")

  4. quiet
    En parcourant le site de jjoeware et sa page de free tools j'ai découvert quiet. Un moyen très simple de lancer un programme de façon invisible.

 

Lancer une tâche en tant qu'administrateur

Tout à fait par hasard je suis tombé après coup sur ce lien qui se trouve être un excellent complément :
http://www.generation-nt.com/executer-programme-avec-droits-administrateur-article-24798-1.html

Runas
Pour accomplir une tâche en tant qu'administrateur depuis un compte qui ne l'est pas, on utilise la commande runas. Le compte Administrateur prédéfini est utilisable s'il a un mot de passe : images 1, 2. Il est plus agréable d'utiliser ShellRunAs de Sysinternals.

Envoyer le mot de passe

L'inconvénient de runas est la nécessité de fournir manuellement un mot de passe. Des solutions gratuites existent, cryptées ou non. Si la présence d'un chiffrement est appréciable, cette protection est illusoire à long terme. Il existe des solutions payantes, rien ne dit qu'elles soient plus protégées. Bref, faites attention. Pour un particulier le problème est différent, et il sera je pense acceptable d'automatiser par ces moyens des tâches administratives à l'ouverture de comptes standards.

xrunas.vbs
Cet inconvénient peut être contourné avec xrunas.vbs qui passera automatiquement le mot de passe avec une simple commande sendkeys comme le montre cet extrait :

shell.AppActivate Title
WScript.Sleep 150
shell.SendKeys pwd & "~"

L'auteur a effectué une autre approche du problème avec superexec.

cpau.exe
S'il est déjà appréciable d'avoir ainsi automatisé l'entrée du mot de passe, il est souhaitable que le tout soit crypté. Heureusement cpau est arrivé. Si la commande peut être utilisée normalement, pour chiffrer on opère en deux temps. On crée d'abord un script.job chiffré. On utilise ensuite ce job avec cpau :

cpau -u atchoum -p 1234 -ex startmachin.cmd -enc -file machin.job
cpau -dec -file machin.job

Télécharger cpau.zip chez joeware depuis la page de cpau. Voir la syntaxe et plusieurs exemples sur la page usage. Entrer cpau sans argument dans une console de commande affiche la même aide et ses exemples. Lors de son exécution cpau donne des conseils. C'est ainsi qu'on est rapidement dirigé vers l'usage du commutateur -LWR. Si c'est pas de l'aide intégrée ça. Joe propose de nombreux autres free tools.

 

 

Notes

http://sebsauvage.net/streisand.me/korben/?20111108_103025_Compiler_un_batch_en_exe

http://www.bellamyjc.org/fr/vbsdownload.html#name2sid
http://www.joeware.net/freetools/tools/sidtoname/index.htm
http://www.joeware.net/freetools/index.htm

http://technet.microsoft.com/fr-fr/sysinternals
http://technet.microsoft.com/en-us/sysinternals
http://www.microsoft.com/france/technet/sysinternals/processesandthreads/psexec.mspx

http://www.nirsoft.net/
http://www.nirsoft.net/utils/
http://www.nirsoft.net/panel/
http://www.nirsoft.net/computer_forensic_software.html
http://www.nirsoft.net/x64_download_package.html
http://www.nirsoft.net/utils/nircmd.html

http://nonadmin.editme.com/UsefulTools

 

 

 


Merci d'avoir lu jusqu'ici !
Retour au début
Les restes du site
Addenda
JF (Jean-François)
 

compteur Free
Publié le 16/05/2007