in

Apprendre à utiliser des applets de commande dans PowerShell

Si vous avez utilisé ipconfig ou ping via l’invite de commande, vous êtes à mi-chemin pour devenir un ninja PowerShell. Alors venez nous rejoindre alors que nous découvrons les applets de commande dans cette installation de Geek School.

N’oubliez pas de consulter notre premier article présentant PowerShell et restez à l’écoute pour le reste de notre série toute la semaine.

L’anatomie d’une cmdlet

Dans la première partie de la série, nous avons vu une applet de commande qui ressemblait à ceci:

Aide à la mise à jour

Les applets de commande PowerShell ont une syntaxe Verb-Noun, qui peut être vue ci-dessus. La chose importante à noter est que le nom est toujours singulier même si l’applet de commande peut renvoyer plusieurs résultats. Pour afficher une liste des verbes juridiques dans PowerShell, vous pouvez utiliser l’applet de commande Get-Verb.

image

Connaître les verbes légaux et se souvenir de la règle du nom au singulier aide vraiment à deviner les noms des applets de commande. Par exemple, supposons que vous vouliez avoir une liste de prestations de service et leur statut – c’est vrai, c’est aussi simple que Get-Service. Comment pensez-vous que nous pourrions avoir une liste de course processus – c’est vrai, Get-Process fera l’affaire.

Get-Process

image

Cela rend très facile de travailler avec n’importe quelle technologie. Par exemple, si vous aviez les applets de commande Exchange chargées, nous pourrions facilement obtenir une liste des boîtes aux lettres sur le serveur en utilisant:

Get-Mailbox

Cependant, il existe une exception. En dehors de l’échange, toutes les autres commandes spécifiques à la technologie nécessiteront un préfixe. Par exemple, si nous voulions obtenir les utilisateurs actuellement connectés via Remote Desktop, nous saisirions:

Get-RDUserSession

Ce qui peut être vu dans la capture d’écran ci-dessous.

image

Il y a quelque temps, j’ai lu un article de Don Jones, le parrain de PowerShell, dans lequel il expliquait qu’Exchange était livré avant que ce préfixe ne soit ajouté aux applets de commande, il ne les a donc jamais implémentés et ne le sera jamais.

Alias

Une autre fonctionnalité fournie par PowerShell est la possibilité d’exécuter plusieurs façons d’exécuter la même commande – des alias, si vous voulez. Ce qui est génial à leur sujet, c’est qu’ils comprenaient de nombreuses commandes que vous utilisiez peut-être dans l’invite de commande, ainsi que des alias Linux. Par exemple, dans PowerShell, nous pouvons obtenir une liste de répertoires en utilisant:

Get-ChildItem

image

Vous avez l’habitude d’utiliser l’invite de commande? Ne vous inquiétez pas, ils vous ont couvert.

image

Vous avez une formation Linux? Ils vous ont également couvert.

image

Lorsque vous créez des scripts depuis quelques années, vous avez tendance à être paresseux et à commencer à utiliser beaucoup d’alias, mais cela n’aide pas les nouveaux venus qui vont lire notre code. Pour voir quelle commande un alias exécute sous le capot, vous pouvez utiliser ce qui suit:

Get-Alias ​​- Nom ls

image

D’un autre côté, si vous pensez qu’il est temps d’intensifier votre jeu, vous pouvez utiliser le paramètre de définition pour obtenir tous les alias d’une applet de commande:

Get-ChildItem –Definition Get-ChildItem

image

Si vous venez d’un autre arrière-plan, vous pouvez ajouter vos propres alias en procédant comme suit:

Nouvel alias –Nom icanhazfilez –Valeur Get-ChildItem

Évidemment, vous devrez remplacer «icanhazfilez» par le nom de votre nouvel alias et Get-ChildItem par l’applet de commande que vous voulez qu’il exécute sous le capot.

image

Une chose à noter est que vous perdez tous les alias que vous avez définis lorsque vous fermez le shell. Vous pouvez contourner ce problème en ajoutant leur définition à votre script de profil.

Paramètres de troncature

Windows PowerShell vous permet également de tronquer les noms de paramètres jusqu’au point où ils deviennent ambigus, c’est-à-dire jusqu’au point où PowerShell ne peut plus déterminer de quel paramètre vous parlez. Par exemple:

Get-Service -Name ‘Apple Mobile Device’ -ComputerName localhost

image

Est le même que:

Get-Service -Na ‘Apple Mobile Device’ -Com localhost

image

Si, par hasard, vous rendez les noms de paramètres trop ambigus, vous obtiendrez une erreur.

Commandes héritées

Enfin, les commandes que vous connaissez et aimez fonctionneront toujours dans PowerShell.

ping www.google.com

image

Rappelez-vous simplement que les applications héritées telles que ping génèrent une chaîne et qu’il existe souvent un meilleur moyen de faire la même chose à l’aide d’une applet de commande PowerShell.

image

Au lieu de produire une longue chaîne de texte, nous nous retrouvons maintenant avec un objet, que nous examinerons dans l’édition de demain de la Geek School.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

L'option d'ampoule intelligente la plus économique du marché

L’option d’ampoule intelligente la plus économique du marché

Comment masquer les alertes de message de groupe autres que les mentions sur iPhone et iPad