/81 Introduction à UNIX et Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.49.40.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny cedex Tél. : 33 1.48.38.73.07, Fax. : 33 1.48.38.73.55 thierry.hamon@univ-paris13.fr http://www-limbio.smbh.univ-paris13.fr/membres/hamon/iuw-20132014
2/81 Généralités sur le système introduction Système d exploitation à interface graphique intégrée Apparition en 1985 PC, serveurs type PC (NT) puis aussi systèmes embarqués et matériels légers (1996) Différents variantes mais fonctionnement similaires En TP, utilisation de XP
3/81 Généralités sur le système introduction Caractéristiques principales (issues d autres systèmes) Système fortement basé sur l interaction homme-machine : Utilisation de fenêtres Représentation graphiques (icones) pour les objets informatiques (périphériques, logiciels, etc.), menus contextuels Utilisation importante de la souris (utilisation possible de raccourcis claviers) Egalement : possibilité d interaction avec le système par un langage de commande Un seul bureau (un module permet d en disposer de plusieurs)
4/81 Généralités sur le système Points importants pouvant différés d autres systèmes Suppression des fichiers sur disque dur Pas de réelle suppression : Envoi du fichier supprimé du disque dur dans la corbeille (Recylcle Bin) Possibilité de récupérer le fichier (sauf purge/vidage de la corbeille) NB : Sur périphérique amovible : suppression définitive Pas de prise en compte de la casse au niveau des fichiers Apprentissage, APPRENTISSAGE, apprentissage sont la même chaîne de caractères... mais prise en compte au niveau des mots de passe!
5/81 Généralités sur le système Principaux composants Composants graphiques Barre des tâches (application, processus, réseau, utilisateurs) Base de registres Explorateur Interaction directe avec le système (composants mode texte) Invite de commandes standard PowerShell
6/81 Tâche Tâches et Gestion Tâche : Notion équivalente à un processus Au démarrage, plusieurs tâches sont lancées (bureau explorer.exe, barre de tâches, etc.) Arrêt d une tâche : à l aide du gestionnaire de tâches puis terminer le processus NB : sous, une application peut être composée d un ensemble de processus Visualisation des tâches utilisateurs sous forme d icônes dans... la barre des tâches (zone inférieure de l écran - résumé des applications lancées par l utilisateur) dans le gestionnaire de tâches
7/81 Tâches et Gestion
8/81 Tâches et Gestion Description des onglets Applications Etat des applications en cours d exécution Fonctionnalités : Observation Arrêt Basculement en avant plan Création d une tâche (exécution d une nouvelle application) Identification des processus associés à une application clic droit et Aller dans le processus
9/81 Tâches et Gestion Description des onglets Processus Liste des processus en cours d exécution...... et informations statistiques associées (utilisateur, mémoire, processeur, E/S, etc.) :
10/81 Tâches et Gestion Description des onglets Performances Visualisation graphique des performances de la machine CPU (utilisateur et noyau) Mémoire Utilisation du fichier d échange (mémoire virtuelle - swap)
11/81 Tâches et Gestion Description des onglets Mise en réseau Visualisation graphique de l activité réseau (autant de graphiques que de réseaux configurés) Informations statistiques associées (utilisateur, mémoire, processeur, E/S, etc.) :
12/81 Tâches et Gestion Description des onglets Utilisateurs Visualisation des utilisateurs connectés (état des sessions, etc.)
13/81 Base de registre Base de registre registre Ensemble des informations sur les paramètres utilisateur user.dat les paramètres systèmes system.dat Fichier contenant une arborescence de paramètres Paramètre : couple clé/valeur \\REGISTRY\\USER\\S-1-5-19_Classes= \\Device\\HarddiskVolume1\\Documents and Settings \\LocalService\\Local Settings\\Application Data \\Microsoft\\\\UsrClass.dat
14/81 Base de registre Base de registre registre Manipulation transparente lors de l installation ou la désinstallation de programme Edition possible avec regedit (sans vérification des modifications réalisées) Contient les profils utilisateurs (environnement de l utilisateur) Répertoire de travail Programmes lancés à la connexion Groupes etc.
15/81 Explorateur Explorateur Visualisation d une arborescence de fichiers et répertoires (contenu d un disque dur ou d un périphérique de stockage CD, DVD, clé USB, etc.) Systèmes de gestion de fichiers Plusieurs modes d affichage : Miniatures, Icônes, Liste, Détails Opérations de manipulation des fichiers : copie, déplacement, renommage, recherche de fichiers Définition de l association d un type de fichiers à un programme à exécuter lors de son ouverture (ou double clic sur le fichier)
16/81 Fichiers et Gestion Système de gestion des fichiers Organisation des fichiers suivant une structure hiérarchique Chaque disque/partition est identifié par une lettre (C:, D:, P:,...) C: est le premier disque/partition C:\ est la racine du premier disque En salle TP, P: est le disque hébergeant les données utilisateurs (accessible via le réseau) Chaque niveau de la hiérarchie peut contenir des dossiers (répertoires) et des fichiers
17/81 Fichiers et Gestion Nommage des fichiers Nom composé de 2 parties : C:\Documents and Settings\Utilisateur\Thierry\IUW1.pdf une chaîne d au plus 255 caractères composées de lettres, chiffres, espaces, caractères spéciaux ou accentués un suffixe précédé d un point sur 3 ou 4 caractères, appelé l extension (.exe,.doc,.bat,.pps, etc.) l extension fait le lien avec l application à lancer (type de fichiers gérés sous l explorateur )
18/81 Invite de commande Invite de commande windows Besoin de réalisation de procédure (répétitive ou non) à l aide de commandes Contournement des contraintes de l interface graphique Dialogue direct avec le système d exploitation Invite de commande : issue de celle de MS-DOS mais avec des évolutions
19/81 Invite de commande Commandes et usage Aide en ligne Essentiellement des commandes dédiées à la manipulation de l arborescence des fichiers Quelques commandes d interaction avec certains périphériques (imprimante : PRINT - non présentée ici) + mécanismes de redirection d entrée/sortie
20/81 Invite de commande Accès à l invite de commande Démarrer > Exécuter Taper la commande : CMD et sur certaines versions de ; COMMAND Ouverture d une console
21/81 Aide en ligne Commandes HELP ou HELP COMMAND Aide associée à une commande : COMMAND /? Exemple : HELP PRINT PRINT /?
22/81 Commandes Mécanisme de redirection d E/S Redirection de la sortie : COMMAND > FICHIER Exemple : DIR > FICHIERDIR1.TXT Redirection de la sortie en ajout : COMMAND >> FICHIER Exemple : DIR >> FICHIERDIR1.TXT Redirection de l entrée : COMMAND < FICHIER Exemple : SCRIPT.BAT < FICHIERDIR1.TXT
23/81 Commandes Mécanisme de redirection d E/S Transfert de la sortie d une commande dans l entrée d une autre (tube) : TYPE FICHIERDIR1.TXT MORE NB : Combinaison possible des mécanismes SCRIPT2.BAT < FICHIERDIR1.TXT MORE
24/81 Commandes Manipulation des disques/arborescences Changement d arborescence : lettre de l arborescence suivi de : NB : le répertoire courant dans l ancienne arborescence est conservé le répertoire courant dans la nouvelle arborescence est la racine, si c est le premier accès, sinon le dernier répertoire accédé Exemples : C:\Documents> d: D:\> c: C:\Documents>
25/81 Commandes Caractères spéciaux Caractères spéciaux pour la définition des noms de fichiers :? : 1 caractère quelconque * : plusieurs caractères quelconques Permet de sous-spécifier un nom de fichier (correspond donc potentiellement à un ensemble de fichiers) Exemples : *.JPG : tous les fichiers d extension JPG Document.* : tous les fichiers de nom Document quelle que soit l extension Document?.doc : tous les fichiers commençant par Document suivi d un caractère quelconque
26/81 Commandes Manipulation des répertoires Déplacement dans un répertoire : CD Modification de l invite (nouveau répertoire) CD\ ou CHDIR : positionnement à la racine CD.. : positionnement dans le répertoire parent CD NOMduREPERTOIRE : positionnement dans le répertoire NOMdduREPERTOIRE (s il existe!) NB : NOMduREPERTOIRE peut être un chemin absolu ou relatif C:\WINDOWS> cd SYSTEM ou C:\WINDOWS\PROGRAM FILES> CD \WINDOWS\SYSTEM
27/81 Commandes Manipulation des répertoires Visualisation du contenu d un répertoire : (et des informations associés à chaque élément du répertoire) DIR [OPTION] <FICHIER ou REPERTOIRE> DIR ou DIR *.* : Affichage de tous les fichiers du répertoire courant DIR REPERTOIRE : Affichage de tous les fichiers du répertoire REPERTOIRE DIR *.TXT : Affichage de tous les fichiers dont l extension est TXT DIR D*.* : Affichage de tous les fichiers commançant pas D etc.
28/81 Commandes Manipulation des répertoires Les options (combinables) permettent de modifier et contrôler l affichage : DIR/P : Affichage du contenu d un répertoire, une page à la fois (un écran à la fois) Passage à la page suivante en tapant sur une touche DIR/W : affichage des fichiers et répertoires sur plusieurs colonnes Cette visualisation fournit moins d informations sur les fichiers
29/81 Commandes Création / Suppression d un répertoire Création d un nouveau réperoire : MD ou MKDIR REPERTOIRE dans le/à partir du répertoire courant dans le cas d un chemin relatif possibilité de spécifier un chemin absolu suppression d un répertoire : RD ou RMDIR REPERTOIRE (mêmes spécifications sur le nom du répertoire que pour MKDIR) NB : le répertoire à supprimer doit être vide (pas de fichiers ou de sous-répertoire)
30/81 Commandes Manipulation des répertoires MOVE FICHIERS REPERTOIRE : Déplacement de plusieurs fichiers dans un autre répertoire MOVE *.DOC C:\MES DOCUMENTS TREE [REPERTOIRE] : Visualisation graphique de l arborescence à partir du répertoire courant ou dont le nom est spécifié
31/81 Commandes Manipulation des fichiers Modification des attributs : ATTRIB [MODIFICATEUR][ATTRIBUT] MODIFICATEURS des attributs : + : ajout - : suppression ATTRIBUTS : A : Archive R : Lecture seule S : système H : caché Exemple : ATTRIB +R +A -S -H DOCUMENT1.DOC
32/81 Commandes Manipulation des fichiers Suppression d un fichier : DEL FICHIER(S) (ou ERASE) FICHIER : chemin absolu ou relatif Possibilité d utiliser des caractères spéciaux Ne supprime pas les répertoires Exemples : DEL *.* DEL *.DOC DEL D*.TXT Modification du nom d un fichier (renommage) : RENAME FICHIER1.TXT DOCUMENT1.TXT
33/81 Commandes Manipulation des fichiers COPY FICHIERS REPERTOIRES : copie d un ou plusieurs fichiers dans un répertoire COPY *.DOC C:\MEs DOCUMENTS XCOPY REPERTOIRESOURCE REPERTOIRECIBLE : copie des fichiers et sous-répertoire de REPERTOIRESOURCE dans le répertoire REPERTOIRECIBLE XCOPY C:\MES DOCUMENTS D:\THIERRY
34/81 Commandes Accès au contenu d un fichier TYPE : Affichage du contenu d un fichier à l écran Combinaison avec MORE pour un affichage page par page Exemples : TYPE FICHIER1.TXT TYPE FICHIER1.TXT MORE SORT [/R] [+n] [ELEMENTS IN] [ELEMENTS OUT : Tri les éléments fournis sur l entrée entrée ou dans un fichier et les affiche sur la sortie standard ou un fichier sort /R REPERTOIRE.TXT > FICHIERTRIE.txt
35/81 Commandes Accès au contenu d un fichier FC FICHIER1 FICHIER2 : Comparaison de deux fichiers et affichage des différences (avec position dans les fichiers) FIND CHAINE FICHIER(S) : Recherche de la chaîne de caractères CHAINE dans un ou plusieurs fichiers (FICHIER(S)) passés en argument
36/81 Commandes Commandes annexes CLS : Effacement de l écran EDIT exécution d un éditeur (assez frustre) en ligne de commandes Utile pour la rédaction de fichiers de commandes (batch) Usage : EDIT <NOMFICHIER> NB : le fichier peut exister ou non
37/81 Commandes Gestion des Processus START : Exécution d un programme ou d une commande dans une autre fenêtre CALL FICHIER PARAMETRES : Exécution d un fichier de commande FICHIER depuis un autre fichier de commandes (sans interruption de celui-ci) EXIT : Sortie de l interpêteur de commande TASKLIST : Affichage de la liste des processus TASKKILL /pid PID : Permet l arrêt d un processus d identifiant PID AT : Planification d exécution de programmes (à une date et un horaire précis)
38/81 Commandes Gestion du Temps TIME : Affichage de l heure courante (également possibilité de modifier l heure) DATE : affichage de la date actuelle (également possibilité de modifier la date)
39/81 Divers Commandes TITLE TITRE : Définition du titre de la fenêtre de l invite de commande VER : Affichage du numéro de version de PROMPT : Modification de l invite de commande de PAUSE MESSAGE : Interrutption de l exécution d un fichier de commandes et affichage du message MESSAGE
40/81 Divers Commandes DOSKEY [/MACRO] [/HISTORY] [macro=commandes] : Mémorisation des commandes tapées dans l invite de commandes Possibilité de définition de macros : DOSKEY AFFICHE=TYPE $1 MORE Création d un fichier de commandes contenant les macros DOSKEY /MACRO > Macros.bat Création d un fichier de commandes contenant les commandes tapées DOSKEY /history > fichiercommandes.bat ECHO MESSAGE : Affichage du message MESSAGE à l écran Egalement, activation/désactivation de l affichage des commandes (dans un fichier de commandes)
41/81 Fichiers de commandes Fichiers de commandes fichiers batch Réalisation de tâches répétitives ou longues à exécuter Utilisation de ligne de commandes Fichiers textes contenant des commandes Exécution séquentielle des commandes Extension :.bat ou.cmd
42/81 Fichiers de commandes Fichiers de commandes Prise en compte d instructions classiques Déclaration de variables Choix et boucles Exécution via l interpréteur de commandes (cmd.exe) Par double clic sur le nom du fichier Par mention du chemin complet sauf si le répertoire qui contient le fichier se trouve dans la variable PATH Sous, langage assez pauvre
43/81 Fichiers de commandes Commandes internes et externes Commandes internes : commandes intégrées dans l interpréteur (dir, del, etc.) Exécution de ces commandes uniquement depuis l invite de commandes Commandes externes : commandes correspondant à un exécutable indépendant de l interpréteur (ipconfig, netstat, etc.) Exécution des commandes sans l intermédiaire de l invite de commande
44/81 Fichiers de commandes Combinaison de commandes & : exécution de commandes à la suite l une de l autre (commande1 & commande2) Exécution de commande1 puis de commande2 && : exécution d une seconde commande si la première se termine avec succès commande1 && commande2 Exécution de commande2 si commande1 se termine avec succès : exécution d une seconde commande si la première se termine en erreur (ou pas d exécution) commande1 commande2 Exécution de commande2 si commande1 se termine en erreur
45/81 Fichiers de commandes Affichage des commandes Mécanisme d afffichage des commandes qui s exécutent : @ suivi d une commande Exemple : @dir Affichage du contenu du répertoire courant sans affichage de la commande dir NB : uniquement dans un fichier batch
46/81 Fichiers de commandes Affichage des commandes @echo off : toutes les commandes du fichier batch, qui suivent cette instruction dir @echo off dir c:\ 1 Affichage du contenu du répertoire courant avec affichage de la commande dir 2 Affichage du contenu de la racine C: répertoire courant sans affichage de la commande dir c:\
47/81 Fichiers de commandes Premiers scripts Affichage de la chaîne de caractères Hello World (avec echo des commandes) echo "Hello World" Affichage de la chaîne de caractères Hello World (sans echo des commandes) @echo off echo "Hello World" Récupération du contenu d un répertoire dans un fichier dir c:\ > D:\IUW\Fichier1
48/81 Fichiers de commandes Commentaires Instruction REM Exemple : REM AFFICHAGE DU CONTENU @echo off echo %1 REM Execution de la commande dir %1 > %2
49/81 Fichiers de commandes Autres exemples Recopie de l intégralité d un répertoire dans un autre xcopy /d /s %1 %2 Suppression de tous les fichiers temporaires (extension tmp) d un répertoire donné del %1/*.tmp
50/81 Fichiers de commandes Argments d un fichier %1, %2,..., %9 : arguments passés par l utilisateur Exemple : @echo off echo %1 dir %1 > %2 echo "Uniquement les DDL" dir %1\*.dll >> %2 Exécution : Script1.bat c:\ D:\IUW\Resultats3.txt
51/81 Fichiers de commandes Variables Déclaration et initialisation de variables : set variable=valeur_initiale variable : nom de la variable valeur initiale : valeur initiale de la variable Utilisation de variables : %variable% Remarque : Pas de sensibilité à la casse Exemples : set fichierresultat="fichier1resultat.txt" dir %1 > %fichierresultat%
52/81 Fichiers de commandes Portée des variables Portée définie dans l invite de commande Si le script ne ferme pas l invite de commande, les variables restent définies Limitation à un ensemble d instructions : Définition de l ensemble d instructions à l aide setlocal et endlocal... setlocal set fichiertmp = "fichier1.tmp" endlocal...
53/81 Fichiers de commandes Saisie par l utilisateur Récupération de la saisie d un utilisateur : set /p variable= [chaine_de_caracteres] chaine_de_caracteres : chaîne de caractères optionnelle correspond au message affiché à l utisateur variable : nom de la variable contenant les données tapées par l utilisateur Exemple : set /p nomrep= "Nom du repertoire? "
54/81 Fichiers de commandes Opérateurs arithmétiques Utilisation de l option /a de la commande set set /a une_variable={expression arithmétique} Opérateurs : Addition : + Soustraction : - Multiplication : * Division : / Modulo : %% (dans un fichier batch) % (dans l invite de commandes) NB : Les opérateurs unaires (+=, -=, *=, /= et %= sont également disponibles) Exemple : set /a num=%num% + 1 set /a num+=1
55/81 Fichiers de commandes Opérateurs de comparaison Opérateurs associés à l instruction de branchement (if) : égalité : EQU ou == NB : pour les chaînes de caractères (entre double quote) différence : NEQ inférieur : LSS inférieur ou égal : LEQ supérieur : GTR supérieur ou égal : GEQ négation : not Exemples : "%1" == "test" %num% LSS 10 not "%1" == "test"
56/81 Fichiers de commandes Branchement / Choix Instruction : if condition ( REM CONDITION VRAIE commandes ) else ( REM CONDITION FAUSSE commandes ) NB : La partie ELSE est facultative
57/81 Fichiers de commandes Branchement / Choix Exemple if %num% GTR "0" ( echo "nombre positif" ) else ( echo "nombre negatif" )
58/81 Fichiers de commandes Opérateurs supplémentaires Opérateurs associés au branchement if : exist nom fichier : test de l existence d un fichier (nom fichier if exist fichier1.bat mv fichier1.bat Script1.bat defined nom variable : test de l existence de la variable nom variable if defined var1 echo %var1% errorlevel code : test du code de sortie de la dernière commande est supérieur ou égal à code
59/81 Fichiers de commandes Boucle Boucle For uniquement for element in (ensemble) do (commandes) NB : dans un fichier batch, l élément est défini par %%n alors qu en ligne de commande il sera défini par %n le nom de la variable doit comporter qu un seul caractères Exemple : for %%n in (1 2 3) do echo %%n
60/81 Fichiers de commandes Boucle Options de la boucle for /D : l ensemble des éléments contient des noms de répertoire /R : exécution récusive de la/les commandes dans les sous-répertoires du répertoire /L : boucle sur une/des commandes en fonction des paramètres de l ensemble start, step, end (début de l ensemble, pas d incrémentation, fin de l ensemble) for /L %%n in (1,1,5) do (echo %%n) /F : Parcours du texte des fichiers, chaînes de caractères ou sorties de commandes et exécution de la commande pour chaque ligne
61/81 Fichiers de commandes Variables d environnement Affichage à l aide de la commande set sans argument NB : toutes les variables définies dans les scripts exécutés sont également affichiées Quelques variables d environnement : PATH : liste des répertoires contenant les fichiers de programmes (exécutables et scripts) TMP/TEMP : nom du répertoire contenant les fichiers temporaires
62/81 Fichiers de commandes Variables d environnement Autres variables : DATE : date courante TIME : heure courante RANDOM : nombre décimal généré aléatoirement en 0 et 32767 ERRORLEVEL : valeur du niveau d erreur courant
63/81 Fichiers de commandes Manipulation d une chaîne de caractères Substitution d une chaîne str1 dans la chaîne VAR par une autre (str2) : %VAR:str1=str2%
64/81 Fichiers de commandes Manipulation d une chaîne de caractères Extraction d une sous-chaine à partir d une autre chaine (décalage de start, extraction de la longueur length) %VAR:~start,length% Exemples : REM extraction de 5 caractères à partir du REM deuxième caractère de la variable VAR %VAR:~2,5% REM extraction de 2 derniers caractères REM de la variable VAR %VAR:~-2% REM extraction de tous les caractères REM sauf les deux derniers %VAR:~0,-2%
65/81 PowerShell Introduction PowerShell Language de script plus performant pour les environnements Nombreuses fonctionnalités dédiées à l administration système Développement en.net Langage proche de Perl et du Bash compatibilité avec l environnement Unix (grâce aux alias) et cmd Fonctionnalités standards d un shell (pipeline) Brève introduction dans ce cours
66/81 Powershell Principe de fonctionnement PowerShell Transformation des commandes et des données en objet (interprétation de la ligne de commande Cmdlet) Génération et exécution d un programme.net Pipeline : communication entre les cmdlets Entre les commandes, les données restent des objets, sans être transformé en texte (sauf lors de l émission du résultat)
67/81 Commande-let cmdlet PowerShell Commande Powershell : Instance de classe.net Possibilité de rédaction de nouvelles cmdlets (à intégrer dans Powershell) Manipulation d objet.net et non du texte Orientée enregistrement en traitant un objet à la fois
68/81 Commande-let Syntaxe PowerShell Règle de nommage : verbe-nom [[-parametre1] arg1] [-parametre2 arg2]... Verbe : définition de l action (get, start,...) Nom : objet sur lequel s applique le nom (command, service) Paramètres : dépendant de la cmdlet, mais plusieurs paramètres communs à toutes les cmdlets : Debug, Verbose ErrorAction, ErrorVariable, ou lorsque la cmdlet implémente la méthode ShouldProcess : Confirm, Whatif
69/81 Commande-let Exemples PowerShell get-command get-command get-command get-command -Name get-command get-help get-help -Name get-* -Category cmdlet start-service -service... foreach-object...
70/81 Alias PowerShell Raccourcis vers les commandes Powershell (assez longues!) Alias standard (commandes Unix et CMD : ls ou dir (Get-ChildItem), rm (Remove-Item), pwd (Get-Location) Liste des alias : Get-Alias Définition de nouveaux alias : Set-Alias -Name alias -Value commande.
71/81 PowerShell Quelques cmdlets Get-ChildItem : liste des fichiers du répertoire Copy-Item : copie de fichier(s) Remove-Item : suppression de fichier(s) Rename-Item : déplacement/renomage de fichier Write-Host/Write-Output : affichage d une chaîne de caractères à l écran Read-Host : lecture du clavier
72/81 PowerShell Langage de cmdlet Initiation Commentaire : # suivi du commentaire Attention : si le # suit une instruction, ne pas oublier de mettre un espace avant le # (ou l instruction entre parenthèses) echo hello#world echo hello #world (echo hello)#world
73/81 PowerShell Langage de cmdlet Initiation Variable : $ suivi du nom de la variable NB : les variables sont des instances.net $var Tableaux : création avec @(...) Tableaux associatifs : création avec @{...} $hosts = @("F206-1", "F206-2") $hosts += @("F206-3") $nbhosts = @{"F206" = 15 ; "F207" = 14} Write-Host "Nombre de machines: " $hosts.count
74/81 PowerShell Langage de cmdlet Initiation Affectation : = Opérateurs arithmétiques : + - * / % += -= *= /= %= Exemples : Write-Host 2+4 $var = 2+4 $var -= 1 Write-Host $var
75/81 PowerShell Langage de cmdlet Opérateurs de comparaison -eq -ne -ge -gt -lt -le -ieq -ine -ige -igt -ilt -ile -ceq -cne -cge -cgt -clt -cle -Like -NotLike -Match -NotMatch -Contains -NotContains -In -NotIn -Replace Par défaut non sensible à la casse Exemple : Get-ChildItem Rename-Item -NewName { $_ -Replace.gif$,.jpg$ }
76/81 PowerShell Langage de cmdlet Tests if/else ; if/elseif/else switch/case Where/Where-Object if ($var -eq 0) { Write-Host $var " est egal a zero" } elsif ($var -gt 0) { Write-Host $var "est positif" } else { Write-Host $var "est negatif" }
77/81 For : For($i=0;$i -le 10;$i+=2) { Write-Host "i= " $i } While : $i=0 While($i -le 10) { Write-Host "i= " $i $i+=2 } ForEach : PowerShell Langage de cmdlet Boucles ForEach ($file in Get-ChildItem ) { Write-Host "Fichier: " $file.name }
78/81 PowerShell Langage de cmdlet Fonction Définition à l aide du mot-clé function Utilisation : nom de la fonction avec les paramètres séparés par des espaces (pas de parenthèses, ni de virgule entre les paramètres) function somme($a, $b) { $s = $a + $b return $s } write-host "Somme de 4 et 5: " somme 4 5
79/81 PowerShell Création de script Liste d instruction PowerShell pouvant comporter des commandes et des instructions script1.ps : Get-Process where-object {$_.Name -match "E.*"} ipconfig Get-Member
80/81 PowerShell Exécution de script Attention aux règles de sécurité : par défaut, un script utilisateur ne peut être exécuté (Get-ExecutionPolicy) C:\> Get-ExecutionPolicy Restricted Il existe 4 niveaux de sécurité : Restricted, AllSigned, RemoteSigned, Unrestricted Définition du niveau de sécurité avec Set-ExecutionPolicy : C:\> Set-ExecutionPolicy RemoteSigned C:\> Get-ExecutionPolicy RemoteSigned Exécution du script : powershell c:\script1.ps
81/81 PowerShell Documentation en ligne http://technet.microsoft.com/en-us/library/bb978526.aspx http://technet.microsoft.com/en-us/library/hh847741.aspx http://technet.microsoft.com/en-us/library/hh847840.aspx http://www.ansatt.hig.no/erikh/tutorial-powershell/ powershell-notes.pdf