RUBRIQUE Variables de préférence DESCRIPTION COURTE Variables qui personnalisent le comportement de Windows PowerShell DESCRIPTION LONGUE Windows PowerShell inclut un jeu de variables qui vous permettent de personnaliser son comportement. Ces " variables de préférence " fonctionnent comme les options des systèmes basés sur une interface utilisateur graphique. Les variables de préférence affectent l'environnement d'exploitation de Windows PowerShell et toutes les commandes exécutées dans celui-ci. Bien souvent, les applets de commande ont des paramètres que vous pouvez utiliser pour remplacer le comportement de préférence d'une commande spécifique. Le tableau suivant répertorie les variables de préférence et leur valeur par défaut. Variable Valeur par défaut -------- ------------- $ConfirmPreference High $DebugPreference SilentlyContinue $ErrorActionPreference Continue $ErrorView NormalView $FormatEnumerationLimit 4 $LogCommandHealthEvent False (non enregistré) $LogCommandLifecycleEvent False (non enregistré) $LogEngineHealthEvent True (enregistré) $LogEngineLifecycleEvent True (enregistré) $LogProviderLifecycleEvent True (enregistré) $LogProviderHealthEvent True (enregistré) $MaximumAliasCount 4096 $MaximumDriveCount 4096 $MaximumErrorCount 256 $MaximumFunctionCount 4096 $MaximumHistoryCount 64 $MaximumVariableCount 4096 $OFS (Espace (" ")) $OutputEncoding Objet ASCIIEncoding $ProgressPreference Continue $PSEmailServer (Aucune) $PSSessionApplicationName WSMAN $PSSessionConfigurationName https://schemas.microsoft.com/powershell/microsoft.powershell $PSSessionOption (Voir ci-dessous) $VerbosePreference SilentlyContinue $WarningPreference Continue $WhatIfPreference 0 Windows PowerShell inclut également les variables d'environnement suivantes, qui stockent les préférences utilisateur. Pour plus d'informations sur les variables d'environnement, consultez about_environment_variables. Variable -------- PSModulePath UTILISATION DES VARIABLES DE PRÉFÉRENCE Ce document décrit chacune des variables de préférence. Pour afficher la valeur actuelle d'une variable de préférence spécifique, tapez le nom de la variable. En réponse, Windows PowerShell fournit la valeur. Par exemple, la commande suivante affiche la valeur de la variable $ConfirmPreference. PS> $ConfirmPreference High Pour modifier la valeur d'une variable, utilisez une instruction d'assignation. Par exemple, l'instruction suivante affecte la valeur " Medium " (Moyenne) à la variable $ConfirmPreference. PS> $ConfirmPreference = "Medium" Comme pour toutes les variables, les valeurs que vous définissez sont spécifiques à la fenêtre Windows PowerShell actuelle. Pour qu'elles deviennent effectives dans toutes les fenêtres Windows PowerShell, ajoutez-les à votre profil Windows PowerShell. Pour plus d'informations, consultez about_profiles. TRAVAIL À DISTANCE Lorsque vous exécutez des commandes sur un ordinateur distant, les commandes distantes sont uniquement soumises au jeu de préférences du client Windows PowerShell de l'ordinateur distant. Par exemple, lorsque vous exécutez une commande distante, la valeur de la variable $DebugPreference de l'ordinateur distant détermine comment Windows PowerShell répond aux messages de débogage. Pour plus d'informations sur les commandes distantes, consultez about_remote. $ConfirmPreference ------------------ Détermine quelles actions d'applet de commande demandent automatiquement la confirmation de l'utilisateur avant exécution. Lorsque la valeur de $ConfirmPreference (High, Medium, Low, None [Élevée, Moyenne, Faible, Aucune]) est supérieure ou égale au risque de l'action d'applet de commande (High, Medium, Low, None), Windows PowerShell demande automatiquement la confirmation de l'utilisateur avant d'exécuter l'action. Vous pouvez utiliser le paramètre Confirm d'une applet de commande pour remplacer la préférence pour une commande spécifique. Valeurs valides : None (Aucune) : Aucune action d'applet de commande n'est confirmée automatiquement. Les utilisateurs doivent utiliser le paramètre Confirm pour demander la confirmation de commandes spécifiques. Low (Faible) : Les actions d'applet de commande avec un risque faible, moyen ou élevé sont automatiquement confirmées. Pour supprimer la confirmation d'une commande spécifique, utilisez -Confirm:$false. Medium: Les actions d'applet de commande avec (Moyenne) un risque moyen ou élevé sont automatiquement confirmées. Pour activer la confirmation d'une commande spécifique, utilisez -confirm. Pour supprimer la confirmation d'une commande spécifique, utilisez confirm:$false. High: Les actions d'applet de commande avec (Élevée, unrisque élevé sont automatiquement confirmées. valeur par défaut) Pour activer la confirmation d'une commande spécifique, utilisez -confirm. Pour supprimer la confirmation d'une commande spécifique, utilisez -confirm:$false. EXPLICATION DÉTAILLÉE Lorsqu'une action d'applet de commande affecte considérablemen t le système, par exemple lorsqu'elle supprime des données ou utilise de nombreuses ressources système, Windows PowerShell peut vous inviter automatiquement à la confirmer avant son exécution. Par exemple : PS> remove-item pref2.txt Confirmer Êtes-vous sûr de vouloir effectuer cette action ? Opération " Supprimer le fichier " en cours sur la cible " C:\pref2.txt ". [O] Oui [T] Oui pour tout [N] Non [U] Non pour tout [S] Suspendre [?] Aide (la valeur par défaut est " O ") : L'évaluation du risque correspond à la partie de l'applet de commande appelée " ConfirmImpact ". Vous ne pouvez pas modifier cette partie. Une applet de commande susceptible de représenter un risque pour le système comporte un paramètre Confirm, que vous pouvez utiliser pour demander ou supprimer la confirmation pour une commande spécifique. Parce que la plupart des applets de commande utilisent la valeur de risque par défaut Medium et que la valeur par défaut de $ConfirmPreference est High, la confirmation automatique a rarement lieu. Toutefois, vous pouvez activer la confirmation automatique en remplaçant la valeur de $ConfirmPreference Medium par Low. EXEMPLES Cet exemple montre l'effet de la valeur par défaut de $ConfirmPreference. La valeur High confirme uniquement les actions d'applet de commande à haut risque. Étant donné que la plupart des actions représentent un risque moyen, elles ne sont pas automatiquement confirmées, bien que vous puissiez utiliser le paramètre Confirm de l'applet de commande pour demander la confirmation d'une commande spécifique. PS> $confirmpreference #Obtenir la valeur actuelle de la variable High PS> remove-item temp1.txt #Supprimer un fichier PS> #Supprimé sans confirmation PS> remove-item temp2.txt -confirm #Utiliser le paramètre Confirm Confirmer Êtes-vous sûr de vouloir effectuer cette action ? Opération " Supprimer le fichier " en cours sur la cible " C:\temp2.txt ". [O] Oui [T] Oui pour tout [N] Non [U] Non pour tout [S] Suspendre [?] Aide (la valeur par défaut est " O ") : Cet exemple montre l'effet du remplacement de la valeur de $ConfirmPreference par Medium. Étant donné que la plupart des actions d'applet de commande représentent un risque moyen, elles sont automatiquement confirmées et vous devez utiliser le paramètre Confirm avec une valeur $false pour supprimer la demande de confirmation pour une commande spécifique. PS> $confirmpreference = "Medium" #Modifier la valeur de $ConfirmPreference PS> remove-item temp2.txt #La suppression d'un fichier déclenche la confirmation Confirmer Êtes-vous sûr de vouloir effectuer cette action ? Opération " Supprimer le fichier " en cours sur la cible " C:\temp2.txt ". [O] Oui [T] Oui pour tout [N] Non [U] Non pour tout [S] Suspendre [?] Aide (la valeur par défaut est " O ") : PS> remove-item temp3.txt -confirm:$false #Utiliser le paramètre Confirm pour supprimer la confirmation PS> $DebugPreference ------------------ Détermine comment Windows PowerShell répond aux messages de débogage générés par un script, une applet de commande ou un fournisseur, ou par une commande Write-Debug à la ligne de commande. Certaines applets de commande affichent des messages de débogage, qui sont généralement des messages très techniques, conçus pour les programmeurs et les professionnels du support technique. Par défaut, les messages de débogage ne s'affichent pas, mais vous pouvez les afficher en modifiant la valeur de $DebugPreference. Vous pouvez également utiliser le paramètre courant Debug d'une applet de commande pour afficher ou masquer les messages de débogage pour une commande spécifique. Pour plus d'informations, tapez : " get-help about_commonparameters ". Valeurs valides : Stop (Arrêter) : Affiche le message de débogage et arrête l'exécution. Écrit une erreur sur la console. Inquire (Demander) : Affiche le message de débogage et vous demande si vous souhaitez continuer. Continue (Continuer) : Affiche le message de débogage et continue l'exécution. SilentlyContinue : Aucun effet. Le message de (Continuer en mode débogage n'est pas affiché silencieux, valeur et l'exécution continue par défaut) sans interruption. EXEMPLES Les exemples suivants montrent l'effet de la modification des valeurs de $DebugPreference lorsqu'une commande Write-Debug est entrée à la ligne de commande. La modification affecte tous les messages de débogage, y compris ceux générés par les applets de commande et les scripts. Les exemples montrent également l'utilisation du paramètre courant Debug, qui affiche ou masque les messages de débogage liés à une commande simple. Cet exemple montre l'effet de la valeur par défaut " SilentlyConti nue " (Continuer en mode silencieux). Le message de débogage n'est pas affiché et le traitement continue. La dernière commande utilise le paramètre Debug pour remplacer la préférence pour une commande simple. PS> $debugpreference # Obtenir la valeur actuelle de SilentlyContinue $DebugPreference PS> write-debug "Bonjour le monde" PS> # Le message de débogage n'est pas affiché. PS> write-debug "Bonjour # Utiliser le paramètre Debug le monde" -Debug DÉBOGUER : Bonjour le monde Le message de débogage est demandé Confirmer Voulez-vous continuer cette opération ? [O] Oui [T] Oui pour tout [I] Interrompre la commande [S] Suspendre [?] Aide (" O " par défaut) : Cet exemple montre l'effet de la valeur " Continue " (Continuer). La dernière commande utilise le paramètre Debug avec une valeur $false pour supprimer le message pour une commande simple. PS> $debugpreference = "Continue" # Remplacer la valeur par " Continue " (Continuer) PS> write-debug "Bonjour le monde" DÉBOGUER : Bonjour le monde # Le message de débogage est affiché et le traitement continue. PS> PS> write-debug "Bonjour le monde" -Debug:$false # Utiliser le paramètre Debug avec la valeur " false " (faux). PS> # Le message de débogage n'est pas affiché. Cet exemple montre l'effet de la valeur " Stop " (Arrêter). La dernière commande utilise le paramètre Debug avec une valeur $false pour supprimer le message pour une commande simple. PS> $debugpreference = "Stop" # Remplacer la valeur par " Stop " (Arrêter) PS> write-debug "Bonjour le monde" DÉBOGUER : Bonjour le monde Write-Debug : L'exécution de la commande s'est arrêtée, car la variable d'interpréteur de commandes " DebugPreference " a la valeur Stop. À la ligne : 1 Caractère : 12 + write-debug <<<< "Bonjour le monde" PS> write-debug "Bonjour le monde" -Debug:$false # Utiliser le paramètre Debug avec $false PS> # Le message de débogage n'est pas affiché et le traitement n'est pas arrêté. Cet exemple montre l'effet de la valeur " Inquire " (Demander). La dernière commande utilise le paramètre Debug avec une valeur $false pour supprimer le message pour une commande simple. PS> $debugpreference = "Inquire" PS> write-debug "Bonjour le monde" DÉBOGUER : Bonjour le monde Confirmer Voulez-vous continuer cette opération ? [O] Oui [T] Oui pour tout [I] Interrompre la commande [S] Suspendre [?] Aide (" O " par défaut) : PS> write-debug "Bonjour le monde" -Debug:$false # Utiliser le paramètre Debug avec $false PS> # Le message de débogage n'est pas affiché et le traitement continue sans interruption. $ErrorActionPreference ---------------------- Détermine comment Windows PowerShell répond à une erreur sans fin d'exécution (erreur qui n'arrête pas le traitement d'applet de commande) à la ligne de commande ou dans un script, une applet de commande ou un fournisseur, telle que les erreurs générées par l'applet de commande Write-Error. Vous pouvez également utiliser le paramètre courant ErrorAction d'une applet de commande pour remplacer la préférence pour une commande spécifique. Pour plus d'informations, tapez : " get-help about_commonparameters ". Valeurs valides : Stop (Arrêter) : Affiche le message d'erreur et arrête l'exécution. Inquire (Demander) : Affiche le message d'erreur et vous demande si vous souhaitez continuer. Continue (Continuer) : Affiche le message d'erreur et continue l'exécution. SilentlyContinue: Aucun effet. Le message (Continuer en mode d'erreur n'est pas silencieux, valeur affiché et l'exécution par défaut) continue sans interruption. Ni $ErrorActionPreference, ni le paramètre courant ErrorAction n'affectent la façon dont Windows PowerShell répond aux erreurs avec fin d'exécution (celles qui arrêtent le traitement d'applet de commande). Pour plus d'informations sur le paramètre courant ErrorAction, tapez " get-help about_commonparameters ". EXEMPLES Ces exemples montrent l'effet des différentes valeurs de $ErrorActionPreference et l'utilisation du paramètre courant ErrorAction pour remplacer la préférence pour une commande simple. Le paramètre ErrorAction a les mêmes valeurs valides que la variable $ErrorActionPreference. Cet exemple montre l'effet de la valeur " Continue " (Continuer), qui est la valeur par défaut. PS> $erroractionpreference Continue # Afficher la valeur de la préférence. PS> write-error "Bonjour le monde" # Générer une erreur sans fin d'exécution. write-error "Bonjour le monde" : Bonjour le monde # Le message d'erreur est affiché et l'exécution continue. PS> write-error "Bonjour le monde" -ErrorAction:SilentlyContinue # Utiliser le paramètre ErrorAction avec une valeur " SilentlyContinue " (Continuer en mode silencieux). PS> # Le message d'erreur n'est pas affiché et l'exécution continue. Cet exemple montre l'effet de la valeur " SilentlyContinue " (Continuer en mode silencieux). PS> $ErrorActionPreference = "SilentlyContinue" # Modifier la valeur de la préférence. PS> write-error "Bonjour le monde" # Générer un message d'erreur. PS> # Le message d'erreur est supprimé. PS> write-error "Bonjour le monde" -erroraction:continue # Utiliser le paramètre ErrorAction avec une valeur " Continue " (Continuer). write-error "Bonjour le monde" -erroraction:continue : Bonjour le monde # Le message d'erreur est affiché et l'exécution continue. Cet exemple montre l'effet d'une vraie erreur. Dans ce cas, la commande obtient un fichier inexistant, nofile.txt. L'exemple utilise également le paramètre courant ErrorAction pour remplacer la préférence. PS> $erroractionpreference SilentlyContinue # Afficher la valeur de la préférence. PS> get-childitem -path nofile.txt PS> # Le message d'erreur est supprimé. PS> $ErrorActionPreference = "Continue" # Remplacer la valeur par " Continue " (Continuer). PS> get-childitem -path nofile.txt Get-ChildItem : Impossible de trouver le chemin d'accès " C:\nofile.txt ", car il n'existe pas. À la ligne : 1 Caractère : 4 + get-childitem <<<< nofile.txt PS> get-childitem -path nofile.txt -erroraction SilentlyContinue # Utiliser le paramètre ErrorAction PS> # Le message d'erreur est supprimé. PS> $ErrorActionPreference = "Inquire" # Remplacer la valeur par " Inquire " (Demander). PS> get-childitem -path nofile.txt Confirmer Impossible de trouver le chemin d'accès " C:\nofile.txt ", car il n'existe pas. [O] Oui [T] Oui pour tout [I] Interrompre la commande [S] Suspendre [?] Aide (" O " par défaut) : o Get-ChildItem : Impossible de trouver le chemin d'accès " C:\nofile.txt ", car il n'existe pas. À la ligne : 1 Caractère : 4 + get-childitem <<<< nofile.txt PS> $ErrorActionPreference = "Continue" # Remplacer la valeur par " Continue " (Continuer). PS> Get-Childitem nofile.txt -erroraction "Inquire" # Utiliser le paramètre ErrorAction pour remplacer la valeur de préférence. Confirmer Impossible de trouver le chemin d'accès " C:\nofile.txt ", car il n'existe pas. [O] Oui [T] Oui pour tout [I] Interrompre la commande [S] Suspendre [?] Aide (" O " par défaut) : $ErrorView ---------- Détermine le format d'affichage des messages d'erreur dans Windows PowerShell. Valeurs valides : NormalView : Une vue détaillée conçue pour la plupart (valeur par défaut) des utilisateurs. Comprend une description de l'erreur, le nom de l'objet impliqué dans l'erreur et des flèches (<<<<) qui pointent vers les mots de la commande qui ont provoqué l'erreur. CategoryView : Une vue succincte, structurée, conçue pour les environnements de production. Le format est : {Category}: ({TargetName}:{TargetType}):[{Activity}], {Reason} Pour plus d'informations sur les champs de CategoryView, consultez " Classe ErrorCategoryInfo " dans le Kit de développement logiciel (SDK) Windows PowerShell. EXEMPLES Ces exemples montrent l'effet des valeurs ErrorView. Cet exemple montre comment une erreur apparaît lorsque la valeur de $ErrorView est NormalView. Dans ce cas, la commande Get-ChildItem est utilisée pour rechercher un fichier inexistant. PS> $ErrorView # Vérifier la valeur. NormalView PS> get-childitem nofile.txt # Rechercher un fichier inexistant. Get-ChildItem : Impossible de trouver le chemin d'accès " C:\nofile.txt ", car il n'existe pas. À la ligne : 1 Caractère : 14 + get-childitem <<<< nofile.txt Cet exemple montre comment la même erreur apparaît lorsque la valeur de $ErrorView est CategoryView. PS> $ErrorView = "CategoryView" # Remplacer la valeur par CategoryView PS> get-childitem nofile.txt ObjectNotFound: (C:\nofile.txt:String) [Get-ChildItem], ItemNotFoundException Cet exemple montre que la valeur de ErrorView affecte seulement l'affichage de l'erreur et pas la structure de l'objet erreur stocké dans la variable automatique $error. Pour plus d'informations sur la variable automatique $error, consultez about_automatic_variables. Cette commande prend l'objet ErrorRecord associé à l'erreur la plus récente du tableau d'erreurs (élément 0) et met en forme toutes les propriétés de l'objet erreur dans une liste. PS> $error[0] | format-list -property * -force Exception : System.Management.Automation.ItemNotFoundException : Impossible de trouver le chemin d'accès " C:\nofile.txt ", car il n'existe pas. at System.Management.Automation.SessionStateInternal.GetChildItems (String path, Boolean recurse, CmdletProviderContext context) at System.Management.Automation.ChildItemCmdletProviderIntrinsics.Get (String path, Boolean recurse, CmdletProviderContext context) at Microsoft.PowerShell.Commands.GetChildItemCommand.ProcessRecord() : TargetObject : C:\nofile.txt CategoryInfo : ObjectNotFound: (C:\nofile.txt : String) [Get-ChildItem], ItemNotFoundException FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand : ErrorDetails : InvocationInfo : System.Management.Automation.InvocationInfo $FormatEnumerationLimit ----------------------- Détermine le nombre d'éléments énumérés inclus dans un affichage. Cette variable n'affecte pas les objets sous-jacents ; simplement l'affichage. Lorsque la valeur de $FormatEnumerationLimit est inférieure au nombre d'éléments énumérés, Windows PowerShell ajoute des points de suspension (...) pour indiquer que certains éléments ne sont pas affichés. Valeurs valides : nombres entiers (Int32) Valeur par défaut : 4 EXEMPLES Cet exemple montre comment utiliser la variable $FormatEnumerationLimit pour améliorer l'affichage d'éléments énumérés. La commande de cet exemple génère une table qui répertorie tous les services s'exécutant sur l'ordinateur en deux groupes ; un pour les services en cours d'exécution, un pour les services arrêtés. Elle utilise une commande Get-Service pour obtenir tous les services, puis envoie les résultats à travers le pipeline à l'applet de commande Group-Object, qui groupe les résultats par état de service. L'affichage résultant est une table qui répertorie l'état dans la colonne Nom et les processus présentant cet état dans la colonne Groupe. (Pour modifier les noms de colonne, utilisez une table de hachage. Pour plus d'informations, consultez les exemples de " get-help format-table -examples ".) Au maximum, 4 services sont répertoriés dans la colonne Groupe pour chaque état. Pour accroître le nombre d'éléments répertoriés, augmentez la valeur de $FormatEnumerationLimit à 1000. Dans l'affichage résultant, la liste de la colonne Groupe est maintenant limitée par la longueur de ligne. Dans la dernière commande de l'exemple, utilisez le paramètre Wrap de Format-Table pour afficher tous les processus de chaque groupe État. PS> $formatenumerationlimit # Rechercher la valeur actuelle 4 PS> get-service | group-object -property status # Répertorier tous les services regroupés par état Nombre Nom Groupe ----- ---- ----- 60 Running {AdtAgent, ALG, Ati HotKey Poller, AudioSrv...} 41 Stopped {Alerter, AppMgmt, aspnet_state, ATI Smart...} # La liste est tronquée après 4 éléments. PS> $formatenumerationlimit = 1000 # Augmenter la limite à 1000. PS> get-service | group-object -property status # Répéter la commande. Nombre Nom Groupe ----- ---- ----- 60 Running {AdtAgent, ALG, Ati HotKey Poller, AudioSrv, BITS, CcmExec... 41 Stopped {Alerter, AppMgmt, aspnet_state, ATI Smart, Browser, CiSvc... PS> get-service | group-object -property status | format-table -wrap # Ajouter le paramètre Wrap. Nombre Nom Groupe ----- ---- ----- 60 Running {AdtAgent, ALG, Ati HotKey Poller, AudioSrv, BITS, CcmExec, Client for NFS, CryptSvc, DcomLaunch, Dhcp, dmserver, Dnscache, ERSvc, Eventlog, EventSystem, FwcAgent, helpsvc, HidServ, IISADMIN, InoRPC, InoRT, InoTask, lanmanserver, lanmanworkstation, LmHosts, MDM, Netlogon, Netman, Nla, NtLmSsp, PlugPlay, PolicyAgent, ProtectedStorage, RasMan, RemoteRegistry, RpcSs, SamSs, Schedule, seclogon, SENS, SharedAccess, ShellHWDetection, SMT PSVC, Spooler, srservice, SSDPSRV, stisvc, TapiSrv, TermService, Themes, TrkWks, UMWdf, W32Time, W3SVC, WebClient, winmgmt, wscsvc, wuauserv, ZCSVC, zzInterix} 41 Stopped {Alerter, AppMgmt, aspnet_state, ATI Smart, Browser, CiSvc, ClipSrv, clr_optimization_v2.0.50727_32, COMSysApp, CronService, dmadmin, FastUserSwitchingCompatibility, HTTPFilter, ImapiService, Mapsvc, Messenger, mnmsrvc, MSDTC, MSIServer, msvsmon80, NetDDE, NetDDEdsdm, NtmsSvc, NVSvc, ose, RasAuto, RDSessMgr, RemoteAccess, RpcLocator, RSVP, SCardSvr, SwPrv, SysmonLog, TlntSvr, upnphost, UPS, VSS, WmdmPmSN, Wmi, WmiApSrv, xmlprov} $Log*Event ---------- Les variables de préférence Log*Event déterminent quels types d'événements sont écrits dans le journal des événements Windows PowerShell de l'Observateur d'événements. Par défaut, seuls les événements de moteur et de fournisseur sont enregistrés, mais vous pouvez utiliser les variables de préférence Log*Event pour personnaliser votre journal, par exemple pour qu'il enregistre les événements de commande. Les variables de préférence Log*Event sont comme suit : $LogCommandHealthEvent : Enregistre les erreurs et exceptions survenues lors de l'initialisation et du traitement de commandes. Valeur par défaut = $false (non enregistré). $LogCommandLifecycleEvent : Enregistre le démarrage et l'arrêt de commandes et de pipelines de commandes, ainsi que les exceptions de sécurité survenues lors de la découverte de commande. Valeur par défaut = $false (non enregistré). $LogEngineHealthEvent : Enregistre les erreurs et défaillances des sessions. Valeur par défaut = $true (enregistré). $LogEngineLifecycleEvent : Enregistre l'ouverture et la fermeture des sessions. Valeur par défaut = $true (enregistré). $LogProviderHealthEvent : Enregistre les erreurs de fournisseur, telles que les erreurs en lecture et en écriture, les erreurs de recherche et les erreurs d'appel. Valeur par défaut = $true (enregistré). $LogProviderLifecycleEvent : Enregistre l'ajout et la suppression de fournisseurs Windows PowerShell. Valeur par défaut = $true (enregistré). (Pour plus d'informations sur les fournisseurs Windows PowerShell, tapez : " get-help about_provider ".) Pour activer une variable Log*Event, tapez la variable avec une valeur $true, par exemple : $LogCommandLifeCycleEvent - ou - $LogCommandLifeCycleEvent = $true Pour désactiver un type d'événement, tapez la variable avec une valeur $false, par exemple : $LogCommandLifeCycleEvent = $false Les événements que vous activez sont uniquement effectifs pour la console Windows PowerShell actuelle. Pour appliquer la configuration à toutes les consoles, enregistrez les paramètres de variable dans votre profil Windows PowerShell. $MaximumAliasCount ------------------ Détermine le nombre d'alias autorisés dans une session Windows PowerShell. La valeur par défaut, 4096, doit suffire pour la plupart des utilisations, mais vous pouvez l'ajuster pour satisfaire vos besoins. Valeurs valides : 1024 - 32768 (Int32) Valeur par défaut : 4096 Pour compter les alias de votre système, tapez : (get-alias).count $MaximumDriveCount ------------------ Détermine le nombre de lecteurs Windows PowerShell autorisés dans une session donnée. Ce nombre inclut les lecteurs de système de fichiers et les magasins de données exposés par les fournisseurs Windows PowerShell qui apparaissent en tant que lecteurs, tels que les lecteurs Alias: et HKLM:. Valeurs valides : 1024 - 32768 (Int32) Valeur par défaut : 4096 Pour compter les alias de votre système, tapez : (get-psdrive).count $MaximumErrorCount ------------------ Détermine le nombre d'erreurs enregistrées dans l'historique d'erreur pour la session. Valeurs valides : 256 - 32768 (Int32) Valeur par défaut : 256 Les objets qui représentent chaque erreur conservée sont stockés dans la variable automatique $Error. Cette variable contient un tableau d'objets d'enregistrements d'erreurs (un objet pour chaque erreur). L'erreur la plus récente est représentée par le premier objet du tableau ($Error[0]). Pour compter les erreurs de votre système, utilisez la propriété Count du tableau $Error. Tapez : $Error.count Pour afficher une erreur spécifique, utilisez la notation sous forme de tableau. Par exemple, pour afficher l'erreur la plus récente, tapez : $Error[0] Pour afficher l'erreur la plus ancienne, tapez : $Error[($Error.Count -1] Pour afficher les propriétés de l'objet ErrorRecord, tapez : $Error[0] | format-list -property * -force Dans cette commande, le paramètre Force remplace la mise en forme spéciale des objets ErrorRecord et revient au format classique. Pour supprimer toutes les erreurs de l'historique d'erreur, utilisez la méthode Clear du tableau d'erreurs. PS> $Error.count 17 PS> $Error.clear() PS> PS> $Error.count 0 Pour rechercher toutes les propriétés et méthodes d'un tableau d'erreurs, utilisez l'applet de commande Get-Member avec son paramètre InputObject. Lorsque vous redirigez une collection d'objets vers Get-Member, Get-Member affiche les propriétés et méthodes des objets de la collection. Lorsque vous utilisez le paramètre InputObject de Get-Member, Get-Member affiche les propriétés et méthodes de la collection. $MaximumFunctionCount ------------------ Détermine le nombre de fonctions autorisées dans une session donnée. Valeurs valides : 1024 - 32768 (Int32) Valeur par défaut : 4096 Pour afficher les fonctions de votre session, utilisez le lecteur Function: de Windows PowerShell, exposé par le fournisseur Function de Windows PowerShell. (Pour plus d'informations sur le fournisseur Function, tapez " get-help function ".) Pour répertorier les fonctions de la session active, tapez : get-childitem function: Pour compter les fonctions de la session active, tapez : (get-childitem function:).count $MaximumHistoryCount ------------------ Détermine le nombre de commandes enregistrées dans l'historique des commandes pour la session active. Valeurs valides : 1 - 32768 (Int32) Valeur par défaut : 64 Pour déterminer le nombre actuel de commandes enregistrées dans l'historique des commandes, tapez : (get-history).count Pour afficher la commande enregistrée dans votre historique de session, utilisez l'applet de commande Get-History. Pour plus d'informations, tapez : " get-help about_history ". $MaximumVariableCount ------------------ Détermine le nombre de variables autorisées dans une session donnée, notamment les variables automatiques, variables de préférence et variables que vous créez dans des commandes et des scripts. Valeurs valides : 1024 - 32768 (Int32) Valeur par défaut : 4096 Pour afficher les variables de votre session, utilisez l'applet de commande Get-Variable et les fonctionnalités du lecteur Variable: de Windows PowerShell ainsi que le fournisseur de variables Windows PowerShell. Pour plus d'informations sur le fournisseur de variables, tapez " get-help variable ". Pour rechercher le nombre actuel de variables sur le système, tapez : (get-variable).count $OFS ---- Séparateur des champs de sortie. Spécifie le caractère qui sépare les éléments d'un tableau lorsque celui-ci est converti en chaîne. Valeurs valides : Toute chaîne. Valeur par défaut : Espace Par défaut, la variable $OFS n'existe pas et le séparateur de fichier de sortie est un espace, mais vous pouvez ajouter cette variable et la définir sur n'importe quelle chaîne. EXEMPLES Cet exemple montre qu'un espace est utilisé pour séparer les valeurs lorsqu'un tableau est converti en chaîne. Dans ce cas, un tableau de nombres entiers est stocké dans une variable, puis la variable est transtypée en chaîne. PS> $array = 1,2,3 # Stocker un tableau de nombres entiers. PS> [chaîne]$array # Transtyper le tableau en chaîne. 1 2 3 # Des espaces séparent les éléments Pour modifier le séparateur, ajoutez la variable $OFS en lui affectant une valeur. Pour fonctionner correctement, la variable doit être nommée $OFS. PS> $OFS = "+" # Créer $OFS et lui affecter le signe " + " PS> [chaîne]$array # Répéter la commande 1+2+3 # Des signes " + " séparent les éléments Pour restaurer le comportement par défaut, vous pouvez affecter un espace (" ") à la valeur de $OFS ou supprimer la variable. Cette commande supprime la variable, puis vérifie que le séparateur est un espace. PS> Remove-Variable OFS # Supprimer $OFS PS> PS> [chaîne]$array # Répéter la commande 1 2 3 # Des espaces séparent les éléments $OutputEncoding --------------- Détermine la méthode d'encodage de caractères utilisée par Windows PowerShell lorsqu'il envoie du texte à d'autres applications. Par exemple, si une application retourne des chaînes Unicode à Windows PowerShell, vous devrez peut-être modifier la valeur pour envoyer les caractères correctement. Valeurs valides : Objets dérivés d'une classe d'encodage, tels que ASCIIEncoding, SBCSCodePageEncoding, UTF7Encoding, UTF8Encoding, UTF32Encoding et UnicodeEncoding. Valeur par défaut : Objet ASCIIEncoding (System.Text.ASCIIEncoding) EXEMPLES Cet exemple montre comment faire fonctionner la commande FINDSTR de Windows dans Windows PowerShell sur un ordinateur localisé pour une langue qui utilise des caractères Unicode, telle que le chinois. La première commande recherche la valeur de $OutputEncoding. Étant donné que la valeur est un objet d'encodage, seule sa propriété EncodingName est affichée. PS> $OutputEncoding.EncodingName # Rechercher la valeur actuelle US-ASCII Dans cet exemple, une commande FINDSTR est utilisée pour rechercher deux caractères chinois présents dans le fichier Test.txt. Lorsque cette commande FINDSTR est exécutée dans l'invite de commandes de Windows (Cmd.exe), FINDSTR recherche les caractères dans le fichier texte. Toutefois, lorsque vous exécutez la même commande FINDSTR dans Windows PowerShell, les caractères sont introuvables car Windows PowerShell les envoie à FINDSTR en texte ASCII, au lieu de les envoyer en texte Unicode. PS> findstr <caractères-Unicode> # Utiliser findstr pour la recherche. PS> # Rien trouvé. Pour que la commande fonctionne dans Windows PowerShell, définissez la valeur de $OutputEncoding sur la valeur de la propriété OutputEncoding de la console, basée sur les paramètres régionaux sélectionnés pour Windows. Étant donné que OutputEncoding est une propriété statique de la console, utilisez des deux-points doubles (::) dans la commande. PS> $OutputEncoding = [console]::outputencoding PS> # Définir la valeur sur celle de la propriété OutputEncoding de la console. PS> $OutputEncoding.EncodingName OEM États-Unis # Rechercher la valeur résultante. Suite à cette modification, la commande FINDSTR recherche les caractères. PS> findstr <caractères-Unicode> test.txt: <caractères-Unicode> # Utiliser findstr pour effectuer la recherche. La commande trouve les caractères dans le fichier texte. $ProgressPreference ------------------- Détermine la façon dont Windows PowerShell répond aux mises à jour de progression générées par un script, une applet de commande ou un fournisseur, telles que les barres de progression générées par l'applet de commande Write-Progress. L'applet de commande Write-Progress crée des barres de progression qui représentent l'état d'une commande. Valeurs valides : Stop: N'affiche pas la barre de (Arrêter) progression. Au lieu de cela, affiche un message d'erreur et arrête l'exécution. Inquire: N'affiche pas la barre de progression. (Demander) Demande l'autorisation de continuer. Si vous répondez par O ou T, affiche la barre de progression. Continue: Affiche la barre de progression et continue (Continuer, l'exécution. valeur par défaut) SilentlyContinue: Exécute la commande, mais n'affiche (Continuer en pas la barre de progression. mode silencieux) $PSEmailServer -------------- Spécifie le serveur de messagerie par défaut utilisé pour envoyer des messages électroniques. Cette variable de préférence est utilisée par les applets de commande qui envoient des messages électroniques, telles que l'applet de commande Send-MailMessage. $PSSessionApplicationName --------------------------- Spécifie le nom d'application par défaut pour une commande distante qui utilise la technologie Gestion des services Web. Le nom d'application système par défaut est WSMAN, mais vous pouvez utiliser cette variable de préférence pour modifier la valeur par défaut. Le nom d'application est le dernier nœud d'un URI de connexion. Par exemple, le nom d'application dans l'exemple d'URI suivant est WSMAN. http://Server01:8080/WSMAN Le nom d'application par défaut est utilisé lorsque la commande distante ne spécifie pas d'URI de connexion, ni de nom d'application. Le service WinRM utilise le nom d'application pour sélectionner un écouteur pour traiter la demande de connexion. La valeur de ce paramètre doit correspondre à la valeur de la propriété URLPrefix d'un écouteur sur l'ordinateur distant. Pour remplacer la valeur système par défaut et la valeur de cette variable, et pour sélectionner un autre nom d'application pour une session particulière, utilisez les paramètres ConnectionURI ou ApplicationName des applets de commande New-PSSession, Enter-PSSession ou Invoke-Command. Cette variable de préférence est définie sur l'ordinateur local, mais elle spécifie un écouteur sur l'ordinateur distant. Si le nom d'application que vous spécifiez n'existe pas sur l'ordinateur distant, la commande servant à établir la session échoue. $PSSessionConfigurationName --------------------------- Spécifie la configuration de session par défaut, utilisée pour les sessions PSSession créées dans la session active. Cette variable de préférence est définie sur l'ordinateur local, mais elle spécifie une configuration de session se trouvant sur l'ordinateur distant. La valeur de la variable $PSSessionConfigurationName est un URI de ressource complet. La valeur par défaut : https://schemas.microsoft.com/powershell/microsoft.powershell indique la configuration de session Microsoft.PowerShell de l'ordinateur distant. Si vous spécifiez uniquement un nom de configuration, l'URI de schéma suivant est ajouté en tant que préfixe : https://schemas.microsoft.com/powershell/ Vous pouvez remplacer la valeur par défaut et sélectionner une configuration de session différente pour une session particulière à l'aide du paramètre ConfigurationName des applets de commande New-PSSession, Enter-PSSession ou Invoke-Command. Vous pouvez modifier la valeur de cette variable à tout moment. Lorsque vous la modifiez, rappelez-vous que la configuration de session que vous sélectionnez doit exister sur l'ordinateur distant. Si tel n'est pas le cas, la commande servant à créer une session qui utilise la configuration de session échoue. Cette variable de préférence ne détermine pas les configurations de session locales utilisées lorsque des utilisateurs distants créent une session qui se connecte à cet ordinateur. Toutefois, vous pouvez utiliser les autorisations pour les configurations de session locales afin de déterminer quels utilisateurs peuvent utiliser ces dernières. $PSSessionOption ---------------- Établit les valeurs par défaut pour les options d'utilisateur expérimenté dans une session à distance. Ces préférences d'option remplacent les valeurs système par défaut pour les options de session. Vous pouvez également définir des options personnalisées pour une session à distance particulière en utilisant le paramètre SessionOption dans des applets de commande qui créent une session, telles que New-PSSession, Enter-PSSession et Invoke-Command. La valeur de paramètre SessionOption est prioritaire sur les valeurs système par défaut et les valeurs par défaut définies dans cette variable. La variable $PSSessionOption contient un objet PSSessionOption (System.Management.Automation.Remoting.PSSessionObject). Chaque propriété de l'objet représente une option de session. Par exemple, la propriété NoCompression désactive la compression de données pendant la session. Pour créer la variable de préférence $PSSessionOption, utilisez l'applet de commande New-PSSessionOption. Enregistrez la sortie dans une variable appelée $PSSessionOption. Par exemple : $PSSessionOption = New-PSSessionOption -NoCompression Pour utiliser la variable de préférence $PSSessionOption dans chaque session Windows PowerShell, ajoutez une commande New-PSSessionOption qui crée la variable $PSSessionOption à votre profil Windows PowerShell. Pour plus d'informations sur l'applet de commande New-PSSessionOption, consultez la rubrique d'aide correspondante (New-PSSessionOption). Pour plus d'informations sur les sessions et commandes distantes, consultez about_Remote et about_PSSessions. Pour plus d'informations sur l'utilisation d'un profil, consultez about_Profiles. $VerbosePreference ------------------ Détermine comment Windows PowerShell répond aux messages commentés générés par un script, une applet de commande ou un fournisseur, tels que les messages générés par l'applet de commande Write-Verbose. En général, les messages commentés décrivent les actions effectuées pour exécuter une commande. Par défaut, les messages commentés ne sont pas affichés, mais vous pouvez modifier ce comportement en modifiant la valeur de $VerbosePreference. Vous pouvez également utiliser le paramètre courant Verbose d'une applet de commande pour afficher ou masquer les messages commentés pour une commande spécifique. Pour plus d'informations, tapez : " get-help about_commonparameters ". Valeurs valides : Stop (Arrêter) : Affiche le message commenté et un message d'erreur, puis arrête l'exécution. Inquire : Affiche le message commenté, (Demander) puis une invite qui vous demande si vous souhaitez continuer. Continue: Affiche le message commenté, (Continuer) puis continue l'exécution. SilentlyContinue : N'affiche pas le message commenté. (Continuer en Continue l'exécution. mode silencieux, valeur par défaut) EXEMPLES Ces exemples montrent l'effet des différentes valeurs de $VerbosePreference et l'utilisation du paramètre courant Verbose pour remplacer la valeur de préférence. Cet exemple montre l'effet de la valeur " SilentlyContinue " (Continuer en mode silencieux), qui est la valeur par défaut. PS> $VerbosePreference # Rechercher la valeur actuelle. SilentlyContinue PS> Write-Verbose "Test de message commenté." PS> # Écrire un message commenté. # Le message n'est pas affiché. PS> Write-Verbose "Test de message commenté." -verbose COMMENTAIRES : test de message commenté. # Utiliser le paramètre Verbose. Cet exemple montre l'effet de la valeur " Continue " (Continuer). PS> $VerbosePreference = "Continue" # Remplacer la valeur par " Continue " (Continuer). PS> Write-Verbose "Test de message commenté." # Écrire un message commenté. COMMENTAIRES : test de message commenté. # Le message est affiché. PS> Write-Verbose "Test de message commenté." -verbose:$false # Utiliser le paramètre Verbose avec une valeur $false. PS> # Le message n'est pas affiché. Cet exemple montre l'effet de la valeur " Stop " (Arrêter). PS> $VerbosePreference = "Stop" # Remplacer la valeur par " Stop " (Arrêter). PS> Write-Verbose "Test de message commenté." # Écrire un message commenté. COMMENTAIRES : test de message commenté. Write-Verbose : L'exécution de la commande s'est arrêtée, car la variable d'interpréteur de commandes " VerbosePreference " a la valeur Stop. À la ligne : 1 Caractère : 14 + Write-Verbose <<<< "Test de message commenté." PS> Write-Verbose "Test de message commenté." -verbose:$false # Utiliser le paramètre Verbose avec une valeur $false # Le message n'est pas affiché. Cet exemple montre l'effet de la valeur " Inquire " (Demander). PS> $VerbosePreference = "Inquire" # Remplacer la valeur par " Inquire " (Demander). PS> Write-Verbose "Test de message commenté." COMMENTAIRES : test de message commenté. # Écrire un message commenté. Confirmer Voulez-vous continuer cette opération ? [O] Oui [T] Oui pour tout [I] Interrompre la commande [S] Suspendre [?] Aide (" O " par défaut) : o PS> Write-Verbose "Test de message commenté." -verbose:$false # Utiliser le paramètre Verbose. PS> # Le message n'est pas affiché. $WarningPreference ------------------ Détermine comment Windows PowerShell répond aux messages d'avertissement générés par un script, une applet de commande ou un fournisseur, tels que les messages générés par l'applet de commande Write-Warning. Par défaut, les messages d'avertissement sont affichés et l'exécution continue, mais vous pouvez modifier ce comportement en modifiant la valeur de $WarningPreference. Vous pouvez également utiliser le paramètre courant WarningAction d'une applet de commande pour déterminer comment Windows PowerShell répond aux avertissements provenant d'une commande particulière. Pour plus d'informations, tapez : " get-help about_commonparameters ". Valeurs valides : Stop: Affiche le message d'avertissement et un (Arrêter) message d'erreur, puis arrête l'exécution. Inquire : Affiche le message d'avertissement, (Demander) puis demande l'autorisation de continuer. Continue : Affiche le message d'avertissement, (Continuer, puis continue l'exécution. valeur par défaut) SilentlyContinue : N'affiche pas le message d'avertissement. (Continuer en Continue l'exécution. mode silencieux) EXEMPLES Ces exemples montrent l'effet des différentes valeurs de $WarningPreference et l'utilisation du paramètre courant WarningAction pour remplacer la valeur de préférence. Cet exemple montre l'effet de la valeur " Continue " (Continuer), qui est la valeur par défaut. PS> $WarningPreference # Rechercher la valeur actuelle. Continue # Écrire un message d'avertissement. PS> Write-Warning "Cette action peut supprimer des données." AVERTISSEMENT : cette action peut supprimer des données. # Utiliser le paramètre # WarningAction pour PS> Write-Warning "Cette action peut supprimer des données." -warningaction silentlycontinue Cet exemple montre l'effet de la valeur " SilentlyContinue " (Continuer en mode silencieux). PS> $WarningPreference = "SilentlyContinue" # Remplacer la valeur par SilentlyContinue. PS> Write-Warning "Cette action peut supprimer des données." PS> # Écrire un message d'avertissement. PS> Write-Warning "Cette action peut supprimer des données." -warningaction stop # Utiliser le paramètre # WarningAction pour arrêter # le traitement lorsque cette # commande génère un. AVERTISSEMENT : cette action peut supprimer des données. Write-Warning : L'exécution de la commande s'est arrêtée, car la variable d'interpréteur de commandes " WarningPreference " a la valeur Stop. À la ligne : 1 Caractère : 14 + Write-Warning <<<< "Cette action peut supprimer des données." -warningaction stop Cet exemple montre l'effet de la valeur " Inquire " (Demander). PS> $WarningPreference = "Inquire" # Remplacer la valeur par " Inquire " (Demander). PS> Write-Warning "Cette action peut supprimer des données." # Écrire un message d'avertissement. AVERTISSEMENT : cette action peut supprimer des données. Confirmer Voulez-vous continuer cette opération ? [O] Oui [T] Oui pour tout [I] Interrompre la commande [S] Suspendre [?] Aide (" O " par défaut) : o PS> Write-Warning "Cette action peut supprimer des données." -warningaction silentlycontinue PS> # Utiliser le paramètre WarningAction # pour modifier la réponse à un # avertissement pour la commande actuelle. Cet exemple montre l'effet de la valeur " Stop " (Arrêter). PS> $WarningPreference = "Stop" # Remplacer la valeur par " Stop " (Arrêter). PS> Write-Warning "Cette action peut supprimer des données." # Écrire un message d'avertissement. AVERTISSEMENT : cette action peut supprimer des données. Write-Warning : L'exécution de la commande s'est arrêtée, car la variable d'interpréteur de commandes " WarningPrefer ence " a la valeur Stop. À la ligne : 1 Caractère : 14 + Write-Warning <<<< "Cette action peut supprimer des données." PS> Write-Warning "Cette action peut supprimer des données." -warningaction inquire AVERTISSEMENT : cette action peut supprimer des données. Confirmer Voulez-vous continuer cette opération ? [O] Oui [T] Oui pour tout [I] Interrompre la commande [S] Suspendre [?] Aide (" O " par défaut) : # Utiliser le paramètre WarningAction # pour modifier la réponse à un # avertissement pour la commande actuelle. $WhatIfPreference ------------------ Détermine si le paramètre WhatIf est activé automatiquement pour chaque commande qui le prend en charge. Lorsque WhatIf est activé, l'applet de commande signale l'effet attendu de la commande, mais n'exécute pas cette dernière. Valeurs valides : 0 : WhatIf n'est pas activé automatiquement. (valeur par défaut) Pour l'activer manuellement, utilisez le paramètre WhatIf de la commande. 1 : WhatIf est activé automatiquement sur toute commande qui le prend en charge. Les utilisateurs peuvent utiliser la commande WhatIf avec une valeur False pour la désactiver manuellement (WhatIf:$false). EXPLICATION DÉTAILLÉE Lorsqu'une applet de commande prend en charge WhatIf, elle signale l'effet attendu de la commande au lieu de l'exécuter. Par exemple, au lieu de supprimer le fichier test.txt en réponse à une commande Remove-Item, Windows PowerShell signale ce qu'il supprimerait. Une commande Get-Childitem suivante confirme que le fichier n'a pas été supprimé. PS> remove-item test.txt What if: Opération " Remove-Item " en cours sur la cible " Élément : C:\test.txt " PS> get-childitem test.txt Directory: Microsoft.PowerShell.Core\FileSystem::C: Mode LastWriteTime Length Name ---- ------------- ------ ---- -a--- 29/07/2006 19:15 84 test.txt EXEMPLES Ces exemples montrent l'effet des différentes valeurs de $WhatIfPreference. Ils indiquent également comment utiliser le paramètre d'applet de commande WhatIf pour remplacer la valeur de préférence pour une commande spécifique. Cet exemple montre l'effet de la valeur 0 (non activé), qui est la valeur par défaut. PS> $whatifpreference 0 # Vérifier la valeur actuelle. PS> get-childitem test.txt | format-list FullName FullName : C:\test.txt # Vérifier que le fichier existe. PS> remove-item test.txt PS> # Supprimer le fichier. PS> get-childitem test.txt | format-list -property FullName # Vérifier que le fichier est supprimé. Get-ChildItem : Impossible de trouver le chemin d'accès " C:\test.txt ", car il n'existe pas. À la ligne : 1 Caractère : 14 + get-childitem <<<< test.txt | format-list fullname Cet exemple montre l'effet de l'utilisation du paramètre WhatIf lorsque la valeur de $WhatIfPreference est 0. PS> get-childitem test2.txt | format-list -property FullName FullName : C:\test2.txt # Vérifier que le fichier existe. PS> remove-item test2.txt -whatif What if: Opération " Supprimer le fichier " en cours sur la cible " C:\test2.txt ". # Utiliser le paramètre WhatIf PS> get-childitem test2.txt | format-list -property FullName FullName : C:\test2.txt # Vérifier que le fichier n'a pas été supprimé Cet exemple montre l'effet de la valeur 1 (WhatIf activé). Lorsque vous utilisez Remove-Item pour supprimer une applet de commande, Remove-Item affiche le chemin d'accès au fichier qu'il supprimerait, mais ne le supprime pas. PS> $whatifpreference = 1 PS> $whatifpreference 1 # Remplacer la valeur. PS> remove-item test.txt What if: Opération " Supprimer le fichier " en cours sur la cible " C:\test.txt ". # Essayer de supprimer un fichier. PS> get-childitem test.txt | format-list FullName FullName : C:\test.txt # Vérifier que le fichier existe. Cet exemple montre comment supprimer un fichier lorsque la valeur de $WhatIfPreference est 1. Il utilise le paramètre WhatIf avec une valeur $false. PS> remove-item test.txt -whatif:$false # Utiliser le paramètre WhatIf avec $false. Cet exemple montre que certaines applets de commande prennent en charge le comportement WhatIf et d'autres non. Dans cet exemple dans lequel la valeur de $WhatIfPreference est 1 (activé), une commande Get-Process, qui ne prend pas en charge WhatIf est exécutée, mais une commande Stop-Process exécute le comportement WhatIf. Vous pouvez remplacer le comportement WhatIf de la commande Stop-Process en utilisant le paramètre WhatIf avec une valeur $false. PS> $whatifpreference = 1 # Remplacer la valeur par 1. PS> get-process winword # Une commande Get-Process s'exécute. Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 234 8 6324 15060 154 0.36 2312 WINWORD PS> stop-process -name winword What if: Opération " Stop-Process " en cours sur la cible " WINWORD (2312) ". # Une commande Stop-Process utilise WhatIf. PS> stop-process -name winword -whatif:$false PS> # WhatIf:$false remplace la préférence. PS> get-process winword Get-Process : Impossible de trouver un processus nommé " winword ". Vérifiez le nom du processus et appelez de nouveau l'applet de commande. À la ligne : 1 Caractère : 12 + get-process <<<< winword # Vérifier que le processus est arrêté. VOIR AUSSI about_Automatic_Variables about_CommonParameters about_Environment_Variables about_Profiles about_Remote about_Scopes about_Variables