PowerShell - Définir des valeurs de paramètres par défaut

Pour me soutenir, vous pouvez vous abonner à la chaîne, partager et liker les vidéos, désactiver votre bloqueur de pub, acheter mes plans 3D ou encore faire un don ou vous abonnez sur Ko-Fi. Merci!

Il est possible de définir des valeurs par défaut pour des paramètres de cmdlets ou de fonctions avancées (avec CmdletBinding).

Il suffit d’utiliser la variable automatique $PSDefaultParameterValues dont la valeur est vide par défaut.

Vous pouvez utiliser des caractères génériques dans les valeurs CmdletName et ParameterName

# Définir le paramètre -Verbose à toutes les commandes avec le verbe Get
$PSDefaultParameterValues=@{ 'Get-*:Verbose'=$true}
# Afficher les valeurs par défaut des paramètres
$PSDefaultParameterValues
# Définir le paramètre -Verbose à toutes les commandes avec le verbe Get et -Debug à toutes les commandes
$PSDefaultParameterValues=@{ 'Get-*:Verbose'=$true;
'*:Debug'=$true }
$PSDefaultParameterValues
# Ajouter une valeur par défaut
# Ajouter le paramètre -WhatIf à la commande Stop-Process
$PSDefaultParameterValues.Add('Stop-Process:WhatIf',$True)
$PSDefaultParameterValues
# Ajouter ou modifier une valeur par défaut
# Définir le paramètre -Verbose à toutes les commandes
$PSDefaultParameterValues['*:Verbose'] = $true
$PSDefaultParameterValues
# Supprimer une valeur par défaut
$PSDefaultParameterValues.Remove('Stop-Process:WhatIf')
$PSDefaultParameterValues
# Supprimer toutes les valeurs par défaut
$PSDefaultParameterValues.Clear()
# Désactiver les valeurs par défaut
$PSDefaultParameterValues.Add('Disabled', $true)
# Ou
$PSDefaultParameterValues['Disabled'] = $true
# Activer les valeurs par défaut
$PSDefaultParameterValues.Add('Disabled', $false)
# Ou
$PSDefaultParameterValues['Disabled'] = $false
# Source d'inspiration de valeurs par défaut
# Fournir des identifiants lors de l'utilisation du paramètre -Credential
$Cred = Get-Credential
$PSDefaultParameterValues['*:Credential'] = $Cred
# Avoir le paramètre -Wrap par défaut avec Format-Table
$PSDefaultParameterValues['Format-Table:Wrap'] = $true
# Afficher les éléments cachés avec Get-ChildItem
$PSDefaultParameterValues['Get-ChildItem:Force'] = $true
# Demander à Test-Connection de ne faire qu'un ping et de simplement renvoyer True ou False
$PSDefaultParameterValues['Test-Connection:Quiet'] = $true
$PSDefaultParameterValues['Test-Connection:Count'] = '1'

Liens en relation