![]() Tutorial pour débuter avec PowerShell
1 PrésentationPowerShell s’apparente fortement aux différents Shell que l’on peut trouver dans le monde UNIX en en reprenant la philosophie de base mais en ajoutant des fonctionnalités supplémentaires. On utilise ainsi de petites commandes simples que l’on va combiner à l’aide de pipe pour créer des fonctions complètes. Les principales caractéristiques de PowerShell sont les suivantes:
2 InstallationPour mettre en place notre envirronement d'execution, les composants suivants sont necessaires:
3 Premiers pasLa convention de nom des cmdlets est composée de deux parties:
PS > Get-Service
Dans cet exemple, la commande Get-Service renvoie la liste des objets services du serveur avec leurs états. PS > Get-Service | Get-Member
En ajoutant le pipe vers la commande Get-Member, on liste l'ensemble des méthodes membres des objets retournées par Get-Service. PS > Get-Service schedule | Format-List -Property *
En utilisant la cmdlets Format-List, on va pouvoir séléctionner les propriétés ainsi que leurs états pour le service schedule. Voici quelques autres formats de sorties utilisables:
PS > ipconfig | findstr "Address"
On peu dans le cas de commande classique retournant du texte, faire un filtre pour rechercher une chaine de caractère précise. 4 Recherche d'aidePour lister l'ensemble des paramètres d'une cmdlets, vous pouvez utiliser la commande Get-Help que l'on peut comparer à la commande man du monde unix. Plusieurs niveau de détail peuvent aussi être solicité par la commande get-help en ajoutant les paramêtres suivants: PS > Get-Help Get-Command -Detailed
Le paramètre -detailled affiche en détail toutes les informations concernant les propriétés de la cmdlets get-command. PS > Get-Help Get-Command -Full Le paramètre -full affiche en détail toutes les rubriques d'aide de la cmdlets get-command. PS > Get-Help Get-Command -Examples Le paramètre -examples affiche des exemples d'utilisation de la cmdlets get-command. PS > Get-Help Get-Command -Parameter commandType
Le paramètre get-help affiche en détail toutes les informations concernant le paramètre commandType de la cmdlets Get-Command. 5 Les commandes courantesPS > Get-Command
Affiche les informations de base des cmdlets et des autres commandes PowerShell. PS > Get-Process
Affiche la liste des processus tournant sur la machine locale. PS > Get-Service
Affiche la liste des services s'executant sur la machine locale. PS > Get-Eventlog
Affiche les informations du journal d'évènement local ainsi que son contenu. PS > Start-Transcript
Permet d'enregistrer les informations d'une session PowerShell. 6 Gestion des alias ( get-alias )Les alias sont des commandes pointant vers une autre commande (ex: ps qui lance en fait Get-Process) PS > Get-Alias ps PS > get-alias | where-object {$_.definition -eq "set-location"} PS > set-alias gh get-help PS > set-alias np c:\windows\notepad.exe PS > remove-item alias:ls 7 Variables et bouclesComme tout langage de script, PowerShell supporte les variables et les boucles. Ainsi pour stocker une valeur dans une variable, il suffit d'utiliser la commande suivante : PS > $result = ipconfig Pour utiliser une boucle afin d'afficher des numéros de ligne. for ($i=0 ; $i -lt $result.length; $i++ ) La même chose avec un foreach… $i = 1; 8 FonctionsDes fonctions peuvent être créer en utilisant la syntaxe ci-dessous, des variables pourront être passées et retournées avec facilitée. $result = ipconfig function AddLineNumbers AddLineNumbers $result 9 Scripting WMI (Windows Management Instrumentation)Vous pouvez acceder aux paramètres WMI trés simplement à l'aide de PowerShell: Get-WmiObject win32_bios -computername 127.0.0.1 Get-WmiObject -Class Win32_OperatingSystem -ComputerName 127.0.0.1 10 Le profile PowerShellTous les alias, fonctions et variables sont ajoutés par defaut à la session courante. Afin de maintenir les changements dont vous avez besoin de manière permanante, il vous suffit de les ajouter à votre profil en editant l'un des fichiers suivants : %windir%\system32\WindowsPowerShell\v1.0\profile.ps1 Ce profil s'applique à tous les utilisateurs et à tous les shells. %windir%\system32\WindowsPowerShell\v1.0\Microsoft.PowerShell_profile.ps1 Ce profil s'applique à tous les utilisateurs, mais uniquement au Shell Microsoft PowerShell. %UserProfile%\My Documents\WindowsPowerShell\profile.ps1 Ce profil s'applique uniquement à l'utilisateur en cours mais sur tous les shells. %UserProfile%\\MyDocuments\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 Ce profil s'applique uniquement à l'utilisateur en cours mais uniquement au Shell Microsoft PowerShell. 11 NavigationPowerShell permet de naviguer dans differents environnements:
PS > Get-PSDrive cd HKLM: ls cd system\currentcontrolset\control 12 Pour aller plus loin...Script Center de Microsoft
|
|


















