Powershell permet l’utilisation d’alias automatiques. C’est très utile pour une ligne de commande mais à éviter dans un script, vous allez comprendre pourquoi.

Exemple avec Test-NetConnection

Prenons par exemple Test-NetConnection, si je regarde l’aide (Test-NetConnection), il n’a pas d’alias sur le paramètre « InformationLevel »

Et pourtant, cette commande:

PowerShell
Test-NetConnection 127.0.0.1 -InformationLevel Quiet

et cette commande:

PowerShell
Test-NetConnection 127.0.0.1 -i Quiet

fonctionnent toutes les deux.

En fait il n’y a pas d’autres paramètres commençant par « i » donc Powershell fait de l’auto-complétion, ça marche aussi avec « in », …

Ca fonctionne aussi sur les autres cmdlets et les fonctions.

Les Common Parameters

Pour être complet, il est nécessaire d’évoquer les Common Parameters

ParamètreRaccourci
Debugdb
ErrorActionea
ErrorVariableev
InformationActioninfa
InformationVariableiv
OutVariableov
OutBufferob
PipelineVariablepv
Verbosevb
WarningActionwa
WarningVariablewv

Exemple:

PowerShell
Test-NetConnection 128.0.0.22 -i Quiet -wa SilentlyContinue -ev $TNCError -vb:$false

Mise en garde

Comme vous l’aurez compris, sur un 1liner c’est super pratique mais dans un script c’est à proscrire car le jour où cette fonctionnalité disparaît ou que un nouveau paramètre apparaît commençant par les mêmes lettres, ça posera problème.


0 commentaire

Laisser un commentaire

Emplacement de l’avatar

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