Uso del parámetro WhatIf en PowerShell – informaticamadridmayor

los -Y si El parámetro en los scripts de PowerShell se usa normalmente para evitar cambios accidentales en los objetos administrados. Al agregar el parámetro -WhatIf al comando de PowerShell, se mostrarán los objetos que este comando cambiará y los cambios realizados. Al mismo tiempo, no se realizan cambios.

Por ejemplo, decidió eliminar algunas cuentas de usuario en el dominio de Active Directory de acuerdo con ciertos criterios utilizando el script de PowerShell. Para asegurarse de que el script de PowerShell elimine solo los usuarios que espera, puede agregar el parámetro –WhatIf al comando.

Con WhatIf, puede asegurarse de que los cambios realizados en estos objetos cumplan con sus expectativas sin preocuparse por cambiar estos objetos.
El parámetro -WhatIf es un parámetro de cambio y se encuentra en muchos cmdlets de PowerShell.

Puede enumerar los cmdlets de PowerShell que admiten el parámetro –WhatIf con el comando:

Get-Command | where { $_.parameters.keys -Contains "WhatIf"}

El parámetro -WhatIf se agrega al final del comando de PowerShell. La presencia de este cmdlet indica que este comando se ejecuta en modo de prueba y no se realizarán cambios, pero la lista de objetos solo se mostrará en la pantalla de la consola de PoSh.

Por ejemplo, el siguiente comando seleccionará todas las computadoras inactivas desde el comienzo del año en el dominio de Active Directory y las eliminará. Si, antes de eliminar objetos en AD, desea ver la lista de equipos que se eliminarán, agregue el parámetro –WhatIf al comando.

Search-ADAccount -AccountInactive -ComputersOnly -DateTime ‘1/1/2019’|Remove-ADComputer -WhatIf

El comando anterior imprimirá el siguiente texto en la consola:

¿Qué pasa si: Realizando la operación «Eliminar» en el objetivo «CN = us-PC1, OU = Estaciones de trabajo, OU = NY, DC = theitbros, DC = com».

Junto con el parámetro –WhatIf, el -Confirmar A menudo se recuerda el parámetro, que le pedirá que confirme que realmente desea realizar esta operación antes de realizar una acción. Al usar este modificador, el comando solicita confirmación para cada acción antes de continuar con la ejecución (de forma predeterminada, el modo –Confirm: $ true está presente en todos los cmdlets de PowerShell que comienzan con Clear-, Disable-, Dismount-, Move-, Remove-, Detener, suspender, desinstalar.

El código de la secuencia de comandos de PowerShell anterior con el conmutador –Confirm podría tener este aspecto:

Search-ADAccount -AccountInactive -ComputersOnly -DateTime ‘1/1/2019’|Remove-ADComputer -confirm

usar el parámetro whatif de powershell

Como puede ver, ha aparecido una solicitud de confirmación:

¿Está seguro de que desea realizar esta acción?

Realizando la operación «Eliminar» en el objetivo …

Por lo general, el parámetro –WhatIf se usa al probar y configurar los scripts de PowerShell, y en los scripts PoSh listos para usar, si desea recibir la confirmación de un cambio, se usa el parámetro –Confirm.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *