> Tech > La nouvelle génération PowerShell

La nouvelle génération PowerShell

Tech - Par Jeffery Hicks - Publié le 20 juillet 2011
email

Je me souviendrais toujours de la première version de Windows PowerShell avec nostalgie, au même titre que j’ai adoré la série « Star Trek » originale. Mais ce n’est pas pour autant que j’ai boudé mon plaisir avec la suite « Star Trek : La nouvelle génération ».

Même si elle a introduit tout un ensemble de technologies et de concepts, notamment le « holodeck » qui préfigure la réalité virtuelle, cette suite est restée fidèle à la série originale.

La nouvelle génération PowerShell

Il en va de même aujourd’hui avec PowerShell 2.0. Cette nouvelle version introduit de nombreuses nouveautés clinquantes qui s’appuient sur les fondations solides de la version 1.0 de 2006. Avec PowerShell 2.0, vous disposez d’un véritable couteau suisse en termes de fonctionnalités.

Si vous pouvez utiliser le clavier, il est possible d’effectuer des tâches de gestion courante sans quitter votre poste. Voici un moyen de voir facilement les informations concernant les services d’un ordinateur distant au moyen de la cmdlet Get-Service :

PS C:\> get-service –computer FILEO1

Si vous pouvez travailler avec un ordinateur distant, il est très facile de travailler avec plusieurs en employant une expression PowerShell légèrement plus longue sur une ligne :

PS C:\> get-service -computer FILE01,FILE02,DC1,DC2 | Sort
MachineName,Status | formattable Status, Displayname, MachineName –
autosize

Comme nous obtenons des informations sur les services de multiples ordinateurs, il est nécessaire de voir ComputerName via la propriété MachineName. Pour un suivi facilité de toutes les informations, PowerShell tri les objets de service de Get-Service sur tous les ordinateurs, premièrement au moyen de la propriété MachineName, puis via la propriété Status. Les objets triés sont alors dirigés vers la cmdlet Format-Table afin de générer un rapport facile à lire. Examinons une autre tâche de gestion type. Quels processus s’exécutent sur quels serveurs ?

PS C:\> get-process –computername FILE01

L’utilisation de cette cmdlet afin d’obtenir les données de processus de plusieurs ordinateurs sous une forme intelligible est plus compliquée que je ne le souhaiterais. Toutefois, une approche plus aisée permet d’obtenir des résultats plus familiers via Get-Process : la cmdlet Invoke-Command. Vous devez toutefois installer au préalable PowerShell 2.0 sur vos ordinateurs distants :

PS C:\> invoke-command -ComputerName FILE01,FILE02 -ScriptBlock {getprocess}

Cette cmdlet crée une session distante sur les ordinateurs spécifiés. Exécutez la commande dans le bloc de script via la cmdlet Get-Process et retournez les résultats sur votre ordinateur. Comment faciliter encore plus les choses ? Une petite interface utilisateur graphique ferait bien notre affaire.

Présentation de GridVie w

Bien que PowerShell soit une application du type console, elle contient des éléments d’interface graphique, dont Out- GridView. Vous pouvez diriger n’importe quelle expression PowerShell vers la cmdlet Out-GridView :

PS C:\> get-process –computername FILE01 | out-gridview

Out-GridView affiche les résultats de Get-Process dans une grille graphique. Vous pouvez cliquer sur des en-têtes de colonne pour effectuer un tri ou employer le bouton Add Criteria afin de filtrer les résultats. Certes, toutes ces actions sont possibles à partir de l’invite PowerShell avec les cmdlets Sort-Object, Select-Object et Where-Object. Mais, il vous faudra réexécuter sans cesse l’expression à l’invite. Grâce à Out- GridView, vous pouvez manipuler les données comme pratiquement bon vous semble. Ayez toutefois à l’esprit que cette approche ne s’apparente pas au Gestionnaire de tâches. Vous n’avez pas affaire à des données dynamiques mais au processus qui existait lors de l’exécution de Get-Process. Voici quelques exemples supplémentaires :

PS C:\ >get-service –computer FILE01 | out-gridview
PS C:\> get-eventlog system -newest 25 –EntryType Error,Warning
–ComputerName FILE02 | out-gridview
PS C:\> get-hotfix –computer FILE01,FILE02 | out-gridview

Si vous souhaitez simuler les résultats sans vous connecter à un ordinateur distant, employez votre propre Computer Name. Il est possible d’accomplir tellement de choses à partir d’une invite PowerShell que de nombreux outils présentés jusqu’à présent dans nos colonnes peuvent sembler obsolètes, ou au minimum, auraient bien besoin d’un coup de jeune.

Téléchargez gratuitement cette ressource

Téléphonie Cloud & Microsoft Teams

Téléphonie Cloud & Microsoft Teams

Le nouvel enjeu pour les Responsables IT est d’unifier leurs outils de collaboration à la téléphonie d’entreprise et migrer tous leurs appels sur le cloud. Découvrez tous les avantages d’une solution globale de communication cloud sécurisées et fiables combinant la téléphonie vocale cloud, Microsoft Teams et le routage direct.

Tech - Par Jeffery Hicks - Publié le 20 juillet 2011

A lire aussi sur le site

Revue Smart DSI

La Revue du Décideur IT