introduction à l'utilisation de powershell
la suite de command.com et de cmd.exe
powershell.exe
la suite de command.com et de cmd.exe
powershell.exe
Cmdlet alias cmd shell (unix) desc Get-ChildItem gci, dir, ls dir ls Liste fichiers / répertoires Get-Content gc, type, cat type cat Obtenir le contenu d'un fichier Get-Command gcm help help, which Liste des commandes ...fr.wikipedia.org/wiki/Windows_PowerShell

recherche de "chamois" dans les fic .htm
ls "D:\data_html\xxx\jeudi\*.htm" -Recurse | Select-String -Pattern "chamois"
avec Ubuntu: durée (time) -- compter (|wc)
PS D:\> Get-childItem *.htm -recurse | Select-String -Pattern "France"
ou
PS D:\> gci *.htm -recurse | Select-String -Pattern "France"
D:\data_html\xxx\jeudi\2007\index.htm:196:- 1 chamois. Ce petit ...
avec Ubuntu: durée (time) -- compter (|wc)
# time find . -name "*.htm" -exec grep -i 'chamois' {} \; -print
- 1 chamois. Ce petit...
./2007/index.htm
real 6sec
# find . -name "*.htm" -exec grep -i 'chamois' {} \; -print|wc
32
PS D:\> Get-childItem *.htm -recurse | Select-String -Pattern "France"
ou
PS D:\> gci *.htm -recurse | Select-String -Pattern "France"
"powershell (ISE)" Integrated Scripting Environment
----------- Afficher (Ctrl+R) = volet de scripts (fenêtre en 2 parties)
le gros plus: avec TAB pour afficher les propositions!! (syntaxe ++)
F5 = exécuter le script
F8 = exécuter la sélection
# ping.ps1
# --------------------
clear-host
# un ping sur la machine nommee mgmt
ping -t mgmt
# boucle sur la machine localhost
while ($true) {Test-connection localhost -count 1}
----------- Afficher (Ctrl+R) = volet de scripts (fenêtre en 2 parties)
le gros plus: avec TAB pour afficher les propositions!! (syntaxe ++)
F5 = exécuter le script
F8 = exécuter la sélection.............. resultat: .............. IND3 localhost 127.0.0.1 ::1 32 0 IND3 localhost 127.0.0.1 ::1 32 0 IND3 localhost 127.0.0.1 ::1 32 0 ................. resultat: .............. begin i a la valeur 1 i a la nouvelle valeur 3 i a la valeur 3 i a la nouvelle valeur 5 i a la valeur 5 i a la nouvelle valeur 7 i a la valeur 7 i a la nouvelle valeur 9 i a la valeur 9 i a la nouvelle valeur 11 end PS C:\temp> errors ======# while.ps1 # boucle while # -------------------- clear-host $i = 1 write-host "begin" DO { write-host "i a la valeur $i" $i+=2 write-host "i a la nouvelle valeur $i" } while ($i -le 10) write-host "end" 3 blocs 1 2 3 try, catch, finally 1 peut poser un pb 2 que faire en cas d'erreur? .... on analyse les erreurs (le nom du fic. est faux, ) .... et on affiche du blabla en consequent 3 suite (optionnel) a executer dans tous les cas (err ou pas avant) voir https://www.it-connect.fr/powershell-try-catch-finally-tuto/ ............................................................................. afficher texte ============== attention a l'ordre des commandes. write-host !!!!$? true or false xxxxxxx | out-null no output $error toutes les erreurs (mais la derniere tout en haut) $error[0] la derniere erreur $error.clear() effacer les erreurs .............. resultat 1: (ordre FAUX) .............. debut fin caption lastbootuptime ------- -------------- Microsoft Windows 10 Famille 26/10/2022 00:11:52 (a cause du pipe, le texte fin va etre affiche avant la ligne 2 (lastboot) .............. resultat 2: (ici, avec "write-output" c'est CORRECT) .............. debut caption lastbootuptime ------- -------------- Microsoft Windows 10 Famille 26/10/2022 00:11:52 finwrite-host debut -foregroundcolor red get-ciminstance -className win32_operatingsystem | select caption,lastbootuptime write-host fin VS write-output debut get-ciminstance -className win32_operatingsystem | select caption,lastbootuptime write-output fin