Introducción a la lógica If-Or de PowerShell
la forma más fácil de entender la construcción ‘If-or’ de PowerShell es dominar la construcción ‘If’ básica y luego agregar ‘-or’ a la prueba una segunda pieza de lógica.,
los temas para el operador If u Condicional de PowerShell
- comienzan con la instrucción ‘If’ simple
- Ejemplo 1: instrucción ‘If’ básica de PowerShell
- Ejemplo 2: PowerShell If-O
- Ejemplo 3: PowerShell-o ejemplo funcional
- Ejemplo 4: PowerShell If y Script
- Ejemplo 5: PowerShell ElseIf
la instrucción básica ‘If’ de PowerShell
comencemos dominando la construcción ‘IF’ de PowerShell. Concéntrese en las dos partes de la construcción: (test) y {block command}.,
ayuda a mantener un ojo en los diferentes tipos de soporte de PowerShell. (El estilo de paréntesis del soporte se usa para la primera parte, es decir, la condición), mientras que {las llaves son para la carga útil del comando de bloque}.
If (condition) {Do stuff}
Aquí hay una explicación diferente del mismo control de flujo ‘If’:
If (test) {execute when true}
Resumen: El PowerShell ‘If’ ejecuta condicionalmente una instrucción de bloque, siempre que la expresión de prueba sea verdadera.
sentencia ‘If-or’ de PowerShell
la única diferencia en comparación con el ejemplo básico es que tenemos una segunda prueba introducida por-or., El punto clave es que ambas pruebas se llevan a cabo entre los mismos paréntesis.
If (test1 -Or test2) {execute when true}
ejemplo 1: Sintaxis básica ‘If’ de PowerShell
el propósito de este script es comprobar el comando ‘If’ subyacente. Hour vehicle es el valor inicial para el servicio de cola. Si se establece en Manual, el script lo cambia a Automático.
puntos de aprendizaje
Nota 1: en el corazón de este ejemplo hay una prueba ($Service.,Startmode-EQ «Manual») y un comando de bloque {Set-Service Nam NameSrv-startuptype Automatic }
Nota 2: Pruebe el script cambiando el startuptype for Spooler a Manual. Ya sea manualmente desde los Servicios.msc o ejecutando este comando PowerShell:
Set-Service Spooler -startupType manual
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
Ejemplo 2: PowerShell If-or Conitional Operator
Un desafío de scripting se produce cuando se atiende a la posibilidad muy real de que el servicio esté configurado en ‘Manual’, o en ‘Deshabilitado’. Puede resolver esto en PowerShell con ElseIf o, alternativamente, como en este ejemplo a continuación, puede usar-Or.
Nota 3: Compruebe la lógica de cada línea. – eq es la forma de PowerShell de decir igual; aprende cuándo emplear-eq y cuándo usar el signo ( = ).,
Nota 4: El beneficio de emplear-Or en lugar de ElseIf es escribir código más estricto. Esta realización le pedirá que coloque el-o dentro del paréntesis (de prueba) en lugar de crear una línea adicional con una condición lógica nueva mientras.
Ejemplo 3: PowerShell-o Ejemplo de trabajo
aunque este script está diseñado para probar la pequeña sintaxis ‘-Or’, tiene un montón de código extraño que cambia el startupType a manual. El único propósito de este diseño enrevesado es que pueda cambiar bits para verificar la lógica y entender cómo o cómo funciona en PowerShell.,
script de producción:
en la vida real, es posible que desee eliminar el código y agregar un comando para iniciar realmente el servicio de cola.
Nota 5: Siempre es difícil obtener el equilibrio entre los scripts de ejemplo que ilustran un punto y aquellos que hacen un trabajo útil.
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 descargue la versión de prueba gratuita de 30 días
varias condiciones o PowerShell
Una vez que el control de flujo funciona con una o, es relativamente simple agregar más condiciones o. Solo recuerde que solo necesita un conjunto de (paréntesis).
Ejemplo 4: PowerShell If-y Script
Powershell’s-y sigue la misma lógica y construcción que-o
el propósito de este script es simplemente probar diferentes fechas y compararlas con la fecha de hoy, que es mantenida por la variable Calendar Calendar.,
Nota 4: preste mucha atención al (primer paréntesis). En particular, encontrar las dos pruebas .day-eq ’24’, también .Month-eq ‘ 12. Mi primer punto es que están separados por-y. Mi segundo punto es que solo hay un conjunto de (corchetes de condición).
Nota 5: incluí algunos ElseIfs y una declaración final Else para darle al script un poco más de contexto y para darte ideas para tus scripts.
ejemplo 5: PowerShell ElseIf
aunque la solución PowerShell-or es más elegante, puede emplear ElseIf en su lugar.,
investigando la lógica Else If de PowerShell
para obtener más información, consulte el archivo about_if incorporado de PowerShell
Get-Help About_If
Obtenga más ayuda sobre los archivos About_ «
«
resumen de construcción if-or de PowerShell
una vez que haya dominado la instrucción if básica, puede ampliar sus capacidades con If-or. Esta es una construcción alternativa a ‘ElseIf’. El secreto para entender la implementación de PowerShell de If-Or es prestar mucha atención a los corchetes., (test1 – o test2) entonces {llaves para el bloque de script}.,
si le gusta esta página, compártala con sus amigos
vea más ejemplos de control de flujo de Windows PowerShell
• instrucción PowerShell Continue • instrucción PowerShell If • PowerShell ElseIf • PowerShell else
• operadores de comparación de PowerShell • PowerShell IF-y • PowerShell IF-o • PowerShell if-not
• operadores condicionales • where filter • PowerShell real-life techniques • PowerShell home
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.