Docstoc

Scripting(1)

Document Sample
Scripting(1) Powered By Docstoc
					BTS informatique administrateurs réseaux

                                                             Exercices
                                                              Scripting




                                                             VB Script
                                                              Windows Scripting Host




1         Outils de scripting

1.01 Mapper un lecteur réseau
        Se connecter en Windows atelier et réaliser un script mappant un lecteur réseau vers
         son répertoire privatif sur u-server
        Ajouter un message de confirmation
        tester son fonctionnement en mode console et en mode fenêtré
                 Pour changer l’interpréteur par défaut, taper dans l’invite de commande :
                 Wscript //H:CScript          (active CScript)
                 Wscript //H:WScript          (active WScript )

1.02   Utiliser l’aide VBS
        Afficher l’utilisateur courant, le nom de la machine et le nom du domaine
                 Aide VBS :
                 rechercher dans les propriétés de l’objet WshNetwork
2       VBScript

2.01 Afficher l’utilisateur et le domaine
      Taper et tester le script présenté dans la diapositive n°5
      Contrôler l’affichage précédent en fonction d’un mot de passe saisi égal à « toto ».
       Le cas échéant afficher « mot de passe erroné »
               voir aide VBS :
               fonction inputBox

2.02 Mapper un lecteur réseau
      Reprendre et modifier exercice 1.1
      Mapper un lecteur réseau à partir de trois informations saisies : la lettre, le nom du
       serveur et le nom de partage
      Afficher le message de confirmation avec la ressource complète


2.03 Améliorer un script
     Set objFSO = CreateObject("Scripting.FileSystemObject")
     fichier=inputBox("nom et chemin du fichier: ")
     If objFSO.FileExists(fichier) Then
          objFSO.CopyFile faichier , "C:\scripting\archive”
          objESO.DeleteFile(fchier)
     Else
          Wscript.Echo "?"
     End If

      Tester et corriger le script précédent
      commenter le script et améliorer le message affiché
      compléter le script : tester l’existence du dossier destination et le créer le cas échéant
               voir aide VBS :
               dossier en anglais se dit « folder »

2.04 Propriétés d’un fichier
      Reprendre et modifier exercice précédent 2.3
      Afficher nom du fichier, sa taille et la date de la dernière modification
               Créer un objet fichier : SET objFichier=objFSO.getFile(nomFichier)
               propriétés d’un objet fichier
      Demander la confirmation du déplacement
       et le cas échéant afficher un message « déplacement annulé »

               fonction msgBox



2.05 Taille d’un répertoire
      Après avoir contrôlé l'existence d'un répertoire dont le chemin est saisi, afficher sa
       taille en Ko ou en Mo selon la valeur.
      Le résultat sera arrondi à une décimale.



                                       Exercices      2
2.06 Collections
        Reprendre l’exemple complet de la diapositive 6 et le tester
        Modifier l’exemple en prévoyant la saisie du répertoire
        En plus du nom afficher la taille des fichiers
        afficher le nom et la taille des sous-répertoires (à la racine du répertoire)
        afficher le nombre total de fichiers et le nombre total de sous-répertoires

2.07 Liste des lettres affectées aux disques logiques du poste
      Changer l’interpréteur de script pour passer en mode console
      Afficher la liste des lettres correspondant aux disques logiques
                 File System Object
                 Objet drives

2.08 Liste des disques logiques du poste et leurs propriétés
      Reprendre le script précédent
      Afficher le type du disque (inconnu, amovible, réseau, disque …),
       son nom éventuel ou la mention « disque non prêt »

                 Propriétés des objet drives

2.09 Créer un fichier texte et le remplir
      Utiliser l’interpréteur en mode fenêtré
      Créer un fichier texte dont le nom est saisi
      Saisir le nombre de lignes et ajouter chacune des lignes par un texte saisi
                 objet TextStream
                 méthode CreateTextFile

2.10 Lire un fichier texte
      Ouvrir un fichier texte dont le nom est saisi
      Tester son existence , puis lire et afficher chacune des lignes
      Compter et afficher le nombre de lignes

2.11 Variables d’environnement
      A partir d’un fichier texte fourni (environnement.txt) contenant la liste des variables
       d’environnement, afficher les valeurs correspondantes du poste local
                 environments
                 Environment property

2.12 Variables d’environnement et tableaux
      A partir du fichier texte fourni (environnement.txt) , charger le nom des variables et
       leur valeur dans deux tableaux
      L’utilisateur saisi un n° compris entre 0 et le nombre de valeurs proposées. En fonction
       du n° saisi, on affiche le nom et la valeur correspondante si le n° est compris entre 1 et
       le nombre de valeurs, sinon on affiche le nom et la valeur de toutes les variables
      l’utilisateur saisit un n° autant de fois qu’il le souhaite
                 arrays


                                         Exercices       3
2.13 Mappage réseau et gestion des erreurs
        Reprendre l’exemple de la diapositive 7 et le tester sans gestion des erreurs
        Compléter en affichant la description éventuelle de l’erreur et tester les différents cas
         d’erreurs.
        Le cas échéant afficher un message confirmant la réussite du mappage

2.14 Espace libre d’un disque
        Saisir la lettre d’un disque
        afficher son type de système de fichier et son espace libre en Go
        En cas d’erreur, afficher la nature de l’erreur

2.15 Ajouter une imprimante réseau
        Saisir une ressource correspondant à une imprimante réseau partagée
        L’installer sur le poste.
                                                                                         printers
        Si l’ajout a réussi, afficher un message de confirmation
        Demander si on souhaite la définir comme imprimante par défaut. Le cas échéant, la
         définir comme imprimante par défaut et afficher un message de confirmation

2.16 Afficher l’utilisateur et le domaine
        Réaliser une procédure qui affiche le nom d’utilisateur et le domaine en précisant s’il
         s’agit d’un domaine ou de la base locale de la machine
        Tester la procédure

2.17 Nombres d’imprimantes
        Reprendre exercice 2.15 et le compléter
        Faire une fonction qui donne le nombre d’imprimantes installées sur le poste
        Afficher le nombre avant et après l’ajout de la nouvelle imprimante

2.18    A propos de la procédure suivante :
         SUB ProcListeRep(objRepertoire)
              DIM objSousRep
              FOR EACH objSousRep IN objRepertoire.SubFolders
                   Wscript.Echo objSousRep.Path
                   ProcListeRep objSousRep
              NEXT
         END SUB

        Analyser et commenter la procédure
        Utiliser la procédure pour afficher la liste des répertoires et sous répertoires d’un
         répertoire saisi
        Ajouter l’affichage de la taille de chaque répertoire arrondi à la valeur entière

2.19 Espace libre d’un ou plusieurs disques
        Reprendre exercice 2.14 et le modifier pour afficher l’espace libre d’un ou plusieurs
         disques passés en arguments
        Lancer le script avec les arguments dans l’invite de commande                   Arguments
        Gérer les erreurs, en particulier l’absence d’argument                          Split()


                                         Exercices         4
3       Windows Script Host

3.01 Informations sur l’interpréteur et le script en exécution
      Afficher sur une même ligne: le nom de l’interpréteur, le nom complet de son
       exécutable, la version et le mode utilisé (console/ fenêtré)               Objet
      Afficher le nom et le chemin complet du script                               WScript

3.02 Afficher le répertoire courant et le nom du SE
      Afficher le nom et le chemin du répertoire courant du script en exécution,
      Afficher la liste des extensions des programmes exécutables             WshShell
                                                                                   Propriétés
3.03 Créer un raccourci sur le bureau
      Créer sur le bureau un raccourci vers le script en cours
      Régler les propriétés du raccourcis (cible, description et nom )

3.04 Créer un raccourci (2)
      Saisir les propriétés d’un raccourci
      Le créer sur le bureau et dans le dossier programmes du menu démarrer (all users)

3.05 Exécuter une copie de répertoire
      Saisir le répertoire source et tester son existence. Saisir le répertoire destination et
       demander la confirmation de la copie en affichant les deux répertoires
      Effectuer la copie du contenu du répertoire source vers le répertoire destination
       - en incluant les fichiers et les sous répertoires mêmes vides
       - en supprimant la fenêtre de demande de remplacement des fichiers existant
       - en créant le répertoire cible s'il n'existe pas
      Afficher les messages de confirmation des
                                                                          Invite de commande
       différentes actions
                                                                          aide XCOPY

3.06 Exécuter un programme VBS en passant des arguments
      Reprendre exercice 2.19
      Créer un script qui lance le script précédent avec, en arguments la liste des disques

3.07 tester les connexions des postes de l’atelier N21
      Créer un fichier de commandes (.bat) qui crée un fichier log.txt en affichant la date et
       l’heure, puis teste successivement le résultat des ping vers le commutateur d’atelier, le
       commutateur N21 et le serveur proxy puis redirige le compte-rendu vers log.txt
      Affiche à la demande le fichier texte                     Invite de commande
                                                                 aide IF %ERRORLEVEL%
3.08 Paramétrer la page de démarrage d’IE
      Afficher la valeur de la page de démarrage d’IE contenue dans la base de registre
      Modifier à la demande cette valeur par une URL saisie

3.09 Envoyer des frappes clavier au système
      Ouvrir le bloc-notes et activer une fenêtre                                 SendKeys
      Envoyer dans la fenêtre le texte « sans les mains »


                                       Exercices      5
3.10 Liste des mappages réseau
      Afficher la liste des mappages réseau du poste (lettre et ressource)
      Informer l’utilisateur s’il n’ya aucun mappage

3.11 Supprimer un mappage réseau
      Saisir une lettre et afficher la ressource correspondante
      Supprimer après confirmation le mappage correspondant

3.12 Liste des imprimantes
      Afficher la liste des imprimantes installées sur le poste (locale ou réseau)

3.13 Attributs d’un fichier
      Saisir le nom complet d’un fichier
      Afficher s’il est caché, en lecture seule ou normal

3.14 Modifier les attributs d’un fichier
      Saisir le nom complet d’un fichier
      Afficher s’il en lecture seule ou modifiable et proposer à l’utilisateur de basculer
       l’attribut (s’il est lecture seule, le rendre modifiable et inversement)

3.15 Liste des fichiers d’un répertoire
        Faire une fonction qui détermine si un fichier est caché ou non
        Faire une fonction qui détermine si un fichier est en lecture seule ou non
        Saisir le nom complet d’un répertoire
        Afficher la liste des fichiers qui s’y trouvent en précisant pour chacun, son nom, son
         type et le cas échéant s’il est caché ou en lecture seule (utiliser les deux fonctions
         précédentes)

3.16 Liste des fichiers d’un répertoire dans un fichier texte
      Reprendre l’exercice précédent
      Créer un fichier texte et y mettre en entête les informations suivantes : nom et chemin
       du répertoire, sa date de création, sa taille en Ko et une ligne blanche
      Puis,inscrire dans le fichier texte les informations relatives à chaque fichier du
       répertoire (les mêmes que l’exercice précédent)

3.17 Dictionnaire des mappages réseau
      Recupérer la liste des mappages dans un dictionnaire dont la liste des clés sera
       constituée des lettres et la liste des valeurs constituée des mappages
      S’il ya au moins un mappage, demander à l’utilisateur de saisir une lettre et afficher la
       valeur du mappage correspondant
      Répéter cette demande tant que l’utilisateur le souhaite

3.18 Plan d’adresse IP
      Utiliser le fichier fourni (IP.csv) contenant la liste les adresses IP fixes utilisées et le
       nom des matériels correspondant.
      Proposer à l’utilisateur de saisir une nouvelle adresse IP
      Rechercher l’adresse IP : si elle est attribuée, donner le nom du poste, sinon proposer à
       l’utilisateur de l’ajouter éventuellement dans le fichier texte avec le nom du poste.



                                         Exercices      6
4       WMI
4.01 Variables d’environnement
      Afficher le nom et la valeur de toutes les variables d’environnement du système
      En cas d’erreur afficher le message d’erreur correspondant
                classe WMI:
                Win32_Environment

4.02 Informations sur le poste
      Saisir un nom de poste
      Afficher les informations suivantes relatives au système de l’ordinateur : fabricant,
       modèle, nombre de processeurs et la taille de la mémoire physique totale (en Mo)
      En cas d’erreur afficher le message d’erreur correspondant

                 Scriptomatic


4.03 Configuration des cartes réseau
      Saisir un nom de poste
      Afficher les informations suivantes relatives à la configuration des cartes réseau :
       description, adresse MAC , adresse Ip et masque de sous-réseau

4.04 Propriétés et méthodes des classes WMI
      Utiliser les deux scripts suivants:
        classesWMI.vbs :
          ' affiche les classes WMI
          SET objWMIService=GetObject("winmgmts:\\.\root\cimv2")
          FOR EACH objclass IN objWMIService.SubclassesOf()
              Wscript.Echo objClass.Path_.Class
          NEXT
        ProprietesMethodes.vbs :
          ' affiche les classes WMI
          Classe=InputBox("saisir classe WMI:")
          SET objClasse = GetObject("winmgmts:\\.\root\cimv2" & ":" & classe)
          ' cherche et affiche les propriétés de la classe
          Proprietes=Classe & "- propriétés: "
          FOR EACH propriete In objClasse.Properties_
             Proprietes = proprietes & propriete.Name & " , "
          NEXT
          Wscript.echo proprietes
          ' cherche et affiche les méthodes de la classe
          Methodes=Classe & "- méthodes: "
          FOR EACH Methode IN objClasse.Methods_
             Methodes = Methodes & methode.Name & " , "
          NEXT
          Wscript.echo Methodes
      Saisir le nom d’une classe WMI et tester son existence
      Le cas échéant, afficher les propriétés et méthodes de la classe


                                       Exercices     7
4.05 Pinguer un ensemble de machines
      Tester le script suivant avec trois postes à pinguer:
     ping.vbs :

     OPTION EXPLICIT
     DIM ListeMachines             ' Chaîne contenant les machines à pinguer
     DIM LesMachines '           Contient la collection de noms de machines
     DIM machine       '         nom de la machine pinguée
     DIM i             '         nombre de ping à envoyer
     DIM objPing       '         collection contenant l'éxécution du ping
     Dim objStatus     '         Code statut de l'exécution du ping

     'iniatialisation et récupération du nom des machines à pinguer
     listeMachines = "192.168.0.2;bureau"
     lesMachines = split(ListeMachines, ";")

     'envois des pings et affichage du compte rendu
     FOR EACH machine IN LesMachines
      FOR i = 1 TO 3
        SET objPing = GetObject("winmgmts:")._
          ExecQuery("select * from Win32_PingStatus where address = '"_
                & machine & "'")
        FOR EACH objStatus IN objPing
          IF IsNull(objStatus.StatusCode) OR objStatus.StatusCode<>0 THEN
                     WScript.Echo("machine " & machine & " introuvable")
             ELSE
                WScript.Echo("Reponse de " & machine)
           END IF
        NEXT
      NEXT
     NEXT

      Modifier le script en passant la liste des machines en arguments
      Faire un script qui lancer le script avec les arguments dans l’invite de commande
      Gérer les erreurs, en particulier l’absence d’argument




                                       Exercices      8
5         ADSI
5.01 Créer une OU dans Active directory
      Saisir le nom de la nouvelle OU
      créer l’objet correspondant dans votre domaine

5.02 Créer un utilisateur ou un groupe dans Active directory
      Saisir le type de l’objet (1 : utilisateur, 2 : groupe)
      Saisir le nom de l’objet et le créer dans votre domaine avec les attributs minimuns

5.03 Supprimer des objets dans Active Directory
      Saisir le type de l’objet à supprimer (1 : utilisateur, 2 : groupe, 3 : Ou)
      Supprimer l’objet correspondant dans votre domaine

5.04 Les attributs des utilisateurs Active Directory
        Créer un utilisateur test dans son AD et remplir les attributs utiles
        Exporter les données AD et identifier les attributs utilisés
        Réaliser un script qui permet la création d’un utilisateur et ses attributs
        Intégrer l’ajout du mot de passe
                  Invite de commande: commande LDIFDE
                  ObjetUtil.SetPassword "mot de passe"


5.05 Créer plusieurs utilisateurs
      une liste d'utilisateurs est définie dans le fichier
       texte ListeUser.txt au format suivant:
      Exploiter le fichier pour créer ces utilisateurs dans AD

5.06 Afficher la liste des membres d’un groupe
      Saisir le nom d’un groupe et son OU
      Afficher la liste des membres

5.07 Ajouter/supprimer un utilisateur à un groupe
      Saisir le nom d’un groupe et son OU
      Saisir le type d’action et le nom de l’utilisateur
      Ajouter/supprimer l’utilisateur

5.08 Ajouter/supprimer plusieurs utilisateurs à un groupe
      Reprendre exercice précédent
      Le modifier en intégrant plusieurs utilisateurs
      Afficher le nombre d'utilisateurs ajoutés ou supprimés

5.09 Supprimer tous les membres d'un groupe
      Saisir le nom d’un groupe et son OU
      Supprimer tous les membres du groupe




                                         Exercices       9
5.10 Afficher tous les utilisateurs du domaine
      Paramétrer une requête avec ADO qui recherche tous les utilisateurs du domaine
      Afficher nom et nom complet au sens DNS :




                                     Exercices     10

				
DOCUMENT INFO
Jun Wang Jun Wang Dr
About Some of Those documents come from internet for research purpose,if you have the copyrights of one of them,tell me by mail vixychina@gmail.com.Thank you!