> Tech > Démarrer avec Windows PowerShell Windows

Démarrer avec Windows PowerShell Windows

Tech - Par iTPro - Publié le 24 juin 2010
email

PowerShell est un outil en ligne de commande capable de fédérer l’administration des nouvelles technologies Microsoft. Concrètement, qu’est ce que cela apporte ? Nous allons y répondre au cours de cette série d’articles. Mais avant cela, amusons-nous un peu en découvrant cet outil !

PowerShell s’installe

Démarrer avec Windows PowerShell Windows

comme une mise à jour du système d’exploitation. Il a besoin de framework .NET 2.0 pour fonctionner : nous verrons pourquoi un peu plus tard. Au lancement, cet outil n’est pas sans nous rappeler le bon vieux CMD… en effet, PowerShell est un interpréteur en ligne de commandes hébergé dans une application. Cet interpréteur pourra bien évidemment être utilisé par d’autres interfaces qu’une simple fenêtre comme des pages Web par exemple !

Mais chaque chose en son temps, nous allons faire nos premiers pas en regardant quelques Cmdlets. Un Cmdlet est une commande PowerShell. De base, dans la version 1.0 il existe environ 130 Cmdlets prédéfinies. Une des particularités d’une Cmdlet est son nom. En effet, il est composé de deux mots séparés par un tiret. Le premier mot est un verbe apportant une précision sur l’action que fait notre Cmdlet.

Le deuxième est un nom décrivant ce sur quoi porte notre action ! Par exemple, « Get-Command » nous donne la liste de toutes les Cmdlets prédéfinies et « Get-Service » récupère la liste des services. Le nom des Cmdlets est donc explicite. Toujours explicite ? Pas forcément du premier abord ! Regardons l’une des commandes les plus utilisées sous les shells UNIX et Linux… La commande « ls ».

Non, je vous rassure, nous somme toujours sous Windows ! En effet si vous venez d’un univers UNIX/Linux, vous remarquerez que certaines commandes sont utilisables sous PowerShell. Ceci grâce aux alias. En effet, lorsqu’on utilise la commande « ls » c’est en fait la Cmdlet « Get- ChildItem » qui est interprétée ! Pour les sceptiques, regardons l’aide avec la commande… « man » : qui est un alias sur la Cmdlet « Get-Help » (Figure 1).

Dans cette page de manuel, on trouvera la description de notre Cmdlet, une description de ses paramètres ainsi que des exemples d’utilisation ! En effet, en utilisant le paramètre « –Full » on obtient une aide très complète. Par exemple : « Get-Help Get- ChildItem –Full » affiche l’aide complète du Cmdlet « Get-ChildItem ». Bref, pourquoi ce Cmdlet listant les fichiers et les dossiers se nomme « Get-ChildItem » ?

Pas très intuitif ! Il y a cependant une bonne raison…Et si PowerShell était capable de naviguer de la même manière dans un système de fichiers, dans la base de registre, le magasin de certificats ou bien encore dans les variables d’environnement ? Ainsi, pour parcourir nos fichiers on utilise la commande « cd » qui est l’alias de « Set-Location ». En paramètre on lui donne un chemin. Par exemple: « cd hklm:\Software » pour aller dans cette clé de registre !

Cette navigation uniforme est possible grâce aux « providers Power – Shell ». Pour connaître la liste de tous les providers, nous avons la Cmdlet « Get-PSProvider ». Sachez qu’il est possible d’ajouter ses propres providers. La communauté très active de développeurs pour PowerShell a créé toutes sortes de providers afin de parcourir un Active Directory, une base de données, etc…

Téléchargez gratuitement cette ressource

Endpoint Security : Guide de Mise en œuvre

Endpoint Security : Guide de Mise en œuvre

Détournement d’applications légitimes, élévation de privilèges, logiciels malveillants furtifs : comment les solutions de Endpoint Security permettent elles de faire face aux nouvelles techniques d'attaques complexes ? Découvrez, dans ce Guide Endpoint Security, les perspectives associées à leur mise en œuvre.

Tech - Par iTPro - Publié le 24 juin 2010