(french) Tutoriel Powershell – 3

 

Passez à la vitesse supérieure avec les objets

Maintenant que vous savez tout sur les objets, ce paragraphe va vous permettre d’optimiser l’utilisation de vos objets, car même s’il est intéressant de disposer d’un petit script, sans aucun doute très pratique, il est encore plus intéressant de transformer ce script en une ligne de commande et pourquoi pas d’en faire un alias.

Voici quelques exemples :

Exemple Nº1 

PS C:> Get-Command | Foreach {Get-Help $_ -detailed |Out-File -FilePath C:temp$_.txt –Encoding ASCII}

En détail:

1ère instruction : Get-Command on récupère la liste des commandes PowerShell

2èmeinstruction : Foreach {Get-Help $_ -detailed pour chaque élément on affiche l’aide détaillée

3èmeinstruction : Out-File -FilePath C:temp$_.txt –Encoding ASCII} on envoie le résultat de la commande précédente dans un fichier texte portant le nom de l’élément.

Résultat : Pour chaque commande PowerShell, on extrait l’aide associée (au format détaillé) et on l’envoie dans un fichier texte portant le nom de la commande.

Exemple N°2  

PS C:> Get-ChildItem C:temp | ForEach-Object {$_.Get_extension().toLower()} | Sort-Object | Get-Unique| Out-File –FilePath C:tempextensions.txt -Encoding ASCII

Voilà de quoi vous mettre en jambe, cinq instructions sur une ligne le tout passant par des pipelines.

En détail :

1ère instruction : Get-ChildItem C:temp on va lister tout les éléments du répertoire C:temp

2èmeinstruction : ForEach-Object {$_.Get_extension().toLower()} pour chaque élément on va afficher son extension

3èmeinstruction : Sort-Object on va trier les éléments

4èmeinstruction : Get-Unique on supprime les occurrences en doublon

5èmeinstruction : Out-File –FilePath C:tempextensions.txt -Encoding ASCII on envoie le tout dans un fichier texte en mode ASCII.

Résultat : cette ligne de commande affiche dans un fichier texte les différentes extensions que l’on peut trouver dans le répertoire C:temp.

 

Leave a comment