Solución de problemas de secuencias de comandos de PowerShell
<img style="”float:" right;” src="”https://www.recastsoftware.com/wp-content/uploads/2021/10/Recast-Logo-Dark_Horizontal.svg”" alt=""Imagen"" height="”43″" width="”150″">
Solución de problemas de scripts de TP12T e Intune PowerShell
Recientemente trabajé en varios proyectos en los que tuve que solucionar problemas de scripts de PowerShell en lugares donde no tenía acceso para "ver" lo que estaba pasando. En realidad, esto fue muy beneficioso para mejorar mis habilidades de powershell, ya que me di cuenta de que necesitaba incluir mucho más registro y encontrar formas adicionales de probar.
En esta página, el objetivo es cubrir varios métodos para ayudar en la resolución de problemas de los scripts, cuando no es tan simple como abrir PowerShell y ejecutarlo como su usuario que inició sesión.
Estos son algunos lugares comunes donde se encontrará con scripts que no tendrán la mayor visibilidad de ellos y pueden dificultar la resolución de problemas.
- Scripts de Intune
-
Agregar secuencias de comandos
- Se ejecuta desde 'C: Archivos de programa (x86) Microsoft Intune Management ExtensionPoliciesScripts'
-
Agregar secuencias de comandos
- ConfigMgr
-
Secuencias de tareas | Documentos Recast
- Durante WinPE: %temp%SMSTSPowerShellScripts donde %temp% = X: temperatura de Windows
- Durante FullOS: %temp%SMSTSPowerShellScripts donde %temp% = C: windowsTemp
-
Elementos de configuración
- Se ejecuta desde: 'C: windowsccmSystemTemp'
-
Ejecutar nodo de scripts
- Se ejecuta desde: 'c: windowsccmScriptStore'
-
Secuencias de tareas | Documentos Recast
- Tareas programadas
La mayoría de las veces, aprovechando esas herramientas, los scripts se ejecutarán como SYSTEM. Tareas programadas que puede configurar para que se ejecuten como SISTEMA o una Cuenta de servicio, que recomiendo aprovechar las cuentas de servicio administradas por grupos.
Métodos que encontré útiles:
- Transcripción de PowerShell
- Registro personalizado
- Aprovechamiento del centro de software
- Proporcionar un entorno de secuencia de tareas para probar scripts
- Lanzamiento de ISE o VSCode como SISTEMA para probar scripts
Población
Habilitar la transcripción de PS con ejecutar scripts
Vamos a crear un script de ejecución que habilite la transcripción de PowerShell, puede encontrar el
Archivo de script en GitHub
Luego puede copiar el código RAW o poner el enlace al código RAW en la importación:
Como sabemos que solo queremos 2 opciones para el parámetro, rellenemos previamente, haga clic en editar, elija el tipo de datos: Lista, luego agregue Habilitar y Deshabilitar:
Una vez que haya terminado, se verá así:
Ahora escojamos una máquina de prueba y ejecutemos el script con el valor de habilitación:
Veamos el cliente, este es nuestro registro personalizado integrado en el script que acabamos de agregar:
Luego, para generar un registro de transcripción de PowerShell, volví a ejecutar el script de ejecución. En la carpeta que especificamos para alojar los registros de transcripción, encontramos:
Elementos de configuración
Scripts de secuencia de tareas
Primero voy a mostrar ejemplos de algunos scripts y cómo se ejecutan.
Entonces, aunque técnicamente no es un script, un comando de PowerShell que se ejecuta desde un paso de línea de comando:
Allí puede ver que cuando ejecuta un comando de PowerShell a través de la línea de comando, no se crea ningún script temporalmente para ejecutarlo, a diferencia de un script incrustado:
Y aquí, un script dentro de un paquete, como se esperaba, se ejecuta fuera de la ubicación del paquete:
Una vez más, aprovechamos la transcripción de PowerShell para ver de dónde se ejecutaban los scripts, el contexto en el que se ejecutaban y la salida de escritura generada por el script.
Afinado
Con InTune, he creado dos scripts, uno para habilitar la Transcripción de PowerShell y otro para Deshabilitar.
Una cosa que he aprendido sobre el uso de PowerShell Script con Intune es que nunca se sabe cuándo se ejecutará ni con qué frecuencia. Por eso la tala es tan importante. Aprovecho el registro de CMTrace Style en todos mis scripts basados en Función de Ryan Ephgrave.
Otra cosa que he aprendido acerca de la creación de scripts para Intune es diseñarlos como un elemento de configuración. ¿Qué quiero decir con eso? El guión debe seguir una plantilla.
- Detección
- ¿Se aplica el script a esta máquina? Aunque seguro, puede crear grupos en Intune, pero la creación de lógica en el script siempre es una buena idea.
- Descubrimiento
- Verificando si la máquina ya es compatible (si el objetivo final de su secuencia de comandos ya se logró)
- Remediación
- Ejecute el contenido de la secuencia de comandos para lograr su objetivo deseado
Para Intune, voy a implementar el Enable-PSTranscription.ps1 Texto
La primera vez que se ejecuta el script, se registra usando la función y configura PS Transcription, que luego realizará un registro adicional cada vez que lo haga.
En la imagen a continuación, puede ver el archivo de registro creado por la secuencia de comandos en sí cada vez que la secuencia de comandos se ejecuta con el registro, y en el registro inferior, el registro de transcripción para esa ejecución de la secuencia de comandos.
Al observar el registro que agregué al script, puede ver cómo sigue el proceso de Descubrimiento y Remediación. La primera vez que se ejecuta, descubre que es "No conforme" y luego "Remedia" habilitando la Transcripción. La segunda ejecución, descubre que ya es compatible y sale.
Seguir este método ayudará a reducir la carga en sus dispositivos administrados de Intune, especialmente para scripts complicados que podrían inmovilizar un dispositivo de punto final por un tiempo cada vez que se ejecuta el script.
Consejos para solucionar problemas
- Registro personalizado: aproveche una función como CMTraceLog
- Gran cantidad de salidas de escritura y manejo de errores
- Sepa cómo pausar una secuencia de tareas en WinPE y Full OS
- Te recomiendo que crees un Secuencia de tareas "Depurar" para asistir
- Sepa cómo probar PowerShell como sistema
- Asegúrese de que su AV tenga esas áreas excluidas
Acerca de Recast Software
1 de cada 3 organizaciones que utilizan Microsoft Configuration Manager confían en Right Click Tools para detectar vulnerabilidades y remediarlas más rápido que nunca.
Descargar herramientas gratuitas
Solicitar precio
Vea cómo Right Click Tools está cambiando la forma en que se administran los sistemas.
Aumente la productividad de inmediato con nuestra versión limitada y gratuita de la edición Community.
Comience con Right Click Tools hoy: