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 ou encore faire un don. 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