1 / 32

Aujourd’hui : Introduction à PowerShell

Aujourd’hui : Introduction à PowerShell. Objectifs : Identifier l’utilité de PowerShell et le contexte d’utilisation. Reproduire les commandes de base. PowerShell : historique. U n language de script orienté objet développé par Microsoft.

sibyl
Download Presentation

Aujourd’hui : Introduction à PowerShell

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Aujourd’hui : Introduction à PowerShell Objectifs : • Identifier l’utilité de PowerShell et le contexte d’utilisation. • Reproduire les commandes de base.

  2. PowerShell : historique. • Un language de script orienté objet développé par Microsoft. • Il s’appuie sur le framework Microsoft .NET et est désormais directement intégré aux nouveaux systèmes d’exploitation Windows 7 et Windows Server 2008. • Powershell est compatible avec toutes les versions de Windows qui supportent .NET 2.0. • PowerShell est supporté aujourd’hui uniquement par les systèmes suivants: • Windows XP Service Pack 2 • Windows Server 2003 Service Pack 1 • Windows Vista • Windows Seven • Windows Server 2008

  3. PowerShell : c’est quoi en fait ? • Un langage de scripting (automatique vs manuel) ex: creation des comptes utilisateurs. • Interpreteur de commandes. • Vous ne manipulez pas juste des textes mais le plus souvent des objets associés au Framwork .Net. • Fournis aussi avec un jeu de commandes très riches. • Une aide en ligne integrée avec des niveaux d’explications détaillés et des exemples illustrant l’utilisation des différentes commandes.

  4. PowerShell : c’est quoi en fait ? • Facile à apprendre même pour des non programmeurs. • Offre un niveau de sécurité très élevé.

  5. Mode commande : • Console

  6. Get-Command : • Permet de connnaitre toutes les commandes integrées dans PowerShell (Get-command | measure –object). • Help get-command • Get-command –verb write • Get-command –noun object (commandes qui s’appliquent aux Objets) • Get-command –commandtype alias (function, cmdlet, externalscript, application).

  7. Get-Help: • Permet de nous fournir de l’aide sur n’importe quelle commande • Get-Help ma-command OU Help maCommande OU maCommande -? • PowerShell permet 3 niveaux d’aides (STD, -detailled et -full). • Help get* OU Help *-item • Il est recommandé d’utilser Help maCommande suivi du niveau de détail (-detailed OU –full). • L’aide PowerShell est disponible aussi pour les tableaux, les opérateurs de comparaison, les boucles, les fonctions, etc.

  8. Variables : • $mavariable=‘cours de powershell’ • $mavariable.ToUpper() • $mavariable.lenght()

  9. Navigation dans les Répertoires et Fichiers : • Command Dir : liste le contenu d’un répertoire. • Get-Alias dir • CD : changer le r épertoire courant • MD : creer un répertoire • RD : supprimer un répertoire • Move : déplace un fichier / le contenu d’un répertoire • Ren : renommer un fichier/répertoire • Copy : copie un fichier/répertoire

  10. Navigation dans les Répertoires et Fichiers : • Get-ChildItem (Alias : gci, dir, ls): • Permet de lister le contenu d’un répertoire (fichier & sous répertoire ). (-d : rep, -h : cache, -s : objet systeme, -r : lecture, -a : archive) • Ajoutez le paramètre –force pour lister les fichierscachés. • Get-ChildItem c:\temp\* -Include *.log -Recurse • Get-ChildItem | where-object {$_.length –gt 32KB} • Get-ChildItem | where-object {$_.LastWrite Time –gt ‘01/01/2011’}

  11. Navigation dans les Répertoires et Fichiers : • Remove-Item (Alias : ri, rm, rd, rdir, del, erase): • Permet de supprimer des fichiersou des répertoires. • Remove-Item c:\temp\*.jpeg • Get-ChildItem c:\temp\* -include *.jpeg –Recurse | Remove-Item • Pour forcer la suppression d’un fichier, ajoutez la paramètre-force • Un autreparamètre de sécurité : -confirm

  12. Navigation dans les Répertoires et Fichiers : • Move-Item (Alias : mi, mv, move): • Permet de déplacer des fichiersou des r épertoires. • Move-Item c:\temp\*.jpeg ‘rep-photos’ • OU • Move-Item –path *.jpeg -destination ‘rep-photos’ • Move-Item anc-rep nouv-rep

  13. Navigation dans les Répertoires et Fichiers : • Rename-Item : • Permet de renommer des fichiersou des répertoires. • Rename-Item anc-fichiernouv-fichier • OU • Rename-Item -path c:\temp\Excel -newname Excel-2010

  14. Navigation dans les Répertoires et Fichiers : • Copy-Item (Alias cpi, copy, cp) : • Permet de copier des fichiers, des répertoiresou les deux. • Copy-Item c:\Mes-documents\fichier-orig d:\fichier-dest • OU • Copy-Item -path c:\temp\Clients.xls d:\Excel-2010 • Copy-Item -path RepOrig -destination RepDest -Recurse

  15. Formatage de l’affichage : • Dir ou Get-ChilItem: • Permet de lister le contenu d’un répertoire avec 4 proprietés : Mode, LastWriteItem, Length et Name. • + commandes spécifiques pour le formatage : • Format-List (fl) (formeliste) • Format-Table (ft) (formetabulaire) • Format-Wide (fw) (uneseuleforme large table) • Format-Custom (fc) (formepersonnalisée) • Obteniruneseuleproprieté d’un objet : (Get-ChildItem c:\autoexec.bat).CreationTime

  16. Les délimiteurs: • Utilisation des guillemets : • Pour delimiter les chaines de caracteres, on utilise les guillemets : simple ou double. (“ ” ou ‘ ’ ). • Write-Host ‘Salut ..’ === Write-Host “Salut ..” • Et les variables ? • $var1 = “Salut “ et $var2=“Jean” Write-host “$var1 $var2” ET Write-host ‘$var1 $var2’

  17. Les guillemets : • Utilisation des guillemets : • Backtick OU Guillemet inverse (AltGr + 7).

  18. Les variables et constantes: • $variable = valeur • $var1 = 99 (entier), $var2=‘Ecole’ (chaine) • [int]$var3=99 (typage de variables) === code plus lisible. • [int]$nombre = read-host ‘Entrez un nombre’ === ex: (Erreur) • $var1.GetType ()

  19. Les opérateurs arithmétiques : • Liste : +, -, *, / et % • 4+5*6 VS (4+5)*6 ==== (7%3 === 1). • $var1+$var2*$var3 …etc. • $ch1=‘A’ et $ch2=‘B’ … $ch1+$ch2 = AB.

  20. Opérateurs : • Comparaison: • -eq (egal) • -ne (non egal) • -gt (strictementsuperieur) • -lt (strictementinferieur) • -ge (plus grand ouegal) • -le (inferieurouegal) • Generiques: like ET notlike(expression generique). Ex: ‘montmorency’-like ‘*cy’, ‘mont*’, ‘montm?rency’, ‘????morency’

  21. Opérateurs : • Comparaison: • Opérateurs : match ET notmatch (expression réguliere). • ‘montmorency’ –match ‘montmor[aet]ncy’ • ‘montmorency’ –match ‘montmorenc[a-e]’ • ‘montmorency’ –match ‘montmorenc[a-z]’

  22. Opérateurs : • Logiques : • -and (ET logique), • -or (OU logique), • -not (Non logique), • ! (Non logique), • –xor (OU exclusif)

  23. Opérateurs : • Binaires : • binaireest en base de 2 ET décimalest en base de 10 • -band (opérateur ET), • -bor (opérateur OU), • -bnot (opérateur NON), • -bxor (opérateur OU exclusif)

  24. Opérateurs : • Affectation: • $i=$i+4 = $i+=4 • $i=$i-4 = $i-=4 • $i=$i*4 = $i*=4 • $i=$i/4 = $i/=4 • $i=$i%4 = $i%=4 • $i=$i+1 = $i=++ • Binaireest en base de 2 ET décimalest en base de 10 • -band (opérateur ET), • -bor (opérateur OU), • -bnot (opérateur NON), • -bxor (opérateur OU exclusif)

  25. Opérateurs : • Redirection: • Les interpréteurs de commandestraitent les informationsselon : • Une entrée (code 0 : généralement le clavier) • Une sortie (code 1 : généralement la console) • Code d’erreur (code 2 : STD) • Powershellposseded’autresopérateurs pour redirigerces flux d’information. • > : redirige le flux vers un fichier (att: d’ écraser le contenu) • >> : redirige le flux vers a la fin du fichier. Si n’existe, vaetrecree. • 2>&1 : redirige le message d’erreurversune sortie STD. • 2> : redirigel’erreurvers un fichier. S’ilexiste, le contenu sera écrasé • 2>> : redirigel’erreur en fin du fichier. S’iln’existe pas, sera crée.

  26. Les tableaux : • Tableau à une dimension ex: [int[]]$tab = 1,2,3 $tab = [int]1, [double]2.5,[char] ’A’ • Tableau à deux dimensions : ex: $tab == 1,2,3 $tab[0][2] == 3

  27. Redirection & Pipeline : • Le pricipe est de connecter des commandes de telle sorte que la sortie de l’une devienne l’entrée pour l’autre (sous forme d’objets). • Ex: get-Command | Out-File –FilePath c:\fichier.txt • Get-ChilItem c:\temp | ForEach-Object ‘ {_.Get_extention().ToLower()} | sort-Object | Get-Unique | Out-File ‘ -FilePath c:\temp\extensions.txt –Encoding ASCII

  28. Redirection & Pipeline : • Filtre Where-Object : • Get-Service | where-object {$_.status –eq ‘stopped’} • Get-ChilItem | where-object {$_.length –th 500}

  29. Les boucles : • Boucle For : • For (<initialisation>;<condition>;<incrémentation>) { bloc d’instructions } Ex : $tab =0..49 for ($i=0; $i –le 40; $i++) { write-host $tab[$i] }

  30. Les boucles : • Boucle Foreach-Object : • Foreach ($<element> in $<collection>) { bloc d’instructions } Ex : foreach ($element in Get-Process) { write-host “$(element.Name) declare le : $(element.StatTime)” }

  31. Structures conditionnelles : • IF : • IF (<condition>) { bloc d’instructions 1 } Else { bloc d’instructions 2 } Ex : $var = ‘A’ If ($var –eq ‘A’) { write-host “Le caractère saisi par l’usager est ‘A’ ” }

  32. Ressources Externes : • Sites recommandés : • www.powershell-scripting.comFr. • http://blogs.msdn.com/b/powershell Eng. • www.powershellcommunity.org Eng.

More Related