Support de Formation Powershell 3 0

download Support de Formation Powershell 3 0

of 67

Transcript of Support de Formation Powershell 3 0

  • Support de cours PowerShell 3.0 - 1 / 67 -

    Table des matires

    I. Prsentation ................................................................................................................................................................................................ 6 A. Prambule ........................................................................................................................................................................................ 6 B. Technologies de scripting .......................................................................................................................................................... 6 C. PowerShell 3 ................................................................................................................................................................................... 6 D. Les outils ........................................................................................................................................................................................... 6 II. Premiers pas ................................................................................................................................................................................................ 7 A. Les applets de commande ou cmdlets .................................................................................................................................. 7 B. L'interprteur ................................................................................................................................................................................. 7 C. Protection ......................................................................................................................................................................................... 7 1. Le niveau de scurit : Get-ExecutionPolicy .......................................................................................................... 7 2. Changer le niveau de scurit : Set-ExecutionPolicy .......................................................................................... 7 3. Signature .............................................................................................................................................................................. 7 4. Voir aussi .............................................................................................................................................................................. 7 5. Stratgies ............................................................................................................................................................................. 8 6. Autorit de certification ................................................................................................................................................. 8 7. Associer un certificate un script .............................................................................................................................. 8 D. Aide ..................................................................................................................................................................................................... 8 1. Informations de plate-forme : Get-Host ................................................................................................................... 8 2. La liste des commandes : Get-Command .................................................................................................................. 8 3. L'aide : Get-Help ................................................................................................................................................................ 8 4. Actualiser l'aide 3.0 .......................................................................................................................................................... 8 5. Mthodes et proprits associes une cmdlet ................................................................................................... 8 6. Afficher les proprits d'un cmdlet ........................................................................................................................... 9 7. Mode GUI .............................................................................................................................................................................. 9 8. Afficher les mthodes et proprits d'un objet .................................................................................................... 9 9. Les fournisseurs PowerShell : Get-PSProvider ..................................................................................................... 9 10. Historique ............................................................................................................................................................................ 9 E. Excution des scripts ................................................................................................................................................................... 9 1. Excution dun script ....................................................................................................................................................... 9 2. Appel d'un autre script ................................................................................................................................................... 9 3. Rcupration du contenu de l'excution d'une commande systme ........................................................... 9 4. Mac Address ........................................................................................................................................................................ 9 5. Variable d'environnement .......................................................................................................................................... 10 6. Appel d'un programme ................................................................................................................................................ 10 7. Mesurer le temps d'excution : Measure-Command ....................................................................................... 10 8. Tempo ................................................................................................................................................................................. 10 9. Trigger ................................................................................................................................................................................ 10 10. Envoi de mail ................................................................................................................................................................... 10 F. Historique ...................................................................................................................................................................................... 11 1. Visualiser l'historique .................................................................................................................................................. 11 2. Rcuprer l'historique ................................................................................................................................................. 11 3. Excuter une commande de l'historique .............................................................................................................. 11 4. Voir aussi ........................................................................................................................................................................... 11 G. Informations de langue ............................................................................................................................................................ 11 H. Passage darguments ................................................................................................................................................................. 11 1. Par tableau ........................................................................................................................................................................ 11 2. Par la mthode Param .................................................................................................................................................. 11 I. Commentaires .............................................................................................................................................................................. 11 J. Instruction sur plusieurs lignes ............................................................................................................................................ 11 Denis Szalkowski Formateur Consultant http://www.dsfc.net Licence Creative Commons CC-by-nc-nd 09/09/2013 Version 2.0

  • Support de cours PowerShell 3.0 - 2 / 67 - III. Cmdlets systme ..................................................................................................................................................................................... 12 A. Le journal d'vnements ......................................................................................................................................................... 12 B. Les services ................................................................................................................................................................................... 12 1. La liste des services ....................................................................................................................................................... 12 2. Dmarrer, arrter un service ..................................................................................................................................... 12 3. Mettre en suspens, reprendre un service ............................................................................................................. 12 4. Modifier les proprits des services ....................................................................................................................... 12 C. Les process .................................................................................................................................................................................... 12 1. Liste des process ............................................................................................................................................................ 12 2. Arrter un process ......................................................................................................................................................... 12 3. Verbosit/Erreur ........................................................................................................................................................... 12 D. Informations ................................................................................................................................................................................. 13 E. CIM ................................................................................................................................................................................................... 13 F. WMI .................................................................................................................................................................................................. 13 IV. Elments du langage .............................................................................................................................................................................. 14 A. Les variables et les constantes .............................................................................................................................................. 14 1. Les variables .................................................................................................................................................................... 14 2. Les types ............................................................................................................................................................................ 14 3. Les chanes ........................................................................................................................................................................ 14 4. Caractres spciaux ....................................................................................................................................................... 14 5. Substitution de variables ............................................................................................................................................ 14 6. Les variables prdfinies ............................................................................................................................................ 14 7. Les constantes ................................................................................................................................................................. 15 B. Les tableaux .................................................................................................................................................................................. 15 1. Principes de base ............................................................................................................................................................ 15 2. Exemple .............................................................................................................................................................................. 15 3. Effacer un lment avec mthode .Net .................................................................................................................. 16 4. Tableaux associatifs ...................................................................................................................................................... 16 5. Autres mthodes ............................................................................................................................................................ 16 6. Porte .................................................................................................................................................................................. 16 C. Nombre alatoire ........................................................................................................................................................................ 16 D. Oprateurs .................................................................................................................................................................................... 16 1. Concatnation .................................................................................................................................................................. 16 2. Comparaison .................................................................................................................................................................... 16 3. Expressions rgulires ................................................................................................................................................. 16 4. Logiques ............................................................................................................................................................................. 17 5. Plages .................................................................................................................................................................................. 17 6. Appartenance .................................................................................................................................................................. 17 7. Oprateurs binaires ...................................................................................................................................................... 17 8. Affectation ......................................................................................................................................................................... 17 9. Cast ...................................................................................................................................................................................... 17 10. Forcer la dfinition de variables .............................................................................................................................. 17 E. Structures de contrle .............................................................................................................................................................. 17 1. Do ......................................................................................................................................................................................... 17 2. While ................................................................................................................................................................................... 17 3. For ........................................................................................................................................................................................ 18 4. Break ................................................................................................................................................................................... 18 5. If ............................................................................................................................................................................................ 18 6. Foreach ............................................................................................................................................................................... 18 7. Switch ................................................................................................................................................................................. 18 8. Exemple conditionnelle ............................................................................................................................................... 19 F. Gestion d'erreurs ........................................................................................................................................................................ 19 Denis Szalkowski Formateur Consultant http://www.dsfc.net Licence Creative Commons CC-by-nc-nd 09/09/2013 Version 2.0

  • Support de cours PowerShell 3.0 - 3 / 67 - 1. Prfrence ......................................................................................................................................................................... 19 2. Cas par cas ......................................................................................................................................................................... 19 3. Trap ..................................................................................................................................................................................... 19 4. TryCatch ......................................................................................................................................................................... 19 5. Dbogage ........................................................................................................................................................................... 19 G. Pipelining ....................................................................................................................................................................................... 20 1. Comptage ........................................................................................................................................................................... 20 2. Stats ..................................................................................................................................................................................... 20 3. Slection ............................................................................................................................................................................. 20 4. Tri ......................................................................................................................................................................................... 20 5. Diffrence .......................................................................................................................................................................... 20 6. Affichage ............................................................................................................................................................................ 20 7. Filtre .................................................................................................................................................................................... 21 8. Valeurs unique ................................................................................................................................................................ 21 9. Proprits .......................................................................................................................................................................... 21 10. Impressions ...................................................................................................................................................................... 21 11. Boucle ................................................................................................................................................................................. 21 12. Tri ......................................................................................................................................................................................... 21 13. Message .............................................................................................................................................................................. 22 14. Interaction ........................................................................................................................................................................ 22 H. Fonctions ....................................................................................................................................................................................... 22 1. Sans retour ........................................................................................................................................................................ 22 2. Avec retour ....................................................................................................................................................................... 22 I. Gestion des modules ................................................................................................................................................................. 22 1. Emplacement des modules ........................................................................................................................................ 22 2. Tlcharger des modules complmentaires ....................................................................................................... 23 3. Les modules lis l'administration ........................................................................................................................ 23 4. Commandes d'un module ........................................................................................................................................... 23 5. Charger automatiquement les modules ................................................................................................................ 23 6. Dcharger un module ................................................................................................................................................... 23 7. Crer un module ............................................................................................................................................................. 23 8. Exemple : devices.psm1 ............................................................................................................................................... 23 V. Gestion des heures et des dates ........................................................................................................................................................ 24 A. Obtenir la date et l'heure : Get-Date ................................................................................................................................... 24 B. Mthodes associes la cmdlet Get-Date ......................................................................................................................... 24 C. Changer la date et l'heure : Set-Date ................................................................................................................................... 24 D. Calculs sur date ........................................................................................................................................................................... 24 E. Cration de fichier ...................................................................................................................................................................... 24 VI. Gestion des fichiers ................................................................................................................................................................................ 25 A. Systme .......................................................................................................................................................................................... 25 1. Copie de fichiers : Copy-Item ..................................................................................................................................... 25 2. Cration de fichiers : New-Item ................................................................................................................................ 25 3. Dplacer les fichiers ...................................................................................................................................................... 25 4. Renommer les fichiers ................................................................................................................................................. 25 1. Suppression de fichiers : Remove-Item ................................................................................................................. 25 B. Informations sur les fichiers, rpertoires et cls de registres .................................................................................. 25 C. Tester l'existence d'un chemin .............................................................................................................................................. 25 D. Lire un rpertoire ....................................................................................................................................................................... 25 1. Commandes ...................................................................................................................................................................... 25 2. Attributs (IO.FileAttributes) ...................................................................................................................................... 26 E. La scurit ..................................................................................................................................................................................... 26 Denis Szalkowski Formateur Consultant http://www.dsfc.net Licence Creative Commons CC-by-nc-nd 09/09/2013 Version 2.0

  • Support de cours PowerShell 3.0 - 4 / 67 - F. Ajout un fichier ........................................................................................................................................................................ 26 G. Recherche dans un fichier ....................................................................................................................................................... 26 H. Les redirections ........................................................................................................................................................................... 26 I. Cration d'un fichier .................................................................................................................................................................. 26 J. Effacer le contenu d'un fichier .............................................................................................................................................. 26 K. Convertir en Html ....................................................................................................................................................................... 26 1. Utiliser une page CSS .................................................................................................................................................... 27 L. Conversion en JSON ................................................................................................................................................................... 27 M. Compter les lignes d'un fichier ............................................................................................................................................. 27 N. Lire un fichier CSV ...................................................................................................................................................................... 27 O. Les fichiers XML .......................................................................................................................................................................... 27 P. Export CSV ..................................................................................................................................................................................... 27 Q. Sauvegarde d'un fichier ........................................................................................................................................................... 27 R. Export Xml ..................................................................................................................................................................................... 27 S. Sauvegarder dans un fichier texte ....................................................................................................................................... 28 T. Interactif ......................................................................................................................................................................................... 28 U. Export / Import CSV Tableaux et Tableaux associatifs ............................................................................................... 28 VII. Registre ....................................................................................................................................................................................................... 29 A. Lecture d'une cl ......................................................................................................................................................................... 29 B. Crer une cl ................................................................................................................................................................................. 29 C. Crer une valeur ......................................................................................................................................................................... 29 D. Suppression de cl ..................................................................................................................................................................... 29 E. Lecture / Ecriture ....................................................................................................................................................................... 29 VIII. Excution distante .................................................................................................................................................................................. 30 A. Prsentation ................................................................................................................................................................................. 30 1. Scurit .............................................................................................................................................................................. 30 B. Authentification .......................................................................................................................................................................... 30 C. Machines de confiance (Poste poste) .............................................................................................................................. 30 D. Droits ............................................................................................................................................................................................... 31 E. Sessions .......................................................................................................................................................................................... 31 1. Session temporaire ........................................................................................................................................................ 31 2. Session permanente ...................................................................................................................................................... 31 3. Excution distante ......................................................................................................................................................... 31 4. Rappel de la session ...................................................................................................................................................... 31 F. Liste des commandes possibles ............................................................................................................................................ 31 G. Exemples ........................................................................................................................................................................................ 31 1. Invoke-Command ........................................................................................................................................................... 31 2. Get-Process ....................................................................................................................................................................... 31 IX. Modules Windows 8 et Windows 2012 ......................................................................................................................................... 32 A. NetAdapter .................................................................................................................................................................................... 32 1. Importer le module NetAdapter ............................................................................................................................... 32 2. Profil .................................................................................................................................................................................... 32 3. Lister les priphriques rseaux .............................................................................................................................. 32 4. Elements attachs la carte rseau ........................................................................................................................ 32 5. Dsactiver IPv6 ............................................................................................................................................................... 32 B. Partage rseau SmbShare ....................................................................................................................................................... 32 C. Impression .................................................................................................................................................................................... 32 D. ODBC ................................................................................................................................................................................................ 32 E. DNS ................................................................................................................................................................................................... 32 F. Disque ............................................................................................................................................................................................. 32 Denis Szalkowski Formateur Consultant http://www.dsfc.net Licence Creative Commons CC-by-nc-nd 09/09/2013 Version 2.0

  • Support de cours PowerShell 3.0 - 5 / 67 - G. Drivers ............................................................................................................................................................................................ 33 H. Applications .................................................................................................................................................................................. 33 X. A tes t er ........................................................................................................................................................................................................ 34 A. Panneau de configuration ....................................................................................................................................................... 34 B. Renommer un ordinateur ....................................................................................................................................................... 34 XI. Active Directory ....................................................................................................................................................................................... 35 A. ADSI ................................................................................................................................................................................................. 35 1. Gestion des groupes locaux ........................................................................................................................................ 35 2. Gestion des utilisateurs ............................................................................................................................................... 35 B. Module ( partir de Windows Server 2008) .................................................................................................................... 36 1. Import ................................................................................................................................................................................. 36 2. Liste des lecteurs ............................................................................................................................................................ 36 3. Gestion de l'annuaire .................................................................................................................................................... 36 4. Les utilisateurs ................................................................................................................................................................ 37 5. Les groupes ....................................................................................................................................................................... 37 C. Dploiement (2012) .................................................................................................................................................................. 38 1. Ajout de la fort .............................................................................................................................................................. 38 2. Ajout du DC ....................................................................................................................................................................... 38 3. Dsinstallation du DC ................................................................................................................................................... 38 XII. PowerShell sous Windows 2008 R2 ................................................................................................................................................ 39 A. Source .............................................................................................................................................................................................. 39 B. La listes des cmdlets .................................................................................................................................................................. 39 C. La gestion des utilisateurs ...................................................................................................................................................... 42 D. Les groupes ................................................................................................................................................................................... 43 XIII. Quelques exemples ................................................................................................................................................................................ 44 A. Liste des fichiers excuts sur la machine ........................................................................................................................ 44 B. Liste des services partir du registre ................................................................................................................................ 44 C. Utilisation des composants WSH Windows Scripting Host ....................................................................................... 44 1. Wscript.Shell .................................................................................................................................................................... 44 2. Wscript.Network ............................................................................................................................................................ 44 3. Partage d'imprimante .................................................................................................................................................. 45 4. Scripting.FileSystemObject ........................................................................................................................................ 45 D. MySQL : lecture de tables ........................................................................................................................................................ 45 E. Les compteurs .............................................................................................................................................................................. 46 F. MySQL : inventaire ..................................................................................................................................................................... 46 1. La table ............................................................................................................................................................................... 46 2. Le script ............................................................................................................................................................................. 46 XIV. Quelques sites .......................................................................................................................................................................................... 48 A. Rfrences ..................................................................................................................................................................................... 48 B. Exemples de scripts ................................................................................................................................................................... 48 C. Documentations .......................................................................................................................................................................... 48 D. Tlchargements ........................................................................................................................................................................ 48 E. Blogs ................................................................................................................................................................................................ 48 XV. Annexe 1 : cmdlets et fonctions prsentes sous Windows Server 2012 .......................................................................... 49 A. Les CmdLets .................................................................................................................................................................................. 49 B. Les fonctions ................................................................................................................................................................................. 52 XVI. Annexe 3 : de Vbs Powershell, documentation adapte d'un document Microsoft .................................................. 59 Denis Szalkowski Formateur Consultant http://www.dsfc.net Licence Creative Commons CC-by-nc-nd 09/09/2013 Version 2.0

  • Support de cours PowerShell 3.0 - 6 / 67 - XVII. Annexe 4 : oprateurs Where-Object .............................................................................................................................................. 64

    Denis Szalkowski Formateur Consultant http://www.dsfc.net Licence Creative Commons CC-by-nc-nd 09/09/2013 Version 2.0

  • Support de cours PowerShell 3.0 - 7 / 67 -

    I.Prsentation

    A.PrambuleCe document est un support de cours dont l'objet est de fournir les cls de comprhension du PowerShell. Il ne peut pas faire l'objet de reproductions des fins commerciales sans le consentement de son auteur.B.Technologies de scriptingTout systme d'exploitation ncessite l'emploi de technologies complmentaires pour automatiser des tches rcurrentes. Unix et Linux disposent de diffrents shells. Avec Dos, puis Windows, Microsoft a dvelopp diffrentes technologies de scripting. Initialement, il y a eu les commandes autour du DOS. Sous Windows NT, nous avions eu droit Kix. Avec Windows, Bill Gates voulait faire de Visual Basic le langage universel. Nous avons eu droit Vbscript utilis dans Windows Scripting Host. Et puis, avec l'avnement de .Net, Microsoft a dcid de mettre en avant le PowerShell. Certains langages tels que Perl, Python prsentent l'avantage de la portabilit.Le PowerShell, d'un point de vue syntaxique, emprunte diffrents langagestels que le Perl et aussi le Shell Unix. La critique qu'on peut faire Powershell est la lenteur de l'excution due l'utilisation du Framework .Net.C.PowerShell 3Windo