Está en la página 1de 27

TEMA

Variables de preferencia
DESCRIPCIN BREVE
Son variables que personalizan el comportamiento de Windows
PowerShell.
DESCRIPCIN DETALLADA
Windows PowerShell incluye un conjunto de variables que permiten
personalizar su comportamiento. Estas "variables de preferencia"
funcionan de la misma manera que las opciones en los sistemas
basados en GUI.
Las variables de preferencia afectan al entorno operativo de
Windows PowerShell y a todos los comandos que se ejecutan en el
entorno. En muchos casos, los cmdlets tienen parmetros que se
pueden usar para invalidar el comportamiento de preferencia de un
comando concreto.
En la tabla siguiente se muestran las variables de preferencia y
sus valores predeterminados.
Variable
-------$ConfirmPreference
$DebugPreference
$ErrorActionPreference
$ErrorView
$FormatEnumerationLimit
$LogCommandHealthEvent
$LogCommandLifecycleEvent
$LogEngineHealthEvent
$LogEngineLifecycleEvent
$LogProviderLifecycleEvent
$LogProviderHealthEvent
$MaximumAliasCount
$MaximumDriveCount
$MaximumErrorCount
$MaximumFunctionCount
$MaximumHistoryCount
$MaximumVariableCount
$OFS
$OutputEncoding
$ProgressPreference
$PSEmailServer
$PSSessionApplicationName
$PSSessionConfigurationName
/microsoft.powershell
$PSSessionOption
$VerbosePreference
$WarningPreference
$WhatIfPreference

Valor predeterminado
------------High
SilentlyContinue
Continue
NormalView
4
False (no se produce el registro)
False (no se produce el registro)
True (se produce el registro)
True (se produce el registro)
True (se produce el registro)
True (se produce el registro)
4096
4096
256
4096
64
4096
(Carcter de espacio (" "))
Objeto ASCIIEncoding
Continue
(Ninguno)
WSMAN
http://schemas.microsoft.com/powershell
(Ver ms abajo)
SilentlyContinue
Continue
0

Windows PowerShell tambin incluye las siguientes variables de


entorno que almacenan las preferencias del usuario. Para obtener
ms informacin sobre las variables de entorno, vea
about_environment_variables.
Variable

-------PSModulePath
USAR VARIABLES DE PREFERENCIA
En este documento se describe cada una de las variables de
preferencia.
Para mostrar el valor actual de una variable de preferencia
concreta, escriba el nombre de la variable. Windows PowerShell
proporcionar el valor. Por ejemplo, el comando siguiente muestra
el valor de la variable $ConfirmPreference.
PS> $ConfirmPreference
High
Para cambiar el valor de una variable, use una instruccin de
asignacin. Por ejemplo, la instruccin siguiente asigna el valor
"Medium" a la variable $ConfirmPreference.
PS> $ConfirmPreference = "Medium"
Al igual que todas las variables, los valores que se establecen
son especficos de la ventana actual de Windows PowerShell. Para
que se apliquen en todas las ventanas de Windows PowerShell, debe
agregarlos a su perfil de Windows PowerShell. Para obtener ms
informacin, vea about_profiles.
TRABAJAR DE FORMA REMOTA
Cuando se ejecutan comandos remotos en un equipo remoto, los
comandos remotos solo estn sujetos al conjunto de preferencias en
el cliente de Windows PowerShell del equipo remoto. Por ejemplo,
cuando se ejecuta un comando remoto, el valor de la variable
$DebugPreference en el equipo remoto determina cmo Windows
PowerShell responde a los mensajes de depuracin.
Para obtener ms informacin sobre los comandos remotos, vea
about_remote.

$ConfirmPreference
-----------------Determina qu acciones de cmdlet solicitan automticamente la
confirmacin del usuario antes de que se realicen.
Cuando el valor de $ConfirmPreference (High, Medium, Low, None)
es igual o mayor que el riesgo de la accin del cmdlet (High,
Medium, Low, None), Windows PowerShell solicita automticamente
la confirmacin del usuario antes de realizar la accin.
Se puede usar el parmetro Confirm de un cmdlet a fin de
invalidar la preferencia para un comando concreto.
Valores vlidos:
None:
no se confirma automticamente ninguna accin
de cmdlet. Los usuarios deben utilizar el
parmetro Confirm para solicitar la confirmacin
de comandos concretos.

Low:

se confirman automticamente las acciones de


cmdlet con un riesgo bajo, medio o alto.
Para suprimir la confirmacin de un comando
concreto, utilice -Confirm:$false.

Medium:

se confirman automticamente las acciones


de cmdlet con un riesgo medio o alto.
Para habilitar la confirmacin de un comando
concreto, utilice -confirm. Para suprimir
la confirmacin de un comando concreto,
utilice -confirm:$false.

High:
se confirman automticamente las
(valor
acciones de cmdlet con un riesgo alto.
predeterminado) Para habilitar la confirmacin de
un comando concreto, utilice -confirm.
Para suprimir la confirmacin de un comando
concreto, utilice -confirm:$false.
EXPLICACIN DETALLADA
Cuando una accin de cmdlet afecta al sistema de manera
significativa (por ejemplo, eliminando datos o usando una
cantidad importante de recursos del sistema), Windows
PowerShell puede solicitar automticamente la confirmacin
antes de realizar la accin.
Por ejemplo:
PS> remove-item pref2.txt
Confirmar
Est seguro de que desea realizar esta accin?
Se est realizando la operacin "Quitar archivo" en el
destino "C:\pref2.txt".
[S] S [O] S a todo [N] No [T] No a todo [U] Suspender
[?] Ayuda (el valor predeterminado es "S"):
La estimacin del riesgo forma parte del cmdlet y se conoce
como "ConfirmImpact". No se puede cambiar.
El cmdlet que podra suponer un riesgo para el sistema tiene
un parmetro Confirm que se puede usar para solicitar o
suprimir la confirmacin de un comando concreto.
Dado que la mayora de los cmdlets utilizan el valor de riesgo
predeterminado Medium y el valor predeterminado de $ConfirmPreference
es High, la confirmacin automtica se produce en raras ocasiones.
No obstante, se puede activar la confirmacin automtica cambiando
el valor de $ConfirmPreference a Medium o Low.
EJEMPLOS
En este ejemplo se muestra el efecto del valor predeterminado
de $ConfirmPreference. El valor High solo confirma las acciones
de cmdlet de alto riesgo. Dado que la mayora de las acciones
constituyen un riesgo medio, no se confirman automticamente,
si bien se puede usar el parmetro Confirm del cmdlet para
solicitar la confirmacin de un comando concreto.
PS> $confirmpreference

#Obtener el valor

High

actual de la variable.

PS> remove-item temp1.txt


#Eliminar un archivo.
PS>
#Se ha eliminado sin confirmacin.
PS> remove-item temp2.txt -confirm #Usar el parmetro Confirm.
Confirmar
Est seguro de que desea realizar esta accin?
Se est realizando la operacin "Quitar archivo" en el
destino "C:\temp2.txt".
[S] S [O] S a todo [N] No [T] No a todo [U] Suspender
[?] Ayuda (el valor predeterminado es "S"):
En este ejemplo se muestra el efecto de cambiar el valor de
$ConfirmPreference a Medium. Dado que la mayora de las
acciones de cmdlet constituyen un riesgo medio, se confirman
automticamente y se ha de usar el parmetro Confirm con el
valor $false para suprimir la solicitud de confirmacin de un
comando concreto.
PS> $confirmpreference = "Medium"
# Cambiar el valor de $ConfirmPreference.
PS> remove-item temp2.txt
# La eliminacin de un archivo
desencadena la confirmacin.
Confirmar
Est seguro de que desea realizar esta accin?
Se est realizando la operacin "Quitar archivo" en el
destino "C:\temp2.txt".
[S] S [O] S a todo [N] No [T] No a todo [U] Suspender
[?] Ayuda (el valor predeterminado es "S"):
PS> remove-item temp3.txt -confirm:$false #Usar el parmetro
Confirm para suprimir
la confirmacin
PS>
$DebugPreference
-----------------Determina cmo Windows PowerShell responde a los mensajes de
depuracin generados por un script, cmdlet o proveedor,
o bien, por un comando Write-Debug en la lnea de comandos.
Algunos cmdlets muestran mensajes de depuracin, que suelen
ser mensajes muy tcnicos diseados para programadores y
profesionales de soporte tcnico. De forma predeterminada, no
se muestran los mensajes de depuracin. Para mostrarlos, se
ha de cambiar el valor de $DebugPreference.
Asimismo, se puede usar el parmetro comn Debug de un cmdlet
para mostrar u ocultar los mensajes de depuracin de un
comando concreto. Para obtener ms informacin,
escriba "get-help about_commonparameters".
Valores vlidos:
Stop:

se muestra el mensaje de depuracin


y se detiene la ejecucin.

Se escribe un error en la consola.


Inquire:

se muestra el mensaje de
depuracin y se pregunta
al usuario si desea continuar.

Continue:

se muestra el mensaje de
depuracin y contina la ejecucin.

SilentlyContinue
no produce ningn efecto.
(valor predeterminado): No se muestra el mensaje de depuracin
y la ejecucin contina sin interrupcin.
EJEMPLOS
En los ejemplos siguientes se muestra el efecto de cambiar los
valores de $DebugPreference cuando se escribe un comando
Write-Debug en la lnea de comandos. El cambio afecta a todos los
mensajes de depuracin, incluidos los generados por cmdlets
y scripts. En los ejemplos tambin se muestra el uso del parmetro
comn Debug, que muestra u oculta los mensajes de depuracin
relacionados con un comando concreto.
En este ejemplo se muestra el efecto del valor predeterminado,
"SilentlyContinue". No se muestra el mensaje de depuracin y
contina el procesamiento. El comando final utiliza el parmetro
Debug a fin de invalidar la preferencia para un comando concreto.
PS> $debugpreference
SilentlyContinue

# Obtener el valor actual de


$DebugPreference

PS> write-debug "Hola a todos"


PS>

# No se muestra el mensaje
de depuracin.

PS> write-debug "Hola a todos" -Debug


DEPURACIN: Hola a todos

# Usar el parmetro Debug.


# Se solicita el
mensaje de depuracin.

Confirmar?
Desea continuar con la operacin?
[S] S [O] S a todo [I] Interrumpir comando [U] Suspender
[?] Ayuda (el valor predeterminado es "S"):
En este ejemplo se muestra el efecto del valor "Continue".
El comando final utiliza el parmetro Debug con el valor $false
a fin de suprimir el mensaje para un comando concreto.
PS> $debugpreference = "Continue" # Cambiar el valor a "Continue".
PS> write-debug "Hola a todos"
DEPURACIN: Hola a todos
PS>

# Se muestra el mensaje de depuracin


y contina el procesamiento.

PS> write-debug "Hola a todos" -Debug:$false


# Usar el parmetro Debug
con el valor false.
PS>
# No se muestra el mensaje

de depuracin.
En este ejemplo se muestra el efecto del valor "Stop". El comando
final utiliza el parmetro Debug con el valor $false a fin de
suprimir el mensaje para un comando concreto.
PS> $debugpreference = "Stop"
# Cambiar el valor a "Stop".
PS> write-debug "Hola a todos"
DEPURACIN: Hola a todos
Write-Debug : Se detuvo la ejecucin del comando porque la
variable de shell "DebugPreference" est establecida en Stop.
En lnea:1 carcter:12
+ write-debug <<<< "Hola a todos"
PS> write-debug "Hola a todos" -Debug:$false
# Usar el parmetro Debug
con $false.
PS>
# No se muestra el mensaje
de depuracin y no se detiene
el procesamiento.
En este ejemplo se muestra el efecto del valor "Inquire". El
comando final utiliza el parmetro Debug con el valor $false
a fin de suprimir el mensaje para un comando concreto.
PS> $debugpreference = "Inquire"
PS> write-debug "Hola a todos"
DEPURACIN: Hola a todos
Confirmar
Desea continuar con la operacin?
[S] S [O] S a todo [I] Interrumpir comando [U] Suspender
[?] Ayuda (el valor predeterminado es "S"):
PS> write-debug "Hola a todos" -Debug:$false
# Usar el parmetro Debug
con $false.
PS>
# No se muestra el mensaje
de depuracin y contina
el procesamiento sin interrupcin.
$ErrorActionPreference
---------------------Determina cmo Windows PowerShell responde a un error que no es de
terminacin (un error que no detiene el procesamiento del cmdlet) en
la lnea de comandos o en un script, cmdlet o proveedor, como los
errores generados por el cmdlet Write-Error.
Asimismo, se puede usar el parmetro comn ErrorAction de un
cmdlet a fin de invalidar la preferencia para un comando
concreto. Para obtener ms informacin, escriba "get-help
about_commonparameters".
Valores vlidos:
Stop:

se muestra el mensaje de error y se


detiene la ejecucin.

Inquire:

se muestra el mensaje de error y


se pregunta al usuario si desea continuar.

Continue:

se muestra el mensaje de error


y contina la ejecucin.

SilentlyContinue
(valor predeterminado): no produce ningn efecto. No se muestra
el mensaje de error y la ejecucin
contina sin interrupcin.
$ErrorActionPreference y el parmetro comn ErrorAction no
afectan a la forma en que Windows PowerShell responde a los
errores de terminacin (errores que detienen el procesamiento
del cmdlet).
Para obtener ms informacin sobre el parmetro comn
ErrorAction, escriba "get-help about_commonparameters".
EJEMPLOS
En estos ejemplos se muestra el efecto de los diferentes valores de
$ErrorActionPreference y el uso del parmetro comn ErrorAction para
invalidar la preferencia para un comando concreto. El parmetro
ErrorAction tiene los mismos valores vlidos que la variable
$ErrorActionPreference.
En este ejemplo se muestra el efecto del valor Continue, que es
el valor predeterminado.
PS> $erroractionpreference
Continue
# Mostrar el valor de la preferencia.
PS> write-error "Hola a todos"
# Generar un error de no terminacin.
write-error "Hola a todos" : Hola a todos
# Se muestra el mensaje de error
y la ejecucin contina.
PS> write-error "Hola a todos" -ErrorAction:SilentlyContinue
# Usar el parmetro ErrorAction con
el valor "SilentlyContinue".
PS>
# No se muestra el mensaje de error
y la ejecucin contina.
En este ejemplo se muestra el efecto del valor SilentlyContinue.
PS> $ErrorActionPreference = "SilentlyContinue"
# Cambiar el valor de la preferencia.
PS> write-error "Hola a todos"
# Generar un mensaje de error.
PS>
# Se suprime el mensaje de error.
PS> write-error "Hola a todos" -erroraction:continue

# Usar el parmetro ErrorAction con


el valor "Continue".
write-error "Hola a todos" -erroraction:continue : Hola a todos
# Se muestra el mensaje de error
y la ejecucin contina.
En este ejemplo se muestra el efecto de un error real. En este
caso, el comando obtiene un archivo no existente, nofile.txt. En
el ejemplo tambin se utiliza el parmetro comn ErrorAction para
invalidar la preferencia.
PS> $erroractionpreference
SilentlyContinue
# Mostrar el valor de la preferencia.
PS> get-childitem -path nofile.txt
PS>
# Se suprime el mensaje de error.
PS> $ErrorActionPreference = "Continue"
# Cambiar el valor a Continue.
PS> get-childitem -path nofile.txt
Get-ChildItem : No se encuentra la ruta de acceso
'C:\nofile.txt' porque no existe.
En lnea:1 carcter:4
+ get-childitem <<<< nofile.txt
PS> get-childitem -path nofile.txt -erroraction SilentlyContinue
# Usar el parmetro ErrorAction.
PS>
# Se suprime el mensaje de error.
PS> $ErrorActionPreference = "Inquire"
# Cambiar el valor a Inquire.
PS> get-childitem -path nofile.txt
Confirmar
No se encuentra la ruta de acceso 'C:\nofile.txt'
porque no existe.
[S] S [O] S a todo [I] Interrumpir comando [S] Suspender
[?] Ayuda (el valor predeterminado es "S"): s
Get-ChildItem : No se encuentra la ruta de acceso
'C:\nofile.txt' porque no existe.
En lnea:1 carcter:4
+ get-childitem <<<< nofile.txt
PS> $ErrorActionPreference = "Continue"
# Cambiar el valor a Continue.
PS> Get-Childitem nofile.txt -erroraction "Inquire"
# Usar el parmetro ErrorAction para
invalidar el valor de preferencia.
Confirmar
No se encuentra la ruta de acceso 'C:\nofile.txt' porque no
existe.
[S] S [O] S a todo [I] Interrumpir comando [U] Suspender
[?] Ayuda (el valor predeterminado es "S"):

$ErrorView
---------Determina el formato en el que se muestran los mensajes de
error en Windows PowerShell.
Valores vlidos:
NormalView
(valor
predeterminado):

CategoryView:

es una vista detallada diseada para la


mayora de los usuarios. Consta de
una descripcin del error,
el nombre del objeto implicado en el
error y flechas (<<<<) que apuntan
a las palabras en el comando
que caus el error.
es una vista estructurada y concisa
diseada para los entornos de produccin.
El formato es: {Categora}:
({nombreDelDestino}:{tipoDelDestino}):[{Activida

d}], {Razn}
Para obtener ms informacin sobre los campos de CategoryView,
vea la clase ErrorCategoryInfo en el SDK de Windows PowerShell.
EJEMPLOS
En estos ejemplos se muestra el efecto de los valores de ErrorView.
En este ejemplo se muestra cmo aparece un error cuando el valor
de $ErrorView es NormalView. En este caso, se usa el comando
Get-ChildItem para obtener un archivo no existente.
PS> $ErrorView
NormalView

# Comprobar el valor.

PS> get-childitem nofile.txt

# Obtener un
archivo no existente.
Get-ChildItem : No se encuentra la ruta de acceso
'C:\nofile.txt' porque no existe.
En lnea:1 carcter:14
+ get-childitem <<<< nofile.txt
En este ejemplo se muestra cmo aparece el mismo error cuando el
valor de $ErrorView es CategoryView.
PS> $ErrorView = "CategoryView"

# Cambiar el valor a
CategoryView

PS> get-childitem nofile.txt


ObjectNotFound: (C:\nofile.txt:String) [Get-ChildItem],
ItemNotFoundException
En este ejemplo se muestra que el valor de ErrorView afecta
nicamente a la forma en que se muestra el error; no cambia la
estructura del objeto de error almacenado en la variable
automtica $error. Para obtener informacin sobre la variable
automtica $error, vea about_automatic_variables.
Este comando toma el objeto ErrorRecord asociado al error ms
reciente en la matriz de errores (elemento 0) y da formato de
lista a todas las propiedades del objeto de error.

PS> $error[0] | format-list -property * -force


Exception

: System.Management.Automation.ItemNotFoundException:
No se encuentra la ruta de acceso 'C:\nofile.txt' porque
no existe.
at System.Management.Automation.SessionStateInternal.GetC

hildItems(String
path, Boolean recurse, CmdletProviderContext context)
at System.Management.Automation.ChildItemCmdletProviderIn
trinsics.Get(String path,
Boolean recurse, CmdletProviderContext context)
at Microsoft.PowerShell.Commands.GetChildItemCommand.Proc
essRecord()
TargetObject
: C:\nofile.txt
CategoryInfo
: ObjectNotFound: (C:\nofile.txt:String) [Get-Chil
dItem],
ItemNotFoundException
FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetCh
ildItemCommand :
ErrorDetails
:
InvocationInfo
: System.Management.Automation.InvocationInfo
$FormatEnumerationLimit
----------------------Determina el nmero de elementos enumerados que se muestran.
Esta variable no afecta a los objetos subyacentes;
simplemente afecta a la presentacin.
Cuando el valor de $FormatEnumerationLimit es menor que el
nmero de elementos enumerados, Windows PowerShell agrega
puntos suspensivos (...) para indicar los elementos que no
se muestran.
Valores vlidos: enteros (Int32)
Valor predeterminado: 4
EJEMPLOS
En este ejemplo se muestra cmo usar la variable
$FormatEnumerationLimit para mejorar la presentacin de los
elementos enumerados.
El comando en este ejemplo genera una tabla en la que se
muestran todos los servicios que se ejecutan en el equipo en
dos grupos; uno para los servicios que se estn ejecutando y
otro para los servicios que se han detenido. Utiliza un
comando Get-Service para obtener todos los servicios y, a
continuacin, enviar los resultados a travs de la
canalizacin al cmdlet Group-Object, que agrupa los
resultados segn el estado del servicio.
Como resultado, se muestra una tabla en la que se indica el
estado en la columna Name y se especifican los procesos con
ese estado en la columna Group. (Para cambiar las etiquetas
de las columnas, utilice una tabla hash. Para obtener ms
informacin, vea los ejemplos en "get-help format-table
-examples".)
Hay un mximo de 4 servicios en la columna Group por cada

estado. Para incrementar el nmero de elementos mostrados,


aumente el valor de $FormatEnumerationLimit hasta 1000.
Como resultado, la lista en la columna Group est limitada
ahora por la longitud de las lneas. En el comando final del
ejemplo, utilice el parmetro Wrap de Format-Table para
mostrar todos los procesos en cada grupo de estado.
PS> $formatenumerationlimit
4

# Obtener el valor actual.

PS> get-service | group-object -property status


# Mostrar todos los servicios
agrupados por estado.
Count Name
----- ---60 Running

Group
----{AdtAgent, ALG, Ati HotKey Poller, Audio

41 Stopped

{Alerter, AppMgmt, aspnet_state, ATI Sma

Srv...}
rt...}
# La lista se trunca despus de
4 elementos.
PS> $formatenumerationlimit = 1000
# Aumentar el lmite hasta 1000.
PS> get-service | group-object -property status
# Repetir el comando.
Count Name Group
----- ---- ----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
# Agregar el parmetro Wrap.
Count Name
----- ---60 Running

Group
----{AdtAgent, ALG, Ati HotKey Poller, AudioSrv, BITS, CcmE

xec,
Client for NFS, CryptSvc, DcomLaunch, Dhcp, dmserver,
Dnscache, ERSvc, Eventlog, EventSystem, FwcAgent, helps
vc,
HidServ, IISADMIN, InoRPC, InoRT, InoTask, lanmanserver
,
lanmanworkstation, LmHosts, MDM, Netlogon, Netman,
Nla, NtLmSsp, PlugPlay, PolicyAgent, ProtectedStorage,
RasMan, RemoteRegistry, RpcSs, SamSs, Schedule, seclogo
n,
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, FastUserSwitchingCompa
tibi
lity, HTTPFilter, ImapiService, Mapsvc, Messenger,
mnmsrvc, MSDTC, MSIServer, msvsmon80, NetDDE, NetDDEdsd
m,
NtmsSvc, NVSvc, ose, RasAuto, RDSessMgr, RemoteAccess,
RpcLocator, RSVP, SCardSvr, SwPrv, SysmonLog, TlntSvr,
upnphost, UPS, VSS, WmdmPmSN, Wmi, WmiApSrv, xmlprov}
$Log*Event
---------Las variables de preferencia Log*Event determinan los tipos
de eventos que se escriben en el registro de eventos de
Windows PowerShell en el Visor de eventos. De forma
predeterminada, se registran nicamente los eventos del motor
y de los proveedores, pero se pueden usar las variables de
preferencia Log*Event para personalizar el registro, por
ejemplo, para que se registren los eventos de los comandos.
Las variables de preferencia Log*Event son las siguientes:
$LogCommandHealthEvent: registra los errores y excepciones
que se producen durante la inicializacin y el procesamiento
de los comandos. El valor predeterminado es $false
(no se produce el registro).
$LogCommandLifecycleEvent:
registra el inicio y la detencin de los comandos y
canalizaciones de comandos as como las excepciones
de seguridad en la deteccin de comandos. El valor
predeterminado es $false (no se produce el registro).
$LogEngineHealthEvent: registra los errores de las
sesiones. El valor predeterminado es
$true (se produce el registro).
$LogEngineLifecycleEvent: registra la apertura y el
cierre de las sesiones. El valor
predeterminado es $true (se produce el registro).
$LogProviderHealthEvent: registra los errores de los
proveedores, como errores de lectura y escritura, errores
de bsqueda y errores de invocacin. El valor
predeterminado es $true (se produce el registro).
$LogProviderLifecycleEvent: registra la adicin y la
eliminacin de proveedores de Windows PowerShell.
El valor predeterminado es $true (se produce el
registro). (Para obtener informacin sobre los
proveedores de Windows PowerShell, escriba:
"get-help about_provider".

Para habilitar una variable Log*Event, escriba la variable


con el valor $true. Por ejemplo:
$LogCommandLifeCycleEvent
- o bien,
$LogCommandLifeCycleEvent = $true
Para deshabilitar un tipo de evento, escriba la variable con
el valor $false. Por ejemplo:
$LogCommandLifeCycleEvent = $false
Los eventos habilitados se aplican nicamente a la consola
actual de Windows PowerShell. Para aplicar la configuracin a
todas las consolas, guarde la configuracin de la variable en
su perfil de Windows PowerShell.
$MaximumAliasCount
-----------------Determina el nmero de alias que se permiten en una sesin de
Windows PowerShell. El valor predeterminado, 4096, debera
ser suficiente en la mayora de los casos, pero puede
ajustarlo segn sus necesidades.
Valores vlidos: 1024 - 32768 (Int32)
Valor predeterminado: 4096
Para determinar el nmero de alias en el sistema, escriba:
(get-alias).count
$MaximumDriveCount
-----------------Determina el nmero de unidades de Windows PowerShell que se
permiten en una sesin concreta. Incluye las unidades del
sistema de archivos y los almacenes de datos que los
proveedores de Windows PowerShell exponen y que aparecen como
unidades, como las unidades Alias: y HKLM:.
Valores vlidos: 1024 - 32768 (Int32)
Valor predeterminado: 4096
Para determinar el nmero de unidades en el sistema, escriba:
(get-psdrive).count

$MaximumErrorCount
-----------------Determina el nmero de errores que se guardan en el historial
de errores de la sesin.
Valores vlidos: 256 - 32768 (Int32)
Valor predeterminado: 256

Los objetos que representan los errores se almacenan en la


variable automtica $Error. Esta variable contiene una matriz
de objetos de registro de error, uno por cada error. El error
ms reciente es el primer objeto de la matriz ($Error[0]).
Para determinar el nmero de errores en el sistema, utilice
la propiedad Count de la matriz $Error. Escriba:
$Error.count
Para mostrar un error concreto, utilice la notacin de
matriz. Por ejemplo, para ver el error ms reciente, escriba:
$Error[0]
Para mostrar el error ms antiguo que se ha guardado, escriba:
$Error[($Error.Count -1]
Para mostrar las propiedades del objeto ErrorRecord, escriba:
$Error[0] | format-list -property * -force
En este comando, el parmetro Force invalida el formato
especial de los objetos ErrorRecord y restablece el formato
convencional.
Para eliminar todos los errores del historial de errores,
utilice el mtodo Clear de la matriz de errores.
PS> $Error.count
17
PS> $Error.clear()
PS>
PS> $Error.count
0
Para obtener todos los mtodos y propiedades de una matriz
de errores, utilice el cmdlet Get-Member con el parmetro
InputObject. Cuando se canaliza una coleccin de objetos
a Get-Member, este cmdlet muestra las propiedades y los mtodos
de los objetos de la coleccin. Cuando se usa el parmetro
InputObject de Get-Member, este cmdlet muestra las propiedades
y los mtodos de la coleccin.
$MaximumFunctionCount
-----------------Determina el nmero de funciones que se permiten en una
sesin concreta.
Valores vlidos: 1024 - 32768 (Int32)
Valor predeterminado: 4096
Para ver las funciones de la sesin, utilice la unidad
Function: de Windows PowerShell expuesta por el proveedor
Function de Windows PowerShell. (Para obtener ms informacin
sobre el proveedor Function, escriba "get-help function").
Para obtener las funciones de la sesin actual, escriba:

get-childitem function:
Para determinar el nmero de funciones en la sesin actual,
escriba:
(get-childitem function:).count
$MaximumHistoryCount
-----------------Determina el nmero de comandos guardados en el historial de
comandos de la sesin actual.
Valores vlidos: 1 - 32768 (Int32)
Valor predeterminado: 64
Para determinar el nmero de comandos actualmente guardados
en el historial de comandos, escriba:
(get-history).count
Para ver los comandos guardados en el historial de la sesin,
utilice el cmdlet Get-History. Para obtener ms informacin,
escriba "get-help about_history".

$MaximumVariableCount
-----------------Determina el nmero de variables que se permiten en una
sesin concreta, incluidas las variables automticas, las
variables de preferencia y las variables que se crean en
comandos y scripts.
Valores vlidos: 1024 - 32768 (Int32)
Valor predeterminado: 4096
Para ver las variables de la sesin, utilice el cmdlet
Get-Variable y las caractersticas de la unidad Variable: de
Windows PowerShell as como del proveedor Variable de Windows
PowerShell. Para obtener informacin sobre el proveedor
Variable, escriba "get-help variable".
Para obtener el nmero actual de variables en el sistema, escriba:
(get-variable).count

$OFS
---Separador de campos de salida. Especifica el carcter que
separa los elementos de una matriz cuando esta se convierte
en una cadena.
Valores vlidos: cualquier cadena.
Valor predeterminado: un espacio
De forma predeterminada, la variable $OFS no existe y el

separador de campos de salida es un espacio, pero se puede


agregar esta variable y establecer su valor en cualquier cadena.
EJEMPLOS
En este ejemplo se muestra que se usa un espacio para separar los
valores cuando se convierte una matriz en una cadena. En este
caso, se almacena una matriz de enteros en una variable y,
a continuacin, se convierte la variable en una cadena.
PS> $array = 1,2,3

# Almacenar una matriz de enteros.

PS> [string]$array
1 2 3

# Convertir la matriz en una cadena.


# Los elementos estn separados
por espacios.

Para cambiar el separador, agregue la variable $OFS asignndole


un valor. Para que funcione correctamente, la variable debe
denominarse $OFS.
PS> $OFS = "+"

# Crear $OFS y asignarle "+".

PS> [string]$array
1+2+3

# Repetir el comando.
# Los elementos estn separados por
signos ms.

Para restaurar el comportamiento predeterminado, puede asignar un


espacio (" ") al valor de $OFS o eliminar la variable. Este
comando elimina la variable y, a continuacin, comprueba que el
separador es un espacio.
PS> Remove-Variable OFS
PS>

# Eliminar $OFS.

PS> [string]$array
1 2 3
espacios.

# Repetir el comando.
# Los elementos estn separados por

$OutputEncoding
--------------Determina el mtodo de codificacin de caracteres utilizado
por Windows PowerShell cuando enva texto a otras
aplicaciones. Por ejemplo, si una aplicacin devuelve cadenas
Unicode a Windows PowerShell, es posible que haya que cambiar
el valor para que se enven correctamente los caracteres.
Valores vlidos: objetos derivados de una clase de codificacin,
como ASCIIEncoding, SBCSCodePageEncoding,
UTF7Encoding, UTF8Encoding, UTF32Encoding
y UnicodeEncoding.
Valor predeterminado: objeto ASCIIEncoding
(System.Text.ASCIIEncoding)
EJEMPLOS
En este ejemplo, se muestra cmo proceder para que el comando

FINDSTR de Windows funcione en una versin de Windows


PowerShell localizada en un idioma que usa caracteres Unicode,
como el chino.
El primer comando busca el valor de $OutputEncoding. Dado que
el valor es un objeto de codificacin, se muestra nicamente
su propiedad EncodingName.
PS> $OutputEncoding.EncodingName # Obtener el valor actual.
US-ASCII
En este ejemplo, se usa un comando FINDSTR para buscar dos
caracteres chinos en el archivo Test.txt. Cuando se ejecuta
este comando FINDSTR en el smbolo del sistema de Windows
(Cmd.exe), FINDSTR encuentra los caracteres en el archivo de
texto. Sin embargo, cuando se ejecuta el mismo comando FINDSTR
en Windows PowerShell, no se encuentran los caracteres porque
Windows PowerShell los enva a FINDSTR en texto ASCII, en
lugar de enviarlos en texto Unicode.
PS> findstr <Caracteres Unicode> # Usar findstr para
realizar la bsqueda.
PS>
# No se ha encontrado
ningn carcter.
Para que el comando funcione en Windows PowerShell, establezca
el valor de $OutputEncoding en el valor de la propiedad
OutputEncoding de la consola, el cual se basa en la
configuracin regional seleccionada para Windows. Dado que
OutputEncoding es una propiedad esttica de la consola,
utilice dos puntos dobles (::) en el comando.
PS> $OutputEncoding = [console]::outputencoding
PS>
# Establecer el valor en el
valor de la propiedad
OutputEncoding de la
consola.
PS> $OutputEncoding.EncodingName
OEM United States
# Obtener el valor resultante.
Como resultado de este cambio, el comando FINDSTR encuentra
los caracteres.
PS> findstr <caracteres Unicode>
test.txt:
<Caracteres Unicode>
# Usar findstr para realizar la bsqueda.
Se encuentran los caracteres en el
archivo de texto.

$ProgressPreference
------------------Determina la forma en que Windows PowerShell responde a las
actualizaciones de progreso generadas por un script, cmdlet o
proveedor, como las barras de progreso generadas por el cmdlet
Write-Progress. El cmdlet Write-Progress crea barras de progreso que

reflejan el estado de un comando.


Valores vlidos:
Stop:

no se muestra la barra de progreso. En su


lugar, se muestra un mensaje de error
y se detiene la ejecucin.

Inquire:

no
Se
Si
se

se muestra la barra
pregunta al usuario
el usuario responde
muestra la barra de

de progreso.
si desea continuar.
S o S a todo,
progreso.

Continue
(valor
predeterminado):

se muestra la barra de progreso


y contina la ejecucin.

SilentlyContinue:

se ejecuta el comando, pero no se


muestra la barra de progreso.

$PSEmailServer
-------------Especifica el servidor de correo electrnico predeterminado
que se utiliza para enviar los mensajes de correo electrnico.
Esta variable de preferencia la utilizan los cmdlets que
envan correo electrnico, como el cmdlet Send-MailMessage.
$PSSessionApplicationName
--------------------------Especifica el nombre de aplicacin predeterminado para un
comando remoto que utiliza la tecnologa WS-Management.
El nombre de aplicacin predeterminado del sistema es WSMAN,
pero se puede utilizar esta variable de preferencia para
cambiar el nombre predeterminado.
El nombre de aplicacin es el ltimo nodo en un identificador
URI de conexin. Por ejemplo, el nombre de aplicacin en el
siguiente identificador URI de ejemplo es WSMAN.
http://Server01:8080/WSMAN
Se utiliza el nombre de aplicacin predeterminado cuando el
comando remoto no especifica ningn identificador URI de
conexin o ningn nombre de aplicacin.
El servicio WinRM utiliza el nombre de aplicacin para
seleccionar un agente de escucha a fin de atender la solicitud
de conexin. El valor de este parmetro debe coincidir con el
valor de la propiedad URLPrefix de un agente de escucha en el
equipo remoto.
Para invalidar el valor predeterminado del sistema y el valor
de esta variable y seleccionar otro nombre de aplicacin para
una sesin concreta, utilice el parmetro ApplicationName o
ConnectionURI del cmdlet New-PSSession, Enter-PSSession o
Invoke-Command.

Esta variable de preferencia se establece en el equipo local,


pero especifica un agente de escucha en el equipo remoto. Si
el nombre de aplicacin especificado no existe en el equipo
remoto, el comando para establecer la sesin generar un error.

$PSSessionConfigurationName
--------------------------Especifica la configuracin de sesin predeterminada que se
usa para las PSSessions creadas en la sesin actual.
Esta variable de preferencia se establece en el equipo local,
pero especifica una configuracin de sesin en el equipo remoto.
El valor de la variable $PSSessionConfigurationName es un
identificador URI de recurso completo.
El valor predeterminado:
http://schemas.microsoft.com/powershell/microsoft.powershell
indica la configuracin de sesin Microsoft.PowerShell en el
equipo remoto.
Si se especifica nicamente un nombre de configuracin, se
antepone el siguiente identificador URI de esquema:
http://schemas.microsoft.com/powershell/
Se puede invalidar el valor predeterminado y seleccionar otra
configuracin de sesin para una sesin concreta mediante el
parmetro ConfigurationName del cmdlet New-PSSession,
Enter-PSSession o Invoke-Command.
El valor de esta variable se puede modificar en cualquier
momento. Si lo cambia, recuerde que la configuracin de sesin
que seleccione debe existir en el equipo remoto. De lo
contrario, el comando para crear una sesin que use la
configuracin de sesin generar un error.
Esta variable de preferencia no determina qu configuraciones
de sesin locales se usan cuando los usuarios remotos crean
una sesin que se conecta a este equipo. Sin embargo, se
pueden usar los permisos de las configuraciones de sesin
locales para determinar los usuarios que pueden utilizarlas.
$PSSessionOption
---------------Establece los valores predeterminados de las opciones de
usuario avanzadas en una sesin remota. Estas preferencias
invalidan los valores predeterminados del sistema para las
opciones de sesin.
Asimismo, se pueden establecer opciones personalizadas para
una sesin remota concreta mediante el parmetro
SessionOption en los cmdlets que crean una sesin, como
New-PSSession, Enter-PSSession e Invoke-Command. El valor del

parmetro SessionOption tiene precedencia sobre los valores


predeterminados del sistema y los valores predeterminados que
se establecen en esta variable.
La variable $PSSessionOption contiene un objeto PSSessionOption
(System.Management.Automation.Remoting.PSSessionObject). Cada
propiedad del objeto representa una opcin de sesin. Por ejemplo,
la propiedad NoCompression desactiva la compresin de datos
durante la sesin.
Para crear la variable de preferencia $PSSessionOption,
utilice el cmdlet New-PSSessionOption. Guarde el resultado en
una variable denominada $PSSessionOption.
Por ejemplo:
$PSSessionOption = New-PSSessionOption -NoCompression
Para poder usar la variable de preferencia $PSSessionOption
en todas las sesiones de Windows PowerShell, agregue a su
perfil de Windows PowerShell un comando New-PSSessionOption
que cree la variable $PSSessionOption.
Para obtener ms informacin sobre el cmdlet New-PSSessionOpti
on, vea el tema de Ayuda correspondiente a New-PSSessionOption.
Para obtener ms informacin sobre los comandos remotos
y las sesiones, vea about_Remote y about_PSSessions.
Para obtener ms informacin sobre cmo usar un perfil, vea
about_Profiles.

$VerbosePreference
-----------------Determina la forma en que Windows PowerShell responde
a los mensajes detallados generados por un script, cmdlet
o proveedor, como los mensajes generados por el cmdlet
Write-Verbose. Los mensajes detallados suelen describir las
acciones que se realizan para ejecutar un comando.
De forma predeterminada, no se muestran los mensajes
detallados, pero se puede modificar este comportamiento
cambiando el valor de $VerbosePreference.
Asimismo, se puede utilizar el parmetro comn Verbose de un
cmdlet para mostrar u ocultar los mensajes detallados de un
comando concreto. Para obtener ms informacin, escriba "get-help
about_commonparameters".
Valores vlidos:
Stop:

Inquire:

se muestran el mensaje detallado y un


mensaje de error y, a continuacin,
se detiene la ejecucin.
se muestra el mensaje detallado y,
a continuacin, se pregunta al
usuario si desea continuar.

Continue:

se muestra el mensaje detallado


y, despus, contina la ejecucin.

SilentlyContinue
(valor
predeterminado):

no se muestra el mensaje detallado.


Contina la ejecucin.

EJEMPLOS
En estos ejemplos se muestra el efecto de los diferentes valores de
$VerbosePreference y del uso del parmetro comn Verbose para
invalidar el valor de preferencia.
En este ejemplo se muestra el efecto del valor SilentlyContinue,
que es el valor predeterminado.
PS> $VerbosePreference
SilentlyContinue

# Obtener el valor actual.

PS> Write-Verbose "Prueba de mensaje detallado."


PS>
# Escribir un mensaje detallado.
# No se muestra el mensaje.
PS> Write-Verbose "Prueba de mensaje detallado." -verbose
DETALLADO: Prueba de mensaje detallado.
# Usar el parmetro Verbose.
En este ejemplo se muestra el efecto del valor Continue.
PS> $VerbosePreference = "Continue"
# Cambiar el valor a Continue.
PS> Write-Verbose "Prueba de mensaje detallado."
# Escribir un mensaje detallado.
DETALLADO: Prueba de mensaje detallado.
# Se muestra el mensaje.
PS> Write-Verbose "Prueba de mensaje detallado." -verbose:$false
# Usar el parmetro
Verbose con el valor $false.
PS>
# No se muestra el mensaje.
En este ejemplo se muestra el efecto del valor Stop.
PS> $VerbosePreference = "Stop"
# Cambiar el valor a Stop.
PS> Write-Verbose "Prueba de mensaje detallado."
# Escribir un mensaje
detallado.
DETALLADO: Prueba de mensaje detallado.
Write-Verbose : Se detuvo la ejecucin del comando porque la
variable de shell "VerbosePreference" est establecida en Stop.
En lnea:1 carcter:14
+ Write-Verbose <<<< "Prueba de mensaje detallado."
PS> Write-Verbose "Prueba de mensaje detallado." -verbose:$false
# Usar el parmetro Verbose
con el valor $false.

PS>
# No se muestra el mensaje.
En este ejemplo se muestra el efecto del valor Inquire.
PS> $VerbosePreference = "Inquire"
# Cambiar el valor a Inquire.
PS> Write-Verbose "Prueba de mensaje detallado."
DETALLADO: Prueba de mensaje detallado.
# Escribir un mensaje detallado.
Confirmar
Desea continuar con la operacin?
[S] S [O] S a todo [I] Interrumpir comando [S] Suspender [?]
Ayuda (el valor predeterminado es "S"): s
PS>
PS> Write-Verbose "Prueba de mensaje detallado." -verbose:$false
# Usar el parmetro Verbose.
PS>
# No se muestra el mensaje.

$WarningPreference
-----------------Determina la forma en que Windows PowerShell responde a los
mensajes de advertencia generados por un script, cmdlet o
proveedor, como los mensajes generados por el cmdlet
Write-Warning.
De forma predeterminada, se muestran los mensajes de
advertencia y contina la ejecucin, pero se puede modificar
este comportamiento cambiando el valor de $WarningPreference.
Asimismo, se puede usar el parmetro comn WarningAction de
un cmdlet para determinar la forma en que Windows PowerShell
responde a las advertencias de un comando concreto. Para
obtener ms informacin, escriba "get-help about_commonparameters".
Valores vlidos:
Stop:

se muestran el mensaje de advertencia y un


mensaje de error y, a continuacin,
se detiene la ejecucin.

Inquire:

se muestra el mensaje de advertencia y,


a continuacin, se pregunta al usuario si
desea continuar.

Continue
(valor
predeterminado):

se muestra el mensaje de advertencia y,


despus, contina la ejecucin.

SilentlyContinue:

no se muestra el mensaje de
advertencia. Contina la ejecucin.

EJEMPLOS
En estos ejemplos se muestra el efecto de los diferentes valores de
$WarningPreference y del uso del parmetro comn WarningAction para

invalidar el valor de preferencia.


En este ejemplo se muestra el efecto del valor Continue, que es
el valor predeterminado.
PS> $WarningPreference

# Obtener el valor actual.

Continue
# Escribir un mensaje de advertencia.
PS> Write-Warning "Esta accin puede eliminar datos."
ADVERTENCIA: Esta accin puede eliminar datos.
# Usar el parmetro WarningAction a fin de
# suprimir la advertencia para este comand
o.
PS> Write-Warning "Esta accin puede eliminar datos." -warningaction
silentlycontinue

En este ejemplo se muestra el efecto del valor SilentlyContinue.


PS> $WarningPreference = "SilentlyContinue"
# Cambiar el valor a SilentlyContinue.
PS> Write-Warning "Esta accin puede eliminar datos."
PS>
# Escribir un mensaje de advertencia.
PS> Write-Warning "Esta accin puede eliminar datos." -warningaction s
top
# Usar el parmetro WarningAction para
# que se detenga el
# procesamiento cuando este
# comando genere una advertencia.
ADVERTENCIA: Esta accin puede eliminar datos.
Write-Warning : Se detuvo la ejecucin del comando porque
la variable de shell "WarningPreference" est establecida en Stop.
En lnea:1 carcter:14
+ Write-Warning <<<< "Esta accin puede eliminar datos." -warningactio
n stop
En este ejemplo se muestra el efecto del valor Inquire.
PS> $WarningPreference = "Inquire"
# Cambiar el valor a Inquire.
PS> Write-Warning "Esta accin puede eliminar datos."
# Escribir un mensaje de advertencia.
ADVERTENCIA: Esta accin puede eliminar datos.
Confirmar
Desea continuar con la operacin?
[S] S [O] S a todo [I] Interrumpir comando [S] Suspender
[?] Ayuda (el valor predeterminado es "S"): s
PS> Write-Warning "Esta accin puede eliminar datos."
-warningaction silentlycontinue

PS>

# Usar el parmetro WarningAction para camb

iar la
# respuesta a una advertencia para el com
ando actual.

En este ejemplo se muestra el efecto del valor Stop.


PS> $WarningPreference = "Stop"
# Cambiar el valor a Stop.
PS> Write-Warning "Esta accin puede eliminar datos."
# Escribir un mensaje de advertencia.
ADVERTENCIA: Esta accin puede eliminar datos.
Write-Warning : Se detuvo la ejecucin del comando porque
la variable de shell "WarningPreference" est establecida
en Stop.
En lnea:1 carcter:14
+ Write-Warning <<<< "Esta accin puede eliminar datos."
PS> Write-Warning "Esta accin puede eliminar datos."
-warningaction inquire
ADVERTENCIA: Esta accin puede eliminar datos.
Confirmar
Desea continuar con la operacin?
[S] S [O] S a todo [I] Interrumpir comando [U] Suspender
[?] Ayuda (el valor predeterminado es "S"):
# Usar el parmetro WarningAction para cam
biar la
# respuesta a una advertencia para el co
mando actual.
$WhatIfPreference
-----------------Determina si se habilita automticamente WhatIf para cada
comando que lo admite. Cuando WhatIf est habilitado, el
cmdlet informa del efecto esperado del comando, pero no
ejecuta el comando.
Valores vlidos:
0:
WhatIf no se habilita automticamente.
(valor predeterminado) Para habilitarlo manualmente, utilice el
parmetro WhatIf del comando.
1:

WhatIf se habilita automticamente en


cualquier comando que lo admita.
Se puede usar el comando WhatIf con el
valor False para deshabilitarlo
manualmente (WhatIf:$false).

EXPLICACIN DETALLADA
Cuando un cmdlet admite WhatIf, el cmdlet informa del efecto
esperado del comando, en lugar de ejecutar el comando. Por
ejemplo, en lugar de eliminar el archivo test.txt en
respuesta a un comando Remove-Item, Windows PowerShell

informa de lo que eliminara. Un comando Get-Childitem


subsiguiente confirma que no se elimin el archivo.
PS> remove-item test.txt
What if: Se est realizando la operacin "Remove-Item"
en el destino "Item: C:\test.txt.
PS> get-childitem test.txt
Directorio: Microsoft.PowerShell.Core\FileSystem::C:
Mode
----a---

LastWriteTime
------------29/7/2006 19:15

Length
-----84

Name
---test.txt

EJEMPLOS
En estos ejemplos, se muestra el efecto de los diferentes valores de
$WhatIfPreference. Tambin se muestra cmo usar el parmetro de
cmdlet WhatIf a fin de invalidar el valor de preferencia para un
comando concreto.
En este ejemplo, se muestra el efecto del valor predeterminado 0
(WhatIf no est habilitado).
PS> $whatifpreference
0

# Comprobar el valor actual.

PS> get-childitem test.txt | format-list FullName


FullName : C:\test.txt
# Comprobar que el archivo existe.
PS> remove-item test.txt
PS>
# Eliminar el archivo.
PS> get-childitem test.txt | format-list -property FullName
# Comprobar que el archivo se
ha eliminado.
Get-ChildItem : No se encuentra la ruta de acceso
'C:\test.txt' porque no existe.
En lnea:1 carcter:14
+ get-childitem <<<< test.txt | format-list fullname
En este ejemplo, se muestra el efecto del parmetro WhatIf
cuando el valor de $WhatIfPreference es 0.
PS> get-childitem test2.txt | format-list -property FullName
FullName : C:\test2.txt
# Comprobar que el archivo existe.
PS> remove-item test2.txt -whatif
What if: Se est realizando la operacin "Quitar
archivo" en el destino "C:\test2.txt".
# Usar el parmetro WhatIf.
PS> get-childitem test2.txt | format-list -property FullName

FullName : C:\test2.txt
# Comprobar que el archivo no
se ha eliminado.
En este ejemplo, se muestra el efecto del valor 1 (WhatIf est
habilitado). Cuando se usa Remove-Item para eliminar un cmdlet,
Remove-Item muestra la ruta de acceso al archivo que eliminara,
pero no elimina el archivo.
PS> $whatifpreference = 1
PS> $whatifpreference
1
# Cambiar el valor.
PS> remove-item test.txt
What if: Se est realizando la operacin "Quitar
archivo" en el destino "C:\test.txt".
# Intentar eliminar un archivo.
PS> get-childitem test.txt | format-list FullName
FullName : C:\test.txt
# Comprobar que el archivo existe.
En este ejemplo, se muestra cmo eliminar un archivo cuando el
valor de $WhatIfPreference es 1. Se utiliza el parmetro WhatIf
con el valor $false.
PS> remove-item test.txt -whatif:$false
# Usar el parmetro WhatIf con
$false.
En este ejemplo, se muestra que algunos cmdlets admiten el
comportamiento de WhatIf mientras que otros no lo admiten. En
este ejemplo, donde el valor de $WhatIfPreference es 1
(habilitado), se ejecuta un comando Get-Process, que no admite
WhatIf, pero un comando Stop-Process realiza el comportamiento
de WhatIf. Se puede invalidar el comportamiento de WhatIf del comando
Stop-Process usando el parmetro WhatIf con el valor $false.
PS> $whatifpreference = 1
# Cambiar el valor a 1.
PS> get-process winword
# Se completa un comando Get-Process.
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- ----------8 6324
15060 154 0.36
2312 WINWORD
PS> stop-process -name winword
What if: Se est realizando la operacin "Stop-Process" en
el destino "WINWORD (2312)".
# Un comando Stop-Process utiliza
WhatIf.
PS> stop-process -name winword -whatif:$false
PS>
# WhatIf:$false invalida la preferencia.
PS> get-process winword
Get-Process : No se encuentra ningn proceso con el nombre

'winword'. Compruebe el nombre del proceso y ejecute de


nuevo el cmdlet.
En lnea:1 carcter:12
+ get-process <<<< winword
# Comprobar que el proceso se ha
detenido.

VEA TAMBIN
about_Automatic_Variables
about_CommonParameters
about_Environment_Variables
about_Profiles
about_Remote
about_Scopes
about_Variables

También podría gustarte