Fundamentos de PowerShell: instrucción If

Introducción a la instrucción If de Windows PowerShell

la instrucción ‘If’ de PowerShell se incluye en el marco del control de flujo. Una vez que domine la construcción básica, puede aumentar su utilidad agregando, ‘Else’ y ‘ElseIf’. Una de mis estrategias alternativas favoritas es usar ‘Switch’.,

temas para la instrucción If de PowerShell

  • Construcción de la instrucción ‘If’
  • Ejemplo 1: Plain If
  • Ejemplo 2: If Else Else
  • Ejemplo 3: PowerShell ElseIf
  • PowerShell If-Not
  • PowerShell If-O
  • Resumen de la construcción If de PowerShell

construcción de instrucción ‘if’ de PowerShell

al igual que con tantas construcciones de PowerShell, el tipo de paréntesis indica cómo dividir el script en secciones., Vale la pena tatuar en nuestra memoria que (paréntesis son para la primera parte, es decir, la condición), mientras que {Llaves son para el comando de bloque}.

If (condition) {Do stuff}# Another explanation would beIf (test) {"Execute when true"}

Resumen: En PowerShell, ‘If’ ejecuta sentencias condicionales a la verdad de la expresión de prueba.

ejemplo 1a: Plain ‘ If ‘

# PowerShell If Statement Simple Example$Number = 10If ($Number -gt 0) {"Bigger than zero"}

Learning Points

Nota 1: traza la construcción anterior y separa los dos componentes: if (test) y {what to do}.

Nota 2: evite pensar demasiado; no hay ‘Then’ en una instrucción ‘If’ de PowerShell., Mi consejo es que en lugar de preocuparse por «si entonces», preste mucha atención a los dos tipos de paréntesis. Además, no hay endif en PowerShell como en VBScript.

Nota 3: para verificar su comprensión, intente modificar, «más grande que cero» a una cadena de texto diferente, como: «menos que cero». Una vez hecho esto, establezca $Number En -1 en el ejemplo 1A anterior.

ejemplo 1b: el Script de PowerShell comprueba si existe un archivo

Nota 4: probablemente desee cambiar el archivo al que hace referencia $ChkFile., De hecho, el guion clama por ser modificado para un {resultado} más constructivo.

Nota 5: Puede agregar fácilmente una declaración else para atender un archivo que no existe.
Else {Write-Host "File does not exist"}

Ver más en la ruta de prueba de PowerShell

Guy recomienda: Free WMI Monitor for PowerShell (herramienta gratuita)

Windows Management Instrumentation (WMI) es uno de los tesoros ocultos de los sistemas operativos de Microsoft., Afortunadamente, SolarWinds ha creado un Monitor WMI gratuito para PowerShell para que pueda descubrir estas gemas de información de rendimiento y, por lo tanto, mejorar sus scripts de PowerShell.

elimine las conjeturas de qué contadores WMI usar al crear scripts en el sistema operativo, Active Directory o Exchange Server. Pruebe este monitor WMI – es gratis.

SolarWinds WMI Monitor Download 100% free Tool

If Logic and Tactics

es raro que mi primera construcción ‘ If ‘ produzca los resultados deseados., El secreto del éxito es experimentar con la prueba If, o alternativamente comenzar a introducir una o más pruebas ‘ElseIf con su correspondiente {bloque de resultado}.

en este ejemplo he introducido-Not en la lógica:

ejemplo 1B: instrucción If-Not de PowerShell para comprobar si hay un servicio

nota 6: Este script utiliza la propiedad Display Name del servicio. Recuerde que en PowerShell ‘If Then’ no existe. Observe que es simple «si».

Nota 7: Observe al pasar la construcción If-Not; incidentalmente, – Not a veces se abrevia como un signo de exclamación ! en PowerShell.,

Nota 8: Este script clama por una declaración Else. Necesitamos saber si el servicio nombrado ha sido instalado.

Nota 9: Ver más sobre-ErrorAction SilentlyContinue

ejemplo 1C: sentencia if de PowerShell para comprobar direcciones IP

Aquí hay otro ejemplo real de la ‘sentencia If’ en acción. La idea es hacer ping a 20 direcciones IP. La lógica dice si el código de Estado es 0, luego muestra una etiqueta que dice ‘en la red’.

Nota 10: Una vez que las instrucciones se complican, es hora de investigar el parámetro Switch de PowerShell.,

Guy recomienda: Network Performance Monitor (prueba gratuita)

SolarWinds Network Performance Monitor (NPM) le ayudará a descubrir lo que está sucediendo en su red. Esta utilidad también lo guiará a través de la solución de problemas; el panel indicará si la causa raíz es un enlace roto, un equipo defectuoso o una sobrecarga de recursos.

lo que más me gusta es la forma en que NPM sugiere soluciones a problemas de red. Its también tiene la capacidad de monitorear el estado de las máquinas virtuales VMware individuales., Si está interesado en Solucionar problemas y crear mapas de red, le recomiendo que pruebe NPM en una prueba gratuita de 30 días.

SolarWinds Network Performance Monitor Download 30-day Free Trial

Example 1D: File content Example of Plain ‘If’

PowerShell tiene un lote de archivos de ayuda. Uno de estos archivos contiene ayuda sobre la declaración ‘if’. En el siguiente ejemplo, File File hace referencia a ese archivo. Content Content se establece en el contenido del archivo. La tercera línea intenta hacer coincidir una cadena con el contenido del archivo.,

puntos de aprendizaje

el ejemplo anterior se refiere a hacer coincidir una cadena «La instrucción if» con el contenido del archivo de ayuda incorporado.

ejemplo 2a:’ If ‘con’Else’

Este ejemplo trata con ‘else’. Este es un comando simple, a diferencia de ElseIf no hay una segunda construcción de prueba, ‘Else’ simplemente sigue para reflejar qué hacer si la instrucción If es falsa.

puntos de aprendizaje

la mejor manera de ver cómo funciona ‘else’ ES modificar la línea 3 de la siguiente manera:
(File File-Match «the ifyyyy Statement»).,

ejemplo 2b: comprobar si se ha instalado un servicio

Ver más en PowerShell Else «

Guy recomienda: SolarWinds Engineer’s Toolset (versión de prueba gratuita)

Este Engineer’s Toolset proporciona una consola completa de 50 utilidades para solucionar problemas informáticos. Guy dice que me ayuda a monitorear lo que está ocurriendo en la red, y cada herramienta me enseña más sobre cómo funciona el sistema subyacente.

Hay muchos buenos gadgets; es como tener rienda suelta de una confitería., Afortunadamente, las utilidades se muestran de forma lógica: monitoreo, descubrimiento de red, diagnóstico y herramientas de Cisco. Pruebe el conjunto de Herramientas del ingeniero de SolarWinds en una prueba gratuita de 14 días ahora!

SolarWinds Engineer’s Toolset Download 14-day Free Trial

ejemplo 2C: PowerShell If-Not Logic

El propósito de este script es emplear-Not logic para comprobar el servicio Alerter. Un escenario es que está trabajando con máquinas con Windows 7, y ya no instalan este servicio.

Observe cómo-Not invierte la lógica ‘ If ‘ en comparación con el Ejemplo 1.,

Nota 11: vea más ejemplos de la lógica If-Not de PowerShell.

ejemplo 2D: NetSh

El propósito de este ejemplo es comprobar el estado de un firewall en un equipo cliente de Windows como Windows 8.1 o Windows 7.

investigando Si, Else y ElseIf

  • Para obtener más información, consulte el archivo About_If incorporado
  • consulte cómo deshabilitar los firewalls de Windows 8 con una directiva de grupo.
Get-Help About_If

Ejemplo 3: ElseIf

Este ejemplo tiene una tarea real; para comprobar que tenemos el nombre de un archivo real., Recuerde que la segunda (sentencia test) debe ir seguida de un segundo {Script de bloque}.

Ver mucho más sobre la construcción ElseIf de PowerShell »

puntos de aprendizaje

nota 12: La ventaja de ElseIf sobre else simple, es que podemos introducir una nueva prueba. En el ejemplo anterior usamos ElseIf para comprobar si la longitud del archivo es menor que 1., Para activar el bloque ‘ElseIf’, establezca File File en un archivo inexistente por ejemplo
$File = Get-Help about_ifxx

nota 13: para activar el ‘else’ final, intente cambiar:
$File = Get-Help about_if
A
$File = Get-Help about_scope

Si tiene tiempo, podría agregar más declaraciones ‘ElseIf’ para atender otras eventualidades. Alternativamente, si la construcción ElseIf se está volviendo difícil de manejar, pruebe el comando superior switch.

Guy recomienda: SolarWinds Admin Bundle for Active Directory (herramienta gratuita)

Importar usuarios desde una hoja de cálculo., Solo tiene que proporcionar una lista de los usuarios con sus campos en la fila superior, y guardar como .archivo csv. A continuación, inicie esta utilidad gratuita y haga coincidir sus campos con los atributos de AD, haga clic e importe los usuarios.

opcionalmente, puede proporcionar el nombre de la unidad organizativa donde nacerán las nuevas cuentas. Descargue su herramienta gratuita de importación masiva.,»0de5877345″> SolarWinds Admin Bundle Download 100% FREE Tool Bundle

Si necesita un software de análisis de aplicaciones más completo, descargue una prueba gratuita de SAM (Server & Application Monitor)

About_If

Si desea otra cuenta de la instrucción If de PowerShell, eche un vistazo al archivo de ayuda incorporado

# For even more information about 'If' and 'ElseIf' constructions:Get-Help about_If

Esta es la explicación de Microsoft:

if (<test1>){<statement list 1>}

Windows PowerShell evalúa la expresión condicional <test1> como verdadero o falso., Si el resultado es true, PowerShell obedece lo que esté dentro de los corchetes {curly}, tras lo cual PowerShell sale de la instrucción If.

en el caso de que la primera prueba sea falsa, PowerShell se abre paso a través de las instrucciones ElseIf.

Por cierto, el ‘ vehículo ‘para nuestras pruebas revela toda una familia de archivos’ about_zyx.’. Mi punto es que no hay un comando: ‘Get-Help if’, sin embargo, hay un archivo de ayuda llamado, ‘about_if’. Además, si busca en el directorio de PowerShell, verá archivos ‘About ‘para ayudar con comandos como’ If ‘y’ElseIf’., Puede enumerar estos archivos ‘acerca de’ con el comando:

Ver más en la Ayuda Acerca de*

«

resumen de la construcción If de PowerShell

Cuando se trata de filtrar la salida, una de las sentencias más antiguas y mejores es la cláusula ‘If’. Como de costumbre, el secreto para entender la sintaxis es prestar mucha atención al estilo del corchete. If (paréntesis para la prueba) y {llaves para la acción}. Una vez que haya dominado la declaración básica ‘If’, extienda sus capacidades investigando ‘Else’ y ‘ElseIf’.,

si le gusta esta página, compártala con sus amigos

vea más ejemplos de control de flujo de Windows PowerShell

• inicio de PowerShell • instrucción If de PowerShell • PowerShell ElseIf • Analizador de permisos gratuito

• operadores condicionales • PowerShell-match • PowerShell-like • PowerShell-contains

• PowerShell comparison operators • PowerShell syntax • where filter • PowerShell else

por favor envíeme un correo electrónico si tiene un script de ejemplo mejor., También por favor informe de cualquier error de hecho, errores gramaticales o enlaces rotos, estaré encantado de corregir la falla.

Deja una respuesta

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

Ir a la barra de herramientas