Acerca de las variables de preferenciaAbout Preference Variables

Descripción breveShort description

Variables que personalizan el comportamiento de PowerShell.Variables that customize the behavior of PowerShell.

Descripción largaLong description

PowerShell incluye un conjunto de variables que le permiten personalizar su comportamiento.PowerShell includes a set of variables that enable you to customize its behavior. Estas variables de preferencia funcionan como las opciones de los sistemas basados en GUI.These preference variables work like the options in GUI-based systems.

Las variables de preferencia afectan al entorno operativo de PowerShell y todos los comandos se ejecutan en el entorno.The preference variables affect the PowerShell operating environment and all commands run in the environment. En muchos casos, los cmdlets tienen parámetros que puede usar para invalidar el comportamiento de las preferencias para un comando concreto.In many cases, the cmdlets have parameters that you can use to override the preference behavior for a specific command.

En la tabla siguiente se enumeran las variables de preferencia y sus valores predeterminados.The following table lists the preference variables and their default values.

VariableVariable Valor predeterminadoDefault Value
$ConfirmPreference AltoHigh
$DebugPreference SilentlyContinueSilentlyContinue
$ErrorActionPreference ContinuarContinue
$ErrorView ConciseViewConciseView
$FormatEnumerationLimit 44
$InformationPreference SilentlyContinueSilentlyContinue
$LogCommandHealthEvent False (no registrado)False (not logged)
$LogCommandLifecycleEvent False (no registrado)False (not logged)
$LogEngineHealthEvent True (registrado)True (logged)
$LogEngineLifecycleEvent True (registrado)True (logged)
$LogProviderLifecycleEvent True (registrado)True (logged)
$LogProviderHealthEvent True (registrado)True (logged)
$MaximumHistoryCount 40964096
$OFS (Carácter de espacio ( " " ))(Space character (" "))
$OutputEncoding UTF8Encoding (objeto)UTF8Encoding object
$ProgressPreference ContinuarContinue
$PSDefaultParameterValues (Ninguno: tabla hash vacía)(None - empty hash table)
$PSEmailServer (Ninguna)(None)
$PSModuleAutoLoadingPreference TodoAll
$PSSessionApplicationName WSManwsman
$PSSessionConfigurationName http://schemas.microsoft.com/powershell/Microsoft.PowerShell
$PSSessionOption Consulte $PSSessionOptionSee $PSSessionOption
$Transcript (ninguno)(none)
$VerbosePreference SilentlyContinueSilentlyContinue
$WarningPreference ContinuarContinue
$WhatIfPreference FalsoFalse

PowerShell incluye las siguientes variables de entorno que almacenan las preferencias del usuario.PowerShell includes the following environment variables that store user preferences. Para obtener más información acerca de estas variables de entorno, consulte about_Environment_Variables.For more information about these environment variables, see about_Environment_Variables.

  • env:PSExecutionPolicyPreference
  • $env:PSModulePath

Nota

Los cambios en la variable de preferencia solo surten efecto en scripts y funciones si esos scripts o funciones se definen en el mismo ámbito que el ámbito en el que se usó la preferencia.Changes to preference variable only take effect in scripts and functions if those scripts or functions are defined in the same scope as the scope in which preference was used. Para obtener más información, vea about_Scopes.For more information, see about_Scopes.

Trabajar con variables de preferenciaWorking with preference variables

En este documento se describe cada una de las variables de preferencia.This document describes each of the preference variables.

Para mostrar el valor actual de una variable de preferencia específica, escriba el nombre de la variable.To display the current value of a specific preference variable, type the variable's name. Por ejemplo, el siguiente comando muestra el $ConfirmPreference valor de la variable.For example, the following command displays the $ConfirmPreference variable's value.

 $ConfirmPreference
High

Para cambiar el valor de una variable, use una instrucción de asignación.To change a variable's value, use an assignment statement. Por ejemplo, la siguiente instrucción cambia el $ConfirmPreference valor del parámetro a Medium.For example, the following statement changes the $ConfirmPreference parameter's value to Medium.

$ConfirmPreference = "Medium"

Los valores que establezca son específicos de la sesión actual de PowerShell.The values that you set are specific to the current PowerShell session. Para que las variables sean eficaces en todas las sesiones de PowerShell, agréguelas a su perfil de PowerShell.To make variables effective in all PowerShell sessions, add them to your PowerShell profile. Para obtener más información, vea about_Profiles.For more information, see about_Profiles.

Trabajar de forma remotaWorking remotely

Al ejecutar comandos en un equipo remoto, los comandos remotos solo están sujetos a las preferencias establecidas en el cliente de PowerShell del equipo remoto.When you run commands on a remote computer, the remote commands are only subject to the preferences set in the remote computer's PowerShell client. Por ejemplo, al ejecutar un comando remoto, el valor de la variable del equipo remoto $DebugPreference determina el modo en que PowerShell responde a los mensajes de depuración.For example, when you run a remote command, the value of the remote computer's $DebugPreference variable determines how PowerShell responds to debugging messages.

Para obtener más información acerca de los comandos remotos, consulte about_Remote.For more information about remote commands, see about_Remote.

$ConfirmPreference$ConfirmPreference

Determina si PowerShell le pide confirmación automáticamente antes de ejecutar un cmdlet o una función.Determines whether PowerShell automatically prompts you for confirmation before running a cmdlet or function.

Los $ConfirmPreference valores válidos de la variable son alto , medio o bajo.The $ConfirmPreference variable's valid values are High , Medium , or Low. A los cmdlets y las funciones se les asigna un riesgo de alto , medio o bajo.Cmdlets and functions are assigned a risk of High , Medium , or Low. Cuando el valor de la $ConfirmPreference variable es menor o igual que el riesgo asignado a un cmdlet o una función, PowerShell le pide confirmación automáticamente antes de ejecutar el cmdlet o la función.When the value of the $ConfirmPreference variable is less than or equal to the risk assigned to a cmdlet or function, PowerShell automatically prompts you for confirmation before running the cmdlet or function.

Si el valor de la $ConfirmPreference variable es None , PowerShell nunca le pregunta automáticamente antes de ejecutar un cmdlet o una función.If the value of the $ConfirmPreference variable is None , PowerShell never automatically prompts you before running a cmdlet or function.

Para cambiar el comportamiento de la confirmación de todos los cmdlets y las funciones de la sesión, cambie el $ConfirmPreference valor de la variable.To change the confirming behavior for all cmdlets and functions in the session, change $ConfirmPreference variable's value.

Para reemplazar $ConfirmPreference para un solo comando, use el parámetro CONFIRM de la función o de un cmdlet.To override the $ConfirmPreference for a single command, use a cmdlet's or function's Confirm parameter. Para solicitar la confirmación, use -Confirm .To request confirmation, use -Confirm. Para suprimir la confirmación, use -Confirm:$false .To suppress confirmation, use -Confirm:$false.

Valores válidos de $ConfirmPreference :Valid values of $ConfirmPreference:

  • Ninguno : PowerShell no se pregunta automáticamente.None : PowerShell doesn't prompt automatically. Para solicitar la confirmación de un comando determinado, use el parámetro CONFIRM del cmdlet o la función.To request confirmation of a particular command, use the Confirm parameter of the cmdlet or function.
  • Bajo : PowerShell solicita confirmación antes de ejecutar cmdlets o funciones con un riesgo bajo, medio o alto.Low : PowerShell prompts for confirmation before running cmdlets or functions with a low, medium, or high risk.
  • Media : PowerShell solicita confirmación antes de ejecutar cmdlets o funciones con un riesgo medio o alto.Medium : PowerShell prompts for confirmation before running cmdlets or functions with a medium, or high risk.
  • Alto : PowerShell solicita confirmación antes de ejecutar cmdlets o funciones con un alto riesgo.High : PowerShell prompts for confirmation before running cmdlets or functions with a high risk.

Explicación detalladaDetailed explanation

PowerShell puede pedirle automáticamente confirmación antes de realizar una acción.PowerShell can automatically prompt you for confirmation before doing an action. Por ejemplo, cuando el cmdlet o la función afecta significativamente al sistema para eliminar datos o usar una cantidad significativa de recursos del sistema.For example, when cmdlet or function significantly affects the system to delete data or use a significant amount of system resources.

Remove-Item -Path C:\file.txt
Confirm
Are you sure you want to perform this action?
Performing operation "Remove File" on Target "C:\file.txt".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"):

La estimación del riesgo es un atributo del cmdlet o la función que se conoce como ConfirmImpact.The estimate of the risk is an attribute of the cmdlet or function known as its ConfirmImpact. Los usuarios no pueden cambiarla.Users can't change it.

Los cmdlets y las funciones que pueden suponer un riesgo para el sistema tienen un parámetro CONFIRM que puede usar para solicitar o suprimir la confirmación de un solo comando.Cmdlets and functions that might pose a risk to the system have a Confirm parameter that you can use to request or suppress confirmation for a single command.

Dado que la mayoría de los cmdlets y las funciones usan el valor de riesgo predeterminado, ConfirmImpact , de media , y el valor predeterminado de $ConfirmPreference es alto , rara vez se produce una confirmación automática.Because most cmdlets and functions use the default risk value, ConfirmImpact , of Medium , and the default value of $ConfirmPreference is High , automatic confirmation rarely occurs. Sin embargo, puede activar la confirmación automática cambiando el valor de $ConfirmPreference a medio o bajo.However, you can activate automatic confirmation by changing the value of $ConfirmPreference to Medium or Low.

EjemplosExamples

En este ejemplo se muestra el efecto del $ConfirmPreference valor predeterminado de la variable, High.This example shows the effect of the $ConfirmPreference variable's default value, High. El valor alto solo confirma los cmdlets y las funciones de alto riesgo.The High value only confirms high-risk cmdlets and functions. Dado que la mayoría de los cmdlets y las funciones son de riesgo medio, no se confirman automáticamente y Remove-Item eliminan el archivo.Since most cmdlets and functions are medium risk, they aren't automatically confirmed and Remove-Item deletes the file. -ConfirmAl agregar al comando, se solicita confirmación al usuario.Adding -Confirm to the command prompts the user for confirmation.

$ConfirmPreference
High
Remove-Item -Path C:\temp1.txt

Use -Confirm para solicitar la confirmación.Use -Confirm to request confirmation.

Remove-Item -Path C:\temp2.txt -Confirm
Confirm
Are you sure you want to perform this action?
Performing operation "Remove File" on Target "C:\temp2.txt".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All
[?] Help (default is "Y"):

En el ejemplo siguiente se muestra el efecto de cambiar el valor de $ConfirmPreference a Medium.The following example shows the effect of changing the value of $ConfirmPreference to Medium. Dado que la mayoría de los cmdlets y las funciones son de riesgo medio, se confirman automáticamente.Because most cmdlets and function are medium risk, they're automatically confirmed. Para suprimir la solicitud de confirmación de un solo comando, use el parámetro CONFIRM con un valor de $false .To suppress the confirmation prompt for a single command, use the Confirm parameter with a value of $false.

$ConfirmPreference = "Medium"
Remove-Item -Path C:\temp2.txt
Confirm
Are you sure you want to perform this action?
Performing operation "Remove File" on Target "C:\temp2.txt".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All
[?] Help (default is "Y"):
Remove-Item -Path C:\temp3.txt -Confirm:$false

$DebugPreference$DebugPreference

Determina el modo en que PowerShell responde a los mensajes de depuración generados por un script, un cmdlet o un proveedor, o un Write-Debug comando en la línea de comandos.Determines how PowerShell responds to debugging messages generated by a script, cmdlet or provider, or by a Write-Debug command at the command line.

Algunos cmdlets muestran mensajes de depuración, que suelen ser mensajes técnicos diseñados para programadores y profesionales de soporte técnico.Some cmdlets display debugging messages, which are typically technical messages designed for programmers and technical support professionals. De forma predeterminada, no se muestran los mensajes de depuración, pero puede mostrar los mensajes de depuración cambiando el valor de $DebugPreference .By default, debugging messages aren't displayed, but you can display debugging messages by changing the value of $DebugPreference.

Puede usar el parámetro común Debug de un cmdlet para mostrar u ocultar los mensajes de depuración de un comando específico.You can use the Debug common parameter of a cmdlet to display or hide the debugging messages for a specific command. Para obtener más información, consulta about_CommonParameters.For more information, see about_CommonParameters.

Los valores válidos son los siguientes:The valid values are as follows:

  • Detener : muestra el mensaje de depuración y deja de ejecutarse.Stop : Displays the debug message and stops executing. Escribe un error en la consola.Writes an error to the console.
  • Consulta : muestra el mensaje de depuración y le pregunta si desea continuar.Inquire : Displays the debug message and asks you whether you want to continue. Al agregar el parámetro común de depuración a un comando, cuando el comando se configura para generar un mensaje de depuración, cambia el valor de la $DebugPreference variable a consulta.Adding the Debug common parameter to a command, when the command is configured to generate a debugging message, changes the value of the $DebugPreference variable to Inquire.
  • Continuar : muestra el mensaje de depuración y continúa con la ejecución.Continue : Displays the debug message and continues with execution.
  • SilentlyContinue : (valor predeterminado) ningún efecto.SilentlyContinue : (Default) No effect. No se muestra el mensaje de depuración y la ejecución continúa sin interrupción.The debug message isn't displayed and execution continues without interruption.

EjemplosExamples

En los siguientes ejemplos se muestra el efecto de cambiar los valores de $DebugPreference cuando Write-Debug se escribe un comando en la línea de comandos.The following examples show the effect of changing the values of $DebugPreference when a Write-Debug command is entered at the command line. El cambio afecta a todos los mensajes de depuración, incluidos los mensajes generados por los cmdlets y los scripts.The change affects all debugging messages, including messages generated by cmdlets and scripts. En los ejemplos se muestra el parámetro Debug , que muestra u oculta los mensajes de depuración relacionados con un solo comando.The examples show the Debug parameter, which displays or hides the debugging messages related to a single command.

En este ejemplo se muestra el efecto del $DebugPreference valor predeterminado de la variable, SilentlyContinue.This example shows the effect of the $DebugPreference variable's default value, SilentlyContinue. De forma predeterminada, el Write-Debug mensaje de depuración del cmdlet no se muestra y el procesamiento continúa.By default, the Write-Debug cmdlet's debug message isn't displayed and processing continues. Cuando se usa el parámetro Debug , invalida la preferencia de un solo comando.When the Debug parameter is used, it overrides the preference for a single command. Se muestra el mensaje de depuración.The debug message is displayed.

$DebugPreference
SilentlyContinue
Write-Debug -Message "Hello, World"
Write-Debug -Message "Hello, World" -Debug
DEBUG: Hello, World

En este ejemplo se muestra el efecto de $DebugPreference con el valor continue .This example shows the effect of $DebugPreference with the Continue value. Se muestra el mensaje de depuración y continúa el proceso del comando.The debug message is displayed and the command continues to process.

$DebugPreference = "Continue"
Write-Debug -Message "Hello, World"
DEBUG: Hello, World

En este ejemplo se usa el parámetro Debug con un valor de $false para suprimir el mensaje para un solo comando.This example uses the Debug parameter with a value of $false to suppress the message for a single command. No se muestra el mensaje de depuración.The debug message isn't displayed.

Write-Debug -Message "Hello, World" -Debug:$false

En este ejemplo se muestra el efecto de $DebugPreference establecerse en el valor de detención .This example shows the effect of $DebugPreference being set to the Stop value. Se muestra el mensaje de depuración y se detiene el comando.The debug message is displayed and the command is stopped.

$DebugPreference = "Stop"
Write-Debug -Message "Hello, World"
DEBUG: Hello, World
Write-Debug : The running command stopped because the preference variable
 "DebugPreference" or common parameter is set to Stop: Hello, World
At line:1 char:1
+ Write-Debug -Message "Hello, World"

En este ejemplo se usa el parámetro Debug con un valor de $false para suprimir el mensaje para un solo comando.This example uses the Debug parameter with a value of $false to suppress the message for a single command. No se muestra el mensaje de depuración y no se detiene el procesamiento.The debug message isn't displayed and processing isn't stopped.

Write-Debug -Message "Hello, World" -Debug:$false

En este ejemplo se muestra el efecto de $DebugPreference establecer en el valor de la consulta .This example shows the effect of $DebugPreference being set to the Inquire value. Se muestra el mensaje de depuración y se solicita confirmación al usuario.The debug message is displayed and the user is prompted for confirmation.

$DebugPreference = "Inquire"
Write-Debug -Message "Hello, World"
DEBUG: Hello, World

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [?] Help (default is "Y"):

En este ejemplo se usa el parámetro Debug con un valor de $false para suprimir el mensaje para un solo comando.This example uses the Debug parameter with a value of $false to suppress the message for a single command. El mensaje de depuración no se muestra y el procesamiento continúa.The debug message isn't displayed and processing continues.

Write-Debug -Message "Hello, World" -Debug:$false

$ErrorActionPreference$ErrorActionPreference

Determina cómo responde PowerShell a un error de no terminación, un error que no detiene el procesamiento del cmdlet.Determines how PowerShell responds to a non-terminating error, an error that doesn't stop the cmdlet processing. Por ejemplo, en la línea de comandos o en un script, un cmdlet o un proveedor, como los errores generados por el Write-Error cmdlet.For example, at the command line or in a script, cmdlet, or provider, such as the errors generated by the Write-Error cmdlet.

Puede usar el parámetro común ErrorAction de un cmdlet para invalidar la preferencia de un comando específico.You can use a cmdlet's ErrorAction common parameter to override the preference for a specific command.

Los valores válidos son los siguientes:The valid values are as follows:

  • Interrumpir : escriba el depurador cuando se produzca un error o cuando se produzca una excepción.Break - Enter the debugger when an error occurs or when an exception is raised.
  • Continuar : (valor predeterminado) muestra el mensaje de error y continúa la ejecución.Continue : (Default) Displays the error message and continues executing.
  • Omitir : suprime el mensaje de error y continúa ejecutando el comando.Ignore : Suppresses the error message and continues to execute the command. El valor Ignore está pensado para el uso por comando, no para usarlo como preferencia guardada.The Ignore value is intended for per-command use, not for use as saved preference. Ignore no es un valor válido para la $ErrorActionPreference variable.Ignore isn't a valid value for the $ErrorActionPreference variable.
  • Consulta : muestra el mensaje de error y le pregunta si desea continuar.Inquire : Displays the error message and asks you whether you want to continue.
  • SilentlyContinue : ningún efecto.SilentlyContinue : No effect. No se muestra el mensaje de error y la ejecución continúa sin interrupción.The error message isn't displayed and execution continues without interruption.
  • Detener : muestra el mensaje de error y deja de ejecutarse.Stop : Displays the error message and stops executing. Además del error generado, el valor Stop genera un objeto ActionPreferenceStopException en la secuencia de error.In addition to the error generated, the Stop value generates an ActionPreferenceStopException object to the error stream. flujostream
  • Suspend : suspende automáticamente una tarea del flujo de trabajo para permitir una investigación más detallada.Suspend : Automatically suspends a workflow job to allow for further investigation. Después de la investigación, el flujo de trabajo se puede reanudar.After investigation, the workflow can be resumed. El valor Suspend está pensado para el uso por comando, no para su uso como preferencia guardada.The Suspend value is intended for per-command use, not for use as saved preference. Suspend no es un valor válido para la $ErrorActionPreference variable.Suspend isn't a valid value for the $ErrorActionPreference variable.

$ErrorActionPreference y el parámetro ErrorAction no afectan a la manera en que PowerShell responde a los errores de terminación que detienen el procesamiento de los cmdlets.$ErrorActionPreference and the ErrorAction parameter don't affect how PowerShell responds to terminating errors that stop cmdlet processing. Para obtener más información sobre el parámetro común ErrorAction , vea about_CommonParameters.For more information about the ErrorAction common parameter, see about_CommonParameters.

EjemplosExamples

En estos ejemplos se muestra el efecto de los diferentes valores de la $ErrorActionPreference variable.These examples show the effect of the different values of the $ErrorActionPreference variable. El parámetro ErrorAction se usa para invalidar el $ErrorActionPreference valor.The ErrorAction parameter is used to override the $ErrorActionPreference value.

En este ejemplo se muestra el $ErrorActionPreference valor predeterminado, continue.This example shows the $ErrorActionPreference default value, Continue. Se genera un error de no terminación.A non-terminating error is generated. El mensaje se muestra y el procesamiento continúa.The message is displayed and processing continues.

# Change the ErrorActionPreference to 'Continue'
$ErrorActionPreference = 'Continue'
# Generate a non-terminating error and continue processing the script.
Write-Error -Message  'Test Error' ; Write-Host 'Hello World'
Write-Error: Test Error
Hello World

En este ejemplo se muestra el $ErrorActionPreference valor predeterminado, inquire.This example shows the $ErrorActionPreference default value, Inquire. Se genera un error y se muestra el mensaje de acción.An error is generated and a prompt for action is shown.

# Change the ErrorActionPreference to 'Inquire'
$ErrorActionPreference = 'Inquire'
Write-Error -Message 'Test Error' ; Write-Host 'Hello World'
Confirm
Test Error
[Y] Yes  [A] Yes to All  [H] Halt Command  [S] Suspend  [?] Help (default is "Y"):

En este ejemplo se muestra el $ErrorActionPreference valor de establecido en SilentlyContinue.This example shows the $ErrorActionPreference set to SilentlyContinue. Se suprime el mensaje de error.The error message is suppressed.

# Change the ErrorActionPreference to 'SilentlyContinue'
$ErrorActionPreference = 'SilentlyContinue'
# Generate an error message
Write-Error -Message 'Test Error' ; Write-Host 'Hello World'
# Error message is suppressed and script continues processing
Hello World

En este ejemplo se muestra el $ErrorActionPreference conjunto que se va a detener.This example shows the $ErrorActionPreference set to Stop. También muestra el objeto adicional generado para la $Error variable.It also shows the extra object generated to the $Error variable.

# Change the ErrorActionPreference to 'Stop'
$ErrorActionPreference = 'Stop'
# Error message is is generated and script stops processing
Write-Error -Message 'Test Error' ; Write-Host 'Hello World'

# Show the ActionPreferenceStopException and the error generated
$Error[0]
$Error[1]
Write-Error: Test Error

ErrorRecord                 : Test Error
WasThrownFromThrowStatement : False
TargetSite                  : System.Collections.ObjectModel.Collection`1[System.Management.Automation.PSObject]
                              Invoke(System.Collections.IEnumerable)
StackTrace                  :    at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
                                 at Microsoft.PowerShell.Executor.ExecuteCommandHelper(Pipeline tempPipeline,
                              Exception& exceptionThrown, ExecutionOptions options)
Message                     : The running command stopped because the preference variable "ErrorActionPreference" or
                              common parameter is set to Stop: Test Error
Data                        : {System.Management.Automation.Interpreter.InterpretedFrameInfo}
InnerException              :
HelpLink                    :
Source                      : System.Management.Automation
HResult                     : -2146233087

Write-Error: Test Error

$ErrorView$ErrorView

Determina el formato de presentación de los mensajes de error en PowerShell.Determines the display format of error messages in PowerShell.

Los valores válidos son los siguientes:The valid values are as follows:

  • ConciseView : (valor predeterminado) proporciona un mensaje de error conciso y una vista refactorizada para los generadores de módulos avanzados.ConciseView : (Default) Provides a concise error message and a refactored view for advanced module builders. Si el error es desde la línea de comandos, se trata de un mensaje de error de una sola línea.If the error is from command line it's a single line error message. De lo contrario, recibirá un mensaje de error de varias líneas que contiene el error y un puntero al error que muestra dónde se encuentra en esa línea.Otherwise, you receive a multiline error message that contains the error and a pointer to the error showing where it occurs in that line. Si el terminal es compatible con terminal virtual, los códigos de color ANSI se utilizan para proporcionar acentos de color.If the terminal supports Virtual Terminal, then ANSI color codes are used to provide color accent. El color de énfasis se puede cambiar en $Host.PrivateData.ErrorAccentColor .The Accent color can be changed at $Host.PrivateData.ErrorAccentColor. Use Get-Error el cmdlet para obtener una vista detallada completa del error completo, incluidas las excepciones internas.Use Get-Error cmdlet for a comprehensive detailed view of the fully qualified error, including inner exceptions.

    ConciseView se agregó en PowerShell 7.ConciseView was added in PowerShell 7.

  • NormalView : vista detallada diseñada para la mayoría de los usuarios.NormalView : A detailed view designed for most users. Consta de una descripción del error y el nombre del objeto implicado en el error.Consists of a description of the error and the name of the object involved in the error.

  • CategoryView : vista concisa y estructurada diseñada para entornos de producción.CategoryView : A succinct, structured view designed for production environments. El formato es como sigue:The format is as follows:

    {Category}: ({TargetName}: {TargetType}): [{Activity}], {Reason}{Category}: ({TargetName}:{TargetType}):[{Activity}], {Reason}

Para obtener más información sobre los campos de CategoryView , vea clase ErrorCategoryInfo .For more information about the fields in CategoryView , see ErrorCategoryInfo class.

EjemplosExamples

En este ejemplo se muestra cómo aparece un error cuando el valor de $ErrorView es el predeterminado, ConciseView.This example shows how an error appears when the value of $ErrorView is the default, ConciseView. Get-ChildItem se usa para buscar un directorio no existente.Get-ChildItem is used to find a non-existent directory.

Get-ChildItem -path 'C:\NoRealDirectory'
Get-ChildItem: Cannot find path 'C:\NoRealDirectory' because it does not exist.

En este ejemplo se muestra cómo aparece un error cuando el valor de $ErrorView es el predeterminado, ConciseView.This example shows how an error appears when the value of $ErrorView is the default, ConciseView. Script.ps1 se ejecuta y produce un error de la Get-Item instrucción.Script.ps1 is run and throws an error from Get-Item statement.

./Script.ps1
Get-Item: C:\Script.ps1
Line |
  11 | Get-Item -Path .\stuff
     | ^ Cannot find path 'C:\demo\stuff' because it does not exist.

En este ejemplo se muestra cómo aparece un error cuando el valor de $ErrorView se cambia a NormalView.This example shows how an error appears when the value of $ErrorView is changed to NormalView. Get-ChildItem se utiliza para buscar un archivo que no existe.Get-ChildItem is used to find a non-existent file.

Get-ChildItem -Path C:\nofile.txt
Get-ChildItem : Cannot find path 'C:\nofile.txt' because it does not exist.
At line:1 char:1
+ Get-ChildItem -Path C:\nofile.txt

En este ejemplo se muestra cómo aparece el mismo error cuando el valor de $ErrorView se cambia a CategoryView.This example shows how the same error appears when the value of $ErrorView is changed to CategoryView.

$ErrorView = "CategoryView"
Get-ChildItem -Path C:\nofile.txt
ObjectNotFound: (C:\nofile.txt:String) [Get-ChildItem], ItemNotFoundException

En este ejemplo se muestra que el valor de $ErrorView solo afecta a la presentación del error.This example demonstrates that the value of $ErrorView only affects the error display. No cambia la estructura del objeto de error que se almacena en la $Error variable automática.It doesn't change the structure of the error object that is stored in the $Error automatic variable. Para obtener información sobre la $Error variable automática, vea about_automatic_variables.For information about the $Error automatic variable, see about_automatic_variables.

El siguiente comando toma el objeto ErrorRecord asociado al error más reciente en la matriz de errores, el elemento 0 y da formato a todas las propiedades del objeto error en una lista.The following command takes the ErrorRecord object associated with the most recent error in the error array, element 0 , and formats all the error object's properties in a list.

$Error[0] | Format-List -Property * -Force
PSMessageDetails      :
Exception             : System.Management.Automation.ItemNotFoundException:
                          Cannot find path 'C:\nofile.txt' because it does
                          not exist.
                        at System.Management.Automation.SessionStateInternal.
                          GetChildItems(String path, Boolean recurse, UInt32
                          depth, CmdletProviderContext context)
                        at System.Management.Automation.ChildItemCmdlet
                          ProviderIntrinsics.Get(String path, Boolean
                          recurse, UInt32 depth, 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
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
PipelineIterationInfo : {0, 1}

$FormatEnumerationLimit$FormatEnumerationLimit

Determina el número de elementos enumerados que se incluyen en una pantalla.Determines how many enumerated items are included in a display. Esta variable no afecta a los objetos subyacentes, solo a la presentación.This variable doesn't affect the underlying objects, only the display. Cuando el valor de $FormatEnumerationLimit es menor que el número de elementos enumerados, PowerShell agrega puntos suspensivos ( ... ) para indicar que no se muestran los elementos.When the value of $FormatEnumerationLimit is fewer than the number of enumerated items, PowerShell adds an ellipsis (...) to indicate items not shown.

Valores válidos : enteros ( Int32 )Valid values : Integers (Int32)

Valor predeterminado : 4Default value : 4

EjemplosExamples

En este ejemplo se muestra cómo usar la $FormatEnumerationLimit variable para mejorar la presentación de los elementos enumerados.This example shows how to use the $FormatEnumerationLimit variable to improve the display of enumerated items.

El comando de este ejemplo genera una tabla que muestra todos los servicios que se ejecutan en el equipo en dos grupos: uno para la ejecución de servicios y otro para los servicios detenidos .The command in this example generates a table that lists all the services running on the computer in two groups: one for running services and one for stopped services. Usa un Get-Service comando para obtener todos los servicios y, a continuación, envía los resultados a través de la canalización al Group-Object cmdlet, que agrupa los resultados por el estado del servicio.It uses a Get-Service command to get all the services, and then sends the results through the pipeline to the Group-Object cmdlet, which groups the results by the service status.

El resultado es una tabla que muestra el estado en la columna nombre y los procesos de la columna Grupo .The result is a table that lists the status in the Name column, and the processes in the Group column. Para cambiar las etiquetas de columna, use una tabla hash, vea about_Hash_Tables.To change the column labels, use a hash table, see about_Hash_Tables. Para obtener más información, vea los ejemplos de format-table.For more information, see the examples in Format-Table.

Busque el valor actual de $FormatEnumerationLimit .Find the current value of $FormatEnumerationLimit.

$FormatEnumerationLimit
4

Enumera todos los servicios agrupados por Estado.List all services grouped by Status. Hay un máximo de cuatro servicios enumerados en la columna Grupo para cada estado porque $FormatEnumerationLimit tiene un valor de 4.There are a maximum of four services listed in the Group column for each status because $FormatEnumerationLimit has a value of 4.

Get-Service | Group-Object -Property Status
Count  Name       Group
-----  ----       -----
60     Running    {AdtAgent, ALG, Ati HotKey Poller, AudioSrv...}
41     Stopped    {Alerter, AppMgmt, aspnet_state, ATI Smart...}

Para aumentar el número de elementos enumerados, aumente el valor de $FormatEnumerationLimit a 1000.To increase the number of items listed, increase the value of $FormatEnumerationLimit to 1000. Use Get-Service y Group-Object para mostrar los servicios.Use Get-Service and Group-Object to display the services.

$FormatEnumerationLimit = 1000
Get-Service | Group-Object -Property Status
Count  Name       Group
-----  ----       -----
60     Running    {AdtAgent, ALG, Ati HotKey Poller, AudioSrv, BITS, CcmExec...
41     Stopped    {Alerter, AppMgmt, aspnet_state, ATI Smart, Browser, CiSvc...

Use Format-Table con el parámetro Wrap para mostrar la lista de servicios.Use Format-Table with the Wrap parameter to display the list of services.

Get-Service | Group-Object -Property Status | Format-Table -Wrap
Count  Name       Group
-----  ----       -----
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, WZCSVC, 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,
                  SCardSvr, SwPrv, SysmonLog, TlntSvr, upnphost, UPS, VSS,
                  WmdmPmSN, Wmi, WmiApSrv, xmlprov}

$InformationPreference$InformationPreference

La $InformationPreference variable le permite establecer las preferencias de flujo de información que desea que se muestren a los usuarios.The $InformationPreference variable lets you set information stream preferences that you want displayed to users. En concreto, los mensajes informativos que se agregaron a comandos o scripts mediante la adición del cmdlet Write-Information .Specifically, informational messages that you added to commands or scripts by adding the Write-Information cmdlet. Si se usa el parámetro InformationAction , su valor invalida el valor de la $InformationPreference variable.If the InformationAction parameter is used, its value overrides the value of the $InformationPreference variable. Write-Information se presentó en PowerShell 5,0.Write-Information was introduced in PowerShell 5.0.

Los valores válidos son los siguientes:The valid values are as follows:

  • Detener : detiene un comando o script en una aparición del Write-Information comando.Stop : Stops a command or script at an occurrence of the Write-Information command.
  • Consulta : muestra el mensaje informativo que se especifica en un Write-Information comando y, a continuación, pregunta si desea continuar.Inquire : Displays the informational message that you specify in a Write-Information command, then asks whether you want to continue.
  • Continuar : muestra el mensaje informativo y continúa en ejecución.Continue : Displays the informational message, and continues running.
  • La suspensión solo está disponible para flujos de trabajo que no se admiten en PowerShell 6 y versiones posteriores.Suspend is only available for workflows which aren't supported in PowerShell 6 and beyond.
  • SilentlyContinue : (valor predeterminado) ningún efecto.SilentlyContinue : (Default) No effect. No se muestran los mensajes informativos y el script continúa sin interrupción.The informational messages aren't displayed, and the script continues without interruption.

$Evento log *$Log*Event

Las variables de preferencia de **eventos log *** determinan qué tipos de eventos se escriben en el registro de eventos de PowerShell en visor de eventos.The Log*Event preference variables determine which types of events are written to the PowerShell event log in Event Viewer. De forma predeterminada, solo se registran los eventos del motor y del proveedor.By default, only engine and provider events are logged. Sin embargo, puede usar las variables de preferencia de **evento log *** para personalizar el registro, como el registro de eventos sobre comandos.But, you can use the Log*Event preference variables to customize your log, such as logging events about commands.

Las variables de preferencia de **evento log *** son las siguientes:The Log*Event preference variables are as follows:

  • $LogCommandHealthEvent: Registra errores y excepciones en la inicialización y el procesamiento de comandos.$LogCommandHealthEvent: Logs errors and exceptions in command initialization and processing. El valor predeterminado es $false (no registrado).The default is $false (not logged).
  • $LogCommandLifecycleEvent: Registra el inicio y la detención de comandos y canalizaciones de comandos y excepciones de seguridad en la detección de comandos.$LogCommandLifecycleEvent: Logs the starting and stopping of commands and command pipelines and security exceptions in command discovery. El valor predeterminado es $false (no registrado).The default is $false (not logged).
  • $LogEngineHealthEvent: Registra los errores y errores de las sesiones.$LogEngineHealthEvent: Logs errors and failures of sessions. El valor predeterminado es $true (registrado).The default is $true (logged).
  • $LogEngineLifecycleEvent: Registra la apertura y el cierre de sesiones.$LogEngineLifecycleEvent: Logs the opening and closing of sessions. El valor predeterminado es $true (registrado).The default is $true (logged).
  • $LogProviderHealthEvent: Registra los errores del proveedor, como los errores de lectura y escritura, los errores de búsqueda y los errores de invocación.$LogProviderHealthEvent: Logs provider errors, such as read and write errors, lookup errors, and invocation errors. El valor predeterminado es $true (registrado).The default is $true (logged).
  • $LogProviderLifecycleEvent: Registra la adición y eliminación de proveedores de PowerShell.$LogProviderLifecycleEvent: Logs adding and removing of PowerShell providers. El valor predeterminado es $true (registrado).The default is $true (logged). Para obtener información sobre los proveedores de PowerShell, consulte about_Providers.For information about PowerShell providers, see about_Providers.

Para habilitar un **evento log *** , escriba la variable con un valor de $true , por ejemplo:To enable a Log*Event , type the variable with a value of $true, for example:

$LogCommandLifeCycleEvent = $true

Para deshabilitar un tipo de evento, escriba la variable con un valor de $false , por ejemplo:To disable an event type, type the variable with a value of $false, for example:

$LogCommandLifeCycleEvent = $false

Los eventos que se habilitan solo son efectivos para la consola de PowerShell actual.The events that you enable are effective only for the current PowerShell console. Para aplicar la configuración a todas las consolas, guarde la configuración de las variables en el perfil de PowerShell.To apply the configuration to all consoles, save the variable settings in your PowerShell profile. Para obtener más información, vea about_Profiles.For more information, see about_Profiles.

$MaximumHistoryCount$MaximumHistoryCount

Determina el número de comandos que se guardan en el historial de comandos de la sesión actual.Determines how many commands are saved in the command history for the current session.

Valores válidos : 1-32768 ( Int32 )Valid values : 1 - 32768 (Int32)

Valor predeterminado : 4096Default : 4096

Para determinar el número de comandos guardados actualmente en el historial de comandos, escriba:To determine the number of commands current saved in the command history, type:

(Get-History).Count

Para ver los comandos guardados en el historial de la sesión, use el Get-History cmdlet.To see the commands saved in your session history, use the Get-History cmdlet. Para obtener más información, vea about_History.For more information, see about_History.

$OFS$OFS

El separador de campos de salida (OFS) especifica el carácter que separa los elementos de una matriz que se convierte en una cadena.The Output Field Separator (OFS) specifies the character that separates the elements of an array that is converted to a string.

Valores válidos : cualquier cadena.Valid values : Any string.

Valor predeterminado : espacioDefault : Space

De forma predeterminada, la $OFS variable no existe y el separador del archivo de salida es un espacio, pero puede Agregar esta variable y establecerla en cualquier cadena.By default, the $OFS variable doesn't exist and the output file separator is a space, but you can add this variable and set it to any string. Puede cambiar el valor de $OFS en la sesión; para ello, escriba $OFS="<value>" .You can change the value of $OFS in your session, by typing $OFS="<value>".

Nota

Si espera el valor predeterminado de un espacio ( " " ) en la salida del script, el módulo o la configuración, tenga cuidado de que el $OFS valor predeterminado no se haya cambiado en ningún otro lugar del código.If you're expecting the default value of a space (" ") in your script, module, or configuration output, be careful that the $OFS default value hasn't been changed elsewhere in your code.

EjemplosExamples

Este ejemplo muestra que se usa un espacio para separar los valores cuando una matriz se convierte en una cadena.This example shows that a space is used to separate the values when an array is converted to a string. En este caso, una matriz de enteros se almacena en una variable y, a continuación, la variable se convierte en una cadena.In this case, an array of integers is stored in a variable and then the variable is cast as a string.

$array = 1,2,3,4
[string]$array
1 2 3 4

Para cambiar el separador, agregue la $OFS variable asignándole un valor.To change the separator, add the $OFS variable by assigning a value to it. La variable debe tener un nombre $OFS .The variable must be named $OFS.

$OFS = "+"
[string]$array
1+2+3+4

Para restaurar el comportamiento predeterminado, puede asignar un espacio ( " " ) al valor de $OFS o eliminar la variable.To restore the default behavior, you can assign a space (" ") to the value of $OFS or delete the variable. Los siguientes comandos eliminan la variable y comprueban que el separador es un espacio.The following commands delete the variable and then verify that the separator is a space.

Remove-Variable OFS
[string]$array
1 2 3 4

$OutputEncoding$OutputEncoding

Determina el método de codificación de caracteres que PowerShell usa cuando envía texto a otras aplicaciones.Determines the character encoding method that PowerShell uses when it sends text to other applications.

Por ejemplo, si una aplicación devuelve cadenas Unicode a PowerShell, puede que tenga que cambiar el valor a UnicodeEncoding para enviar los caracteres correctamente.For example, if an application returns Unicode strings to PowerShell, you might need to change the value to UnicodeEncoding to send the characters correctly.

Los valores válidos son los siguientes: objetos derivados de una clase de codificación, como ASCIIEncoding , SBCSCodePageEncoding , UTF7Encoding , UTF8Encoding , UTF32Encoding y UnicodeEncoding.The valid values are as follows: Objects derived from an Encoding class, such as ASCIIEncoding , SBCSCodePageEncoding , UTF7Encoding , UTF8Encoding , UTF32Encoding , and UnicodeEncoding.

Valor predeterminado : objeto UTF8Encoding (System. Text. UTF8Encoding)Default : UTF8Encoding object (System.Text.UTF8Encoding)

EjemplosExamples

En este ejemplo se muestra cómo hacer que el comando de Windows findstr.exe funcione en PowerShell en un equipo que está localizado para un idioma que usa caracteres Unicode, como chino.This example shows how to make the Windows findstr.exe command work in PowerShell on a computer that is localized for a language that uses Unicode characters, such as Chinese.

El primer comando busca el valor de $OutputEncoding .The first command finds the value of $OutputEncoding. Dado que el valor es un objeto de codificación, solo muestra su propiedad EncodingName .Because the value is an encoding object, display only its EncodingName property.

$OutputEncoding.EncodingName

En este ejemplo, se usa un comando findstr.exe para buscar dos caracteres chinos presentes en el Test.txt archivo.In this example, a findstr.exe command is used to search for two Chinese characters that are present in the Test.txt file. Cuando este comando de findstr.exe se ejecuta en el símbolo del sistema de Windows ( cmd.exe ), findstr.exe busca los caracteres en el archivo de texto.When this findstr.exe command is run in the Windows Command Prompt ( cmd.exe ), findstr.exe finds the characters in the text file. Sin embargo, cuando se ejecuta el mismo comando findstr.exe en PowerShell, no se encuentran los caracteres porque PowerShell los envía a findstr.exe en texto ASCII, en lugar de texto Unicode.However, when you run the same findstr.exe command in PowerShell, the characters aren't found because the PowerShell sends them to findstr.exe in ASCII text, instead of in Unicode text.

findstr <Unicode-characters>

Para que el comando funcione en PowerShell, establezca el valor de $OutputEncoding en el valor de la propiedad OutputEncoding de la consola de, que se basa en la configuración regional seleccionada para Windows.To make the command work in PowerShell, set the value of $OutputEncoding to the value of the OutputEncoding property of the console, that is based on the locale selected for Windows. Dado que OutputEncoding es una propiedad estática de la consola, use dos puntos dobles ( :: ) en el comando.Because OutputEncoding is a static property of the console, use double-colons (::) in the command.

$OutputEncoding = [console]::OutputEncoding
$OutputEncoding.EncodingName
OEM United States

Después del cambio de codificación, el comando findstr.exe busca los caracteres Unicode.After the encoding change, the findstr.exe command finds the Unicode characters.

findstr <Unicode-characters>
test.txt:         <Unicode-characters>

$ProgressPreference$ProgressPreference

Determina el modo en que PowerShell responde a las actualizaciones de progreso generadas por un script, un cmdlet o un proveedor, como las barras de progreso generadas por el cmdlet Write-Progress .Determines how PowerShell responds to progress updates generated by a script, cmdlet, or provider, such as the progress bars generated by the Write-Progress cmdlet. El Write-Progress cmdlet crea barras de progreso que muestran el estado de un comando.The Write-Progress cmdlet creates progress bars that show a command's status.

Los valores válidos son los siguientes:The valid values are as follows:

  • Detener : no muestra la barra de progreso.Stop : Doesn't display the progress bar. En su lugar, muestra un mensaje de error y deja de ejecutarse.Instead, it displays an error message and stops executing.
  • Consulta : no muestra la barra de progreso.Inquire : Doesn't display the progress bar. Solicita permiso para continuar.Prompts for permission to continue. Si responde con Y o A , se muestra la barra de progreso.If you reply with Y or A, it displays the progress bar.
  • Continuar : (valor predeterminado) muestra la barra de progreso y continúa con la ejecución.Continue : (Default) Displays the progress bar and continues with execution.
  • SilentlyContinue : ejecuta el comando, pero no muestra la barra de progreso.SilentlyContinue : Executes the command, but doesn't display the progress bar.

$PSEmailServer$PSEmailServer

Especifica el servidor de correo electrónico predeterminado que se usa para enviar mensajes de correo electrónico.Specifies the default e-mail server that is used to send email messages. Esta variable de preferencia la usan los cmdlets que envían correo electrónico, como el cmdlet send-MailMessage .This preference variable is used by cmdlets that send email, such as the Send-MailMessage cmdlet.

$PSDefaultParameterValues$PSDefaultParameterValues

Especifica los valores predeterminados para los parámetros de los cmdlets y las funciones avanzadas.Specifies default values for the parameters of cmdlets and advanced functions. El valor de $PSDefaultParameterValues es una tabla hash donde la clave está formada por el nombre del cmdlet y el nombre del parámetro separados por dos puntos ( : ).The value of $PSDefaultParameterValues is a hash table where the key consists of the cmdlet name and parameter name separated by a colon (:). El valor es un valor predeterminado personalizado que especifique.The value is a custom default value that you specify.

$PSDefaultParameterValues se presentó en PowerShell 3,0.$PSDefaultParameterValues was introduced in PowerShell 3.0.

Para obtener más información acerca de esta variable de preferencia, vea about_Parameters_Default_Values.For more information about this preference variable, see about_Parameters_Default_Values.

$PSModuleAutoloadingPreference$PSModuleAutoloadingPreference

Habilita y deshabilita la importación automática de módulos en la sesión.Enables and disables automatic importing of modules in the session. All es el valor predeterminado.All is the default. Independientemente del valor de la variable, puede usar Import-Module para importar un módulo.Regardless of the variable's value, you can use Import-Module to import a module.

Los valores válidos son:Valid values are:

  • Todos: los módulos se importan automáticamente en el primer uso.All : Modules are imported automatically on first-use. Para importar un módulo, obtenga o use cualquier comando del módulo.To import a module, get or use any command in the module. Por ejemplo, use Get-Command.For example, use Get-Command.
  • ModuleQualified : los módulos se importan automáticamente solo cuando un usuario usa el nombre completo del módulo de un comando en el módulo.ModuleQualified : Modules are imported automatically only when a user uses the module-qualified name of a command in the module. Por ejemplo, si el usuario escribe MyModule\MyCommand , PowerShell importa el MyModule módulo mymodule.For example, if the user types MyModule\MyCommand, PowerShell imports the MyModule module.
  • Ninguno : la importación automática de módulos está deshabilitada en la sesión.None : Automatic importing of modules is disabled in the session. Para importar un módulo, use el Import-Module cmdlet.To import a module, use the Import-Module cmdlet.

Para obtener más información sobre la importación automática de módulos, consulte about_Modules.For more information about automatic importing of modules, see about_Modules.

$PSSessionApplicationName$PSSessionApplicationName

Especifica el nombre de aplicación predeterminado para un comando remoto que usa la tecnología de servicios web para administración (WS-Management).Specifies the default application name for a remote command that uses Web Services for Management (WS-Management) technology. Para obtener más información, vea acerca de administración remota de Windows.For more information, see About Windows Remote Management.

El nombre de aplicación predeterminado del sistema es WSMAN , pero puede usar esta variable de preferencia para cambiar el valor predeterminado.The system default application name is WSMAN, but you can use this preference variable to change the default.

El nombre de la aplicación es el último nodo de un URI de conexión.The application name is the last node in a connection URI. Por ejemplo, el nombre de la aplicación en el URI de ejemplo siguiente es WSMAN .For example, the application name in the following sample URI is WSMAN.

http://Server01:8080/WSMAN

El nombre predeterminado de la aplicación se usa cuando el comando remoto no especifica un URI de conexión o un nombre de aplicación.The default application name is used when the remote command doesn't specify a connection URI or an application name.

El servicio WinRM usa el nombre de la aplicación para seleccionar un agente de escucha que atienda la solicitud de conexión.The WinRM service uses the application name to select a listener to service the connection request. El valor del parámetro debe coincidir con el valor de la propiedad URLPrefix de un agente de escucha en el equipo remoto.The parameter's value should match the value of the URLPrefix property of a listener on the remote computer.

Para invalidar el valor predeterminado del sistema y el valor de esta variable y seleccionar un nombre de aplicación diferente para una sesión determinada, use los parámetros ConnectionURI o applicationName de los cmdlets New-pssession, Enter-pssessiono Invoke-Command .To override the system default and the value of this variable, and select a different application name for a particular session, use the ConnectionURI or ApplicationName parameters of the New-PSSession, Enter-PSSession, or Invoke-Command cmdlets.

La $PSSessionApplicationName variable de preferencia está establecida en el equipo local, pero especifica un agente de escucha en el equipo remoto.The $PSSessionApplicationName preference variable is set on the local computer, but it specifies a listener on the remote computer. Si el nombre de la aplicación que especifica no existe en el equipo remoto, se produce un error en el comando para establecer la sesión.If the application name that you specify doesn't exist on the remote computer, the command to establish the session fails.

$PSSessionConfigurationName$PSSessionConfigurationName

Especifica la configuración de sesión predeterminada que se usa para PSSessions creada en la sesión actual.Specifies the default session configuration that is used for PSSessions created in the current session.

Esta variable de preferencia está establecida en el equipo local, pero especifica una configuración de sesión que se encuentra en el equipo remoto.This preference variable is set on the local computer, but it specifies a session configuration that's located on the remote computer.

El valor de la $PSSessionConfigurationName variable es un URI de recurso completo.The value of the $PSSessionConfigurationName variable is a fully qualified resource URI.

El valor predeterminado http://schemas.microsoft.com/PowerShell/microsoft.PowerShell indica la configuración de sesión Microsoft. PowerShell en el equipo remoto.The default value http://schemas.microsoft.com/PowerShell/microsoft.PowerShell indicates the Microsoft.PowerShell session configuration on the remote computer.

Si especifica solo un nombre de configuración, se antepone el siguiente URI de esquema:If you specify only a configuration name, the following schema URI is prepended:

http://schemas.microsoft.com/PowerShell/

Puede invalidar el valor predeterminado y seleccionar una configuración de sesión diferente para una sesión determinada mediante el parámetro ConfigurationName de New-PSSession los Enter-PSSession Invoke-Command cmdlets, o.You can override the default and select a different session configuration for a particular session by using the ConfigurationName parameter of the New-PSSession, Enter-PSSession, or Invoke-Command cmdlets.

Puede cambiar el valor de esta variable en cualquier momento.You can change the value of this variable at any time. Cuando lo haga, recuerde que la configuración de sesión que seleccione debe existir en el equipo remoto.When you do, remember that the session configuration that you select must exist on the remote computer. Si no es así, se produce un error en el comando para crear una sesión que usa la configuración de sesión.If it doesn't, the command to create a session that uses the session configuration fails.

Esta variable de preferencia no determina qué configuraciones de sesión locales se usan cuando los usuarios remotos crean una sesión que se conecta a este equipo.This preference variable doesn't determine which local session configurations are used when remote users create a session that connects to this computer. Sin embargo, puede usar los permisos de las configuraciones de sesión local para determinar qué usuarios pueden utilizarlos.However, you can use the permissions for the local session configurations to determine which users may use them.

$PSSessionOption$PSSessionOption

Establece los valores predeterminados para opciones de usuario avanzadas en una sesión remota.Establishes the default values for advanced user options in a remote session. Estas preferencias de opción invalidan los valores predeterminados del sistema para las opciones de sesión.These option preferences override the system default values for session options.

La $PSSessionOption variable contiene un objeto PSSessionOption .The $PSSessionOption variable contains a PSSessionOption object. Para obtener más información, vea System. Management. Automation. Remoting. PSSessionOption.For more information, see System.Management.Automation.Remoting.PSSessionOption. Cada propiedad del objeto representa una opción de sesión.Each property of the object represents a session option. Por ejemplo, la propiedad NoCompression convierte la compresión de datos durante la sesión.For example, the NoCompression property turns of data compression during the session.

De forma predeterminada, la $PSSessionOption variable contiene un objeto PSSessionOption con los valores predeterminados para todas las opciones, como se muestra a continuación.By default, the $PSSessionOption variable contains a PSSessionOption object with the default values for all options, as shown below.

MaximumConnectionRedirectionCount : 5
NoCompression                     : False
NoMachineProfile                  : False
ProxyAccessType                   : None
ProxyAuthentication               : Negotiate
ProxyCredential                   :
SkipCACheck                       : False
SkipCNCheck                       : False
SkipRevocationCheck               : False
OperationTimeout                  : 00:03:00
NoEncryption                      : False
UseUTF16                          : False
IncludePortInSPN                  : False
OutputBufferingMode               : None
Culture                           :
UICulture                         :
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize         : 209715200
ApplicationArguments              :
OpenTimeout                       : 00:03:00
CancelTimeout                     : 00:01:00
IdleTimeout                       : -00:00:00.0010000

Para obtener descripciones de estas opciones y más información, consulte New-PSSessionOption.For descriptions of these options and more information, see New-PSSessionOption. Para obtener más información sobre los comandos y las sesiones remotos, vea about_Remote y about_PSSessions.For more information about remote commands and sessions, see about_Remote and about_PSSessions.

Para cambiar el valor de la $PSSessionOption variable de preferencia, use el New-PSSessionOption cmdlet para crear un objeto PSSessionOption con los valores de opción que prefiera.To change the value of the $PSSessionOption preference variable, use the New-PSSessionOption cmdlet to create a PSSessionOption object with the option values you prefer. Guarde la salida en una variable denominada $PSSessionOption .Save the output in a variable called $PSSessionOption.

$PSSessionOption = New-PSSessionOption -NoCompression

Para usar la $PSSessionOption variable de preferencia en cada sesión de PowerShell, agregue un New-PSSessionOption comando que cree la $PSSessionOption variable a su perfil de PowerShell.To use the $PSSessionOption preference variable in every PowerShell session, add a New-PSSessionOption command that creates the $PSSessionOption variable to your PowerShell profile. Para obtener más información, vea about_Profiles.For more information, see about_Profiles.

Puede establecer opciones personalizadas para una sesión remota determinada.You can set custom options for a particular remote session. Las opciones que establezca tienen prioridad sobre los valores predeterminados del sistema y el valor de la $PSSessionOption variable de preferencia.The options that you set take precedence over the system defaults and the value of the $PSSessionOption preference variable.

Para establecer las opciones de sesión personalizadas, use el New-PSSessionOption cmdlet para crear un objeto PSSessionOption .To set custom session options, use the New-PSSessionOption cmdlet to create a PSSessionOption object. A continuación, use el objeto PSSessionOption como el valor del parámetro SessionOption en cmdlets que crean una sesión, como New-PSSession , Enter-PSSession y Invoke-Command .Then, use the PSSessionOption object as the value of the SessionOption parameter in cmdlets that create a session, such as New-PSSession, Enter-PSSession, and Invoke-Command.

$Transcript$Transcript

Utilizado por Start-Transcript para especificar el nombre y la ubicación del archivo de transcripción.Used by Start-Transcript to specify the name and location of the transcript file. Si no especifica un valor para el parámetro path , Start-Transcript utiliza la ruta de acceso en el valor de la $Transcript variable global.If you do not specify a value for the Path parameter, Start-Transcript uses the path in the value of the $Transcript global variable. Si no ha creado esta variable, Start-Transcript almacena las transcripciones en el $Home\My Documents directorio como \PowerShell_transcript.<time-stamp>.txt archivos.If you have not created this variable, Start-Transcript stores the transcripts in the $Home\My Documents directory as \PowerShell_transcript.<time-stamp>.txt files.

$VerbosePreference$VerbosePreference

Determina el modo en que PowerShell responde a los mensajes detallados generados por un script, un cmdlet o un proveedor, como los mensajes generados por el cmdlet Write-verbose .Determines how PowerShell responds to verbose messages generated by a script, cmdlet, or provider, such as the messages generated by the Write-Verbose cmdlet. Los mensajes detallados describen las acciones realizadas para ejecutar un comando.Verbose messages describe the actions performed to execute a command.

De forma predeterminada, los mensajes detallados no se muestran, pero puede cambiar este comportamiento cambiando el valor de $VerbosePreference .By default, verbose messages aren't displayed, but you can change this behavior by changing the value of $VerbosePreference.

Puede usar el parámetro común verbose de un cmdlet para mostrar u ocultar los mensajes detallados de un comando específico.You can use the Verbose common parameter of a cmdlet to display or hide the verbose messages for a specific command. Para obtener más información, consulta about_CommonParameters.For more information, see about_CommonParameters.

Los valores válidos son los siguientes:The valid values are as follows:

  • Detener : muestra el mensaje detallado y un mensaje de error y, a continuación, deja de ejecutarse.Stop : Displays the verbose message and an error message and then stops executing.
  • Consulta : muestra el mensaje detallado y, a continuación, muestra un mensaje que le pregunta si desea continuar.Inquire : Displays the verbose message and then displays a prompt that asks you whether you want to continue.
  • Continuar : muestra el mensaje detallado y continúa con la ejecución.Continue : Displays the verbose message and then continues with execution.
  • SilentlyContinue : (valor predeterminado) no muestra el mensaje detallado.SilentlyContinue : (Default) Doesn't display the verbose message. Continúa la ejecución.Continues executing.

EjemplosExamples

En estos ejemplos se muestra el efecto de los diferentes valores de $VerbosePreference y el parámetro verbose para invalidar el valor de preferencia.These examples show the effect of the different values of $VerbosePreference and the Verbose parameter to override the preference value.

En este ejemplo se muestra el efecto del valor SilentlyContinue , que es el valor predeterminado.This example shows the effect of the SilentlyContinue value, that is the default. El comando usa el parámetro Message , pero no escribe un mensaje en la consola de PowerShell.The command uses the Message parameter, but doesn't write a message to the PowerShell console.

Write-Verbose -Message "Verbose message test."

Cuando se usa el parámetro verbose , se escribe el mensaje.When the Verbose parameter is used, the message is written.

Write-Verbose -Message "Verbose message test." -Verbose
VERBOSE: Verbose message test.

En este ejemplo se muestra el efecto del valor continue .This example shows the effect of the Continue value. La $VerbosePreference variable se establece en continue y se muestra el mensaje.The $VerbosePreference variable is set to Continue and the message is displayed.

$VerbosePreference = "Continue"
Write-Verbose -Message "Verbose message test."
VERBOSE: Verbose message test.

En este ejemplo se usa el parámetro verbose con un valor de $false que invalida el valor continue .This example uses the Verbose parameter with a value of $false that overrides the Continue value. No se muestra el mensaje.The message isn't displayed.

Write-Verbose -Message "Verbose message test." -Verbose:$false

En este ejemplo se muestra el efecto del valor de detención .This example shows the effect of the Stop value. La $VerbosePreference variable se establece en Stop y se muestra el mensaje.The $VerbosePreference variable is set to Stop and the message is displayed. El comando está detenido.The command is stopped.

$VerbosePreference = "Stop"
Write-Verbose -Message "Verbose message test."
VERBOSE: Verbose message test.
Write-Verbose : The running command stopped because the preference variable
  "VerbosePreference" or common parameter is set to Stop: Verbose message test.
At line:1 char:1
+ Write-Verbose -Message "Verbose message test."

En este ejemplo se usa el parámetro verbose con un valor de $false que invalida el valor de detención .This example uses the Verbose parameter with a value of $false that overrides the Stop value. No se muestra el mensaje.The message isn't displayed.

Write-Verbose -Message "Verbose message test." -Verbose:$false

En este ejemplo se muestra el efecto del valor de la consulta .This example shows the effect of the Inquire value. La $VerbosePreference variable se establece en consulta.The $VerbosePreference variable is set to Inquire. Se muestra el mensaje y se solicita confirmación al usuario.The message is displayed and the user is prompted for confirmation.

$VerbosePreference = "Inquire"
Write-Verbose -Message "Verbose message test."
VERBOSE: Verbose message test.

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [?] Help (default is "Y"):

En este ejemplo se usa el parámetro verbose con un valor de $false que invalida el valor de la consulta .This example uses the Verbose parameter with a value of $false that overrides the Inquire value. No se solicita confirmación al usuario y no se muestra el mensaje.The user isn't prompted and the message isn't displayed.

Write-Verbose -Message "Verbose message test." -Verbose:$false

$WarningPreference$WarningPreference

Determina el modo en que PowerShell responde a los mensajes de advertencia generados por un script, un cmdlet o un proveedor, como los mensajes generados por el cmdlet Write-Warning .Determines how PowerShell responds to warning messages generated by a script, cmdlet, or provider, such as the messages generated by the Write-Warning cmdlet.

De forma predeterminada, se muestran los mensajes de advertencia y la ejecución continúa, pero puede cambiar este comportamiento cambiando el valor de $WarningPreference .By default, warning messages are displayed and execution continues, but you can change this behavior by changing the value of $WarningPreference.

Puede usar el parámetro común WarningAction de un cmdlet para determinar cómo responde PowerShell a las advertencias de un comando determinado.You can use the WarningAction common parameter of a cmdlet to determine how PowerShell responds to warnings from a particular command. Para obtener más información, consulta about_CommonParameters.For more information, see about_CommonParameters.

Los valores válidos son los siguientes:The valid values are as follows:

  • Detener : muestra el mensaje de advertencia y un mensaje de error y, a continuación, deja de ejecutarse.Stop : Displays the warning message and an error message and then stops executing.
  • Consulta : muestra el mensaje de advertencia y, a continuación, solicita permiso para continuar.Inquire : Displays the warning message and then prompts for permission to continue.
  • Continuar : (valor predeterminado) muestra el mensaje de advertencia y sigue ejecutándose.Continue : (Default) Displays the warning message and then continues executing.
  • SilentlyContinue : no muestra el mensaje de advertencia.SilentlyContinue : Doesn't display the warning message. Continúa la ejecución.Continues executing.

EjemplosExamples

En estos ejemplos se muestra el efecto de los diferentes valores de $WarningPreference .These examples show the effect of the different values of $WarningPreference. El parámetro WarningAction invalida el valor de preferencia.The WarningAction parameter overrides the preference value.

En este ejemplo se muestra el efecto del valor predeterminado, continue.This example shows the effect of the default value, Continue.

$m = "This action can delete data."
Write-Warning -Message $m
WARNING: This action can delete data.

En este ejemplo se usa el parámetro WarningAction con el valor SilentlyContinue para suprimir la advertencia.This example uses the WarningAction parameter with the value SilentlyContinue to suppress the warning. No se muestra el mensaje.The message isn't displayed.

$m = "This action can delete data."
Write-Warning -Message $m -WarningAction SilentlyContinue

En este ejemplo se cambia la $WarningPreference variable al valor SilentlyContinue .This example changes the $WarningPreference variable to the SilentlyContinue value. No se muestra el mensaje.The message isn't displayed.

$WarningPreference = "SilentlyContinue"
$m = "This action can delete data."
Write-Warning -Message $m

En este ejemplo se usa el parámetro WarningAction para detenerse cuando se genera una advertencia.This example uses the WarningAction parameter to stop when a warning is generated.

$m = "This action can delete data."
Write-Warning -Message $m -WarningAction Stop
WARNING: This action can delete data.
Write-Warning : The running command stopped because the preference variable
  "WarningPreference" or common parameter is set to Stop:
    This action can delete data.
At line:1 char:1
+ Write-Warning -Message $m -WarningAction Stop

En este ejemplo se cambia la $WarningPreference variable al valor de la consulta .This example changes the $WarningPreference variable to the Inquire value. Se solicita confirmación al usuario.The user is prompted for confirmation.

$WarningPreference = "Inquire"
$m = "This action can delete data."
Write-Warning -Message $m
WARNING: This action can delete data.

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [?] Help (default is "Y"):

En este ejemplo se usa el parámetro WarningAction con el valor SilentlyContinue.This example uses the WarningAction parameter with the value SilentlyContinue. El comando continúa ejecutándose y no se muestra ningún mensaje.The command continues to execute and no message is displayed.

$m = "This action can delete data."
Write-Warning -Message $m -WarningAction SilentlyContinue

En este ejemplo se cambia el $WarningPreference valor de a Stop.This example changes the $WarningPreference value to Stop.

$WarningPreference = "Stop"
$m = "This action can delete data."
Write-Warning -Message $m
WARNING: This action can delete data.
Write-Warning : The running command stopped because the preference variable
  "WarningPreference" or common parameter is set to Stop:
    This action can delete data.
At line:1 char:1
+ Write-Warning -Message $m

En este ejemplo se usa WarningAction con el valor de la consulta .This example uses the WarningAction with the Inquire value. Se pregunta al usuario cuando se produce una advertencia.The user is prompted when a warning occurs.

$m = "This action can delete data."
Write-Warning -Message $m -WarningAction Inquire
WARNING: This action can delete data.

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [?] Help (default is "Y"):

$Whatifpreference escribiéndola$WhatIfPreference

Determina si Whatif se habilita automáticamente para cada comando que lo admita.Determines whether WhatIf is automatically enabled for every command that supports it. Cuando Whatif está habilitado, el cmdlet informa del efecto esperado del comando, pero no ejecuta el comando.When WhatIf is enabled, the cmdlet reports the expected effect of the command, but doesn't execute the command.

Los valores válidos son los siguientes:The valid values are as follows:

  • False ( 0 , no habilitado): (valor predeterminado) Whatif no se habilita automáticamente.False ( 0 , not enabled): (Default) WhatIf isn't automatically enabled. Para habilitarlo manualmente, use el parámetro Whatif del cmdlet.To enable it manually, use the cmdlet's WhatIf parameter.
  • True ( 1 , habilitado): Whatif se habilita automáticamente en cualquier comando que lo admita.True ( 1 , enabled): WhatIf is automatically enabled on any command that supports it. Los usuarios pueden usar el parámetro Whatif con un valor false para deshabilitarlo manualmente, como -WhatIf:$false .Users can use the WhatIf parameter with a value of False to disable it manually, such as -WhatIf:$false.

EjemplosExamples

En estos ejemplos se muestra el efecto de los diferentes valores de $WhatIfPreference .These examples show the effect of the different values of $WhatIfPreference. Muestran cómo usar el parámetro Whatif para invalidar el valor de preferencia de un comando específico.They show how to use the WhatIf parameter to override the preference value for a specific command.

En este ejemplo se muestra el efecto de la $WhatIfPreference variable establecida en el valor predeterminado, false.This example shows the effect of the $WhatIfPreference variable set to the default value, False. Use Get-ChildItem para comprobar que el archivo existe.Use Get-ChildItem to verify that the file exists. Remove-Item elimina el archivo.Remove-Item deletes the file. Una vez eliminado el archivo, puede comprobar la eliminación con Get-ChildItem .After the file is deleted, you can verify the deletion with Get-ChildItem.

Get-ChildItem -Path .\test.txt
Remove-Item -Path ./test.txt
    Directory: C:\Test

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           9/13/2019    10:53             10 test.txt
Get-ChildItem -Path .\test.txt
Get-ChildItem : Cannot find path 'C:\Test\test.txt' because it does not exist.
At line:1 char:1
+ Get-ChildItem -File test.txt

En este ejemplo se muestra el efecto de usar el parámetro Whatif cuando el valor de $WhatIfPreference es false.This example shows the effect of using the WhatIf parameter when the value of $WhatIfPreference is False.

Compruebe si el archivo existe.Verify that the file exists.

Get-ChildItem -Path .\test2.txt
    Directory: C:\Test

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           2/28/2019    17:06             12 test2.txt

Use el parámetro Whatif para determinar el resultado de intentar eliminar el archivo.Use the WhatIf parameter to determine the result of attempting to delete the file.

Remove-Item -Path .\test2.txt -WhatIf
What if: Performing the operation "Remove File" on target "C:\Test\test2.txt".

Compruebe que el archivo no se eliminó.Verify that the file wasn't deleted.

Get-ChildItem -Path .\test2.txt
    Directory: C:\Test

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           2/28/2019    17:06             12 test2.txt

En este ejemplo se muestra el efecto de la $WhatIfPreference variable establecida en el valor true.This example shows the effect of the $WhatIfPreference variable set to the value, True. Cuando se usa Remove-Item para eliminar un archivo, se muestra la ruta de acceso del archivo, pero el archivo no se elimina.When you use Remove-Item to delete a file, the file's path is displayed, but the file isn't deleted.

Intenta eliminar un archivo.Attempt to delete a file. Se muestra un mensaje acerca de lo que sucedería si Remove-Item se ejecutara, pero el archivo no se elimina.A message is displayed about what would happen if Remove-Item was run, but the file isn't deleted.

$WhatIfPreference = "True"
Remove-Item -Path .\test2.txt
What if: Performing the operation "Remove File" on target "C:\Test\test2.txt".

Use Get-ChildItem para comprobar que el archivo no se eliminó.Use Get-ChildItem to verify that the file wasn't deleted.

Get-ChildItem -Path .\test2.txt
    Directory: C:\Test

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---           2/28/2019    17:06             12 test2.txt

En este ejemplo se muestra cómo eliminar un archivo cuando el valor de $WhatIfPreference es true.This example shows how to delete a file when the value of $WhatIfPreference is True. Usa el parámetro Whatif con un valor de $false .It uses the WhatIf parameter with a value of $false. Use Get-ChildItem para comprobar que el archivo se ha eliminado.Use Get-ChildItem to verify the file was deleted.

Remove-Item -Path .\test2.txt -WhatIf:$false
Get-ChildItem -Path .\test2.txt
Get-ChildItem : Cannot find path 'C:\Test\test2.txt' because it does not exist.
At line:1 char:1
+ Get-ChildItem -Path .\test2.txt

A continuación se muestran ejemplos del Get-Process cmdlet que no admite Whatif y Stop-Process que admite Whatif.The following are examples of the Get-Process cmdlet that doesn't support WhatIf and Stop-Process that does support WhatIf. El $WhatIfPreference valor de la variable es true.The $WhatIfPreference variable's value is True.

Get-Process no es compatible con Whatif.Get-Process doesn't support WhatIf. Cuando se ejecuta el comando, se muestra el proceso Winword .When the command is executed, it displays the Winword process.

Get-Process -Name Winword
 NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
    130   119.84     173.38       8.39   15024   4 WINWORD

Stop-Process admite Whatif.Stop-Process does support WhatIf. El proceso Winword no se ha detenido.The Winword process isn't stopped.

Stop-Process -Name Winword
What if: Performing the operation "Stop-Process" on target "WINWORD (15024)".

Puede invalidar el Stop-Process comportamiento Whatif mediante el uso del parámetro Whatif con un valor de $false .You can override the Stop-Process WhatIf behavior by using the WhatIf parameter with a value of $false. El proceso Winword está detenido.The Winword process is stopped.

Stop-Process -Name Winword -WhatIf:$false

Para comprobar que se ha detenido el proceso Winword , use Get-Process .To verify that the Winword process was stopped, use Get-Process.

Get-Process -Name Winword
Get-Process : Cannot find a process with the name "Winword".
  Verify the process name and call the cmdlet again.
At line:1 char:1
+ Get-Process -Name Winword

Consulte tambiénSee also

about_Automatic_Variablesabout_Automatic_Variables

about_CommonParametersabout_CommonParameters

about_Environment_Variablesabout_Environment_Variables

about_Profilesabout_Profiles

about_Remoteabout_Remote

about_Scopesabout_Scopes

about_Variablesabout_Variables