Use scripts de PowerShell para dispositivos Windows 10/11 en Intune

Use la extensión de administración de Microsoft Intune para cargar los scripts de PowerShell en Intune. A continuación, ejecútelos en dispositivos Windows 10. La extensión de administración mejora la administración de dispositivos móviles Windows (MDM) y facilita el paso a una administración moderna.

Importante

Para admitir la funcionalidad ampliada y las correcciones de errores, use .NET Framework 4.7.2 o posterior con la extensión de administración de Intune en clientes Windows. Si un cliente de Windows sigue usando una versión anterior de .NET Framework, la extensión de administración de Intune seguirá funcionando. .NET Framework 4.7.2 está disponible desde Windows Update a partir del 10 de julio de 2018, que se incluye en Win10 1809 (RS5) y versiones posteriores. Tenga en cuenta que varias versiones de las versiones de .NET Framework pueden coexistir en un dispositivo.

Esta característica se aplica a:

  • Windows 10 y versiones posteriores (excepto Windows 10 Home)

Nota:

Una vez que se cumplen los requisitos previos de la extensión de administración de Intune, la extensión de administración de Intune se instala automáticamente cuando se asigna al usuario o dispositivo un script de PowerShell o una aplicación Win32, aplicaciones de Microsoft Store, configuración de directivas de cumplimiento personalizado o correcciones proactivas. Para más información, consulte los requisitos previos de las extensiones de administración de Intune.

Los scripts de PowerShell, que no se admiten oficialmente en dispositivos de unión al área de trabajo (WPJ), pueden implementarse en dispositivos WPJ. En concreto, los scripts de PowerShell de contexto de dispositivo funcionan en los dispositivos WPJ, pero el diseño no tiene en cuenta los scripts de PowerShell de contexto de usuario. Los scripts de contexto de usuario se omitirán en los dispositivos WPJ y no se notificarán al centro de administración de Microsoft Intune.

Transición hacia una administración moderna

La informática de usuario está experimentando una transformación digital. La TI tradicional se centra en una plataforma de dispositivo único, dispositivos propiedad de la empresa, usuarios que trabajan desde la oficina, y distintos procesos de TI manuales y reactivos. En el lugar de trabajo moderno se usan varias plataformas que son propiedad del usuario y de la empresa. Esto permite que los usuarios trabajen desde cualquier lugar, y proporciona procesos de TI automatizados y proactivos.

Los servicios MDM, como Microsoft Intune, pueden administrar dispositivos móviles y de escritorio que ejecutan Windows 10. El cliente de administración integrado de Windows 10 se comunica con Intune para realizar tareas de administración empresariales. Hay algunas tareas que puede necesitar, como configuración avanzada de dispositivos y solución de problemas. Para la administración de aplicaciones Win32, puede usar la característica de administración de aplicaciones Win32 en sus dispositivos Windows 10.

La extensión de administración de Intune complementa las características de administración de dispositivos móviles (MDM, por sus siglas en inglés) que Windows 10 incluye de fábrica. Puede crear scripts de PowerShell para ejecutar en dispositivos Windows 10. Por ejemplo, cree un script de PowerShell que realice configuraciones avanzadas del dispositivo. A continuación, cargue el script en Intune, asigne el script a un grupo de Microsoft Entra y ejecute el script. Luego puede supervisar de principio a fin el estado de ejecución del script.

Antes de empezar

  • Cuando los scripts están establecidos en el contexto del usuario y el usuario final tiene derechos de administración, de manera predeterminada, el script de PowerShell se ejecuta bajo el privilegio de administrador.

  • No es necesario que los usuarios finales inicien sesión en el dispositivo para ejecutar scripts de PowerShell.

  • El agente de extensión de administración de Intune comprueba si hay nuevos scripts o cambios después de cada reinicio. Después de asignar la directiva a los grupos de Microsoft Entra, se ejecuta el script de PowerShell y se notifican los resultados de la ejecución. Una vez que se ejecuta el script, no se vuelve a ejecutar salvo que haya un cambio en el script o en la directiva. Si se produce un error en el script, el agente de la extensión de administración de Intune intenta aplicarlo de nuevo tres veces durante las tres siguientes sincronizaciones consecutivas del agente de la extensión de administración de Intune.

  • En el caso de los dispositivos compartidos, el script de PowerShell se ejecutará para cada usuario nuevo que inicie sesión.

  • Los scripts de PowerShell se ejecutan antes que las aplicaciones Win32. En otras palabras, los scripts de PowerShell se ejecutan primero. Acto seguido, se ejecutan las aplicaciones Win32.

  • El tiempo de espera de los scripts de PowerShell se agota al cabo de 30 minutos.

Importante

Los procedimientos recomendados para la concienciación de privacidad al usar scripts de PowerShell y scripts de corrección son los siguientes:

  • No incluya ningún tipo de información confidencial en scripts (como contraseñas)
  • No incluir información de identificación personal (PII) en scripts
  • No usar scripts para recopilar PII de dispositivos
  • Siga siempre los procedimientos recomendados de privacidad.

Para obtener información relacionada, vea Correcciones.

Requisitos previos

La extensión de administración de Intune tiene los siguientes requisitos previos. Una vez que se cumplen, la extensión de administración de Intune se instala automáticamente cuando se asigna un script de PowerShell o una aplicación Win32 al usuario o al dispositivo.

  • Dispositivos que ejecutan Windows 10 versión 1607 o una posterior. Si el dispositivo se inscribe mediante la inscripción automática masiva, los dispositivos deben ejecutar Windows 10, versión 1709 o posteriores. La extensión de administración de Intune no se admite en Windows 10 en modo S, ya que este no permite la ejecución de aplicaciones que no estén en la tienda.

  • Dispositivos unidos a Microsoft Entra ID, incluidos:

  • Microsoft Entra registrado o unido a Workplace (WPJ): dispositivos registrados en Microsoft Entra ID, consulte Workplace Join as a seamless second factor authentication (Unión al área de trabajo como autenticación sin problemas en segundo factor) para obtener más información. Normalmente se trata de dispositivos Bring Your Own Device (BYOD) que han tenido una cuenta profesional o educativa agregada a través del trabajo o la escuela de acceso a cuentas>de configuración>.

  • Dispositivos inscritos en Intune, incluidos los siguientes:

    • Dispositivos inscritos en una directiva de grupo (GPO). Vea Enroll a Windows 10 device automatically using Group Policy (Inscripción automática de un dispositivo Windows 10 con Directiva de grupo) para obtener instrucciones.

    • Dispositivos inscritos manualmente en Intune, que son los que encajan con una de las siguientes descripciones:

      • La inscripción automática en Intune está habilitada en Microsoft Entra ID. Los usuarios inician sesión en dispositivos con una cuenta de usuario local y unen manualmente el dispositivo para Microsoft Entra ID. A continuación, inician sesión en el dispositivo con su cuenta de Microsoft Entra.

      OR

      • El usuario inicia sesión en el dispositivo con su cuenta de Microsoft Entra y, a continuación, se inscribe en Intune.
    • Dispositivos administrados conjuntamente que usan Configuration Manager e Intune. Al instalar las aplicaciones Win32, asegúrese de que la carga de trabajo Aplicaciones esté establecida en Intune piloto o Intune. Los scripts de PowerShell se ejecutarán incluso si la carga de trabajo de Aplicaciones está establecida en Configuration Manager. La extensión de administración de Intune se implementará en un dispositivo cuando el destino sea un script de PowerShell en el dispositivo. Recuerde que el dispositivo debe ser un dispositivo unido Microsoft Entra ID o Microsoft Entra híbrido. Además, debe ejecutar Windows 10, versión 1607 o posterior. Consulte los artículos siguientes para obtener instrucciones:

  • Los scripts implementados en clientes que ejecutan la extensión de administración de Intune no se ejecutarán si el reloj del sistema del dispositivo se ha quedado obsoleto. Una vez actualizado el reloj del sistema, el script se ejecutará correctamente.

Nota:

Para obtener información sobre el uso de máquinas virtuales Windows 10, vea Uso de máquinas virtuales Windows 10 con Intune.

Cree una directiva de script y asígnela

  1. Inicie sesión en el Centro de administración de Microsoft Intune.

  2. Seleccione Dispositivo>Scripts>Agregar> Windows 10 y versiones posteriores.

    Captura de pantalla que muestra la creación de un nuevo script para un dispositivo Windows 10.

  3. En Datos básicos, escriba las siguientes propiedades y seleccione Siguiente:

    • Nombre: escriba un nombre para el script de PowerShell.
    • Descripción: escriba una descripción para el script de PowerShell. Esta configuración es opcional pero recomendada.
  4. En Configuración de script, escriba las siguientes propiedades y seleccione Siguiente:

    • Ubicación del script: busque el script de PowerShell. El script debe ser inferior a 200 KB (ASCII).

    • Ejecute este script con las credenciales iniciadas: seleccione (valor predeterminado) para ejecutar el script con las credenciales del usuario en el dispositivo. Elija No para ejecutar el script en el contexto del sistema. Muchos administradores eligen . Si es necesario que el script se ejecute en el contexto del sistema, elija No.

    • Aplicar comprobación de firma de script: seleccione (valor predeterminado) si el script debe estar firmado por un publicador de confianza. Seleccione No si no hay ningún requisito para que el script se firme.

    • Ejecutar script en un host de PowerShell de 64 bits: seleccione para ejecutar el script en un host de PowerShell de 64 bits en una arquitectura de cliente de 64 bits. Si selecciona No (valor predeterminado) el script se ejecutará en un host de PowerShell de 32 bits.

      Cuando la establezca en o No, use la siguiente tabla para los comportamientos nuevos y existentes de la directiva:

      Ejecución de scripts en un host de 64 bits Arquitectura de cliente Nuevo script Script de directiva existente
      No 32 bits Compatible con host de PowerShell de 32 bits Solo se ejecuta en un host de PowerShell de 32 bits, que funciona en arquitecturas de 32 y 64 bits.
      64 bits Ejecuta el script en un host de PowerShell de 64 bits para arquitecturas de 64 bits. Si se ejecuta en 32 bits, el script se ejecutará en un host de PowerShell de 32 bits. Ejecuta el script en un host de PowerShell de 32 bits. Si esta configuración cambia a 64 bits, el script se abrirá (no se ejecutará) en un host de PowerShell de 64 bits y se notificarán los resultados. Si se ejecuta en 32 bits, el script se ejecutará en un host de PowerShell de 32 bits.
  5. Seleccione Etiquetas de ámbito. Las etiquetas de ámbito son opcionales. En la sección Uso de control de acceso basado en rol (RBAC) y etiquetas de ámbito para TI distribuida encontrará más información.

    Para agregar una etiqueta de ámbito, realice lo siguiente:

    1. Elija Seleccionar etiquetas> de ámbito seleccione una etiqueta de ámbito existente en la lista >Seleccionar.

    2. Cuando termine, seleccione Siguiente.

  6. Seleccione Asignaciones>Seleccionar grupos para incluir. Se muestra una lista existente de grupos de Microsoft Entra.

    1. Seleccione uno o varios grupos que incluyan los usuarios cuyos dispositivos reciben el script. Elija Seleccionar. Los grupos que ha elegido se muestran en la lista y recibirán la directiva.

      Nota:

      Los scripts de PowerShell en Intune se pueden destinar a Microsoft Entra grupos de seguridad de dispositivos o Microsoft Entra grupos de seguridad de usuarios. Sin embargo, al dirigirse a dispositivos unidos al área de trabajo (WPJ), solo se pueden usar Microsoft Entra grupos de seguridad de dispositivos (se omitirá la segmentación de usuarios). Para más información, vea Compatibilidad de aplicaciones Win32 con dispositivos de unión al área de trabajo (WPJ).

    2. Seleccione Siguiente.

      Asigne o implemente el script de PowerShell a grupos de dispositivos en Microsoft Intune

  7. En Revisar y agregar, se muestra un resumen de la configuración. Seleccione Agregar para guardar el script. Al seleccionar Agregar, la directiva se implementa en los grupos que ha elegido.

Error al ejecutar un ejemplo de script

8.00 h

  • Protección
  • Ejecución del script ConfigScript01
  • Error de script

9 a.m.

  • Protección
  • Ejecución del script ConfigScript01
  • Error de script (número de reintentos = 1)

10 a.m.

  • Protección
  • Ejecución del script ConfigScript01
  • Error de script (número de reintentos = 2)

11 a.m.

  • Protección
  • Ejecución del script ConfigScript01
  • Error de script (número de reintentos = 3)

12 p.m.

  • Protección
  • No se realizan más intentos de ejecutar el script ConfigScript01.
  • Si no se realizan más cambios en el script, no se lleva a cabo ningún intento adicional de ejecutarlo.

Supervisión del estado de ejecución

Puede supervisar el estado de ejecución de scripts de PowerShell para usuarios y dispositivos en el portal.

En Scripts de PowerShell, seleccione el script que quiere supervisar, elija Supervisar y luego elija uno de estos informes:

  • Estado del dispositivo
  • Estado del usuario

Registros de extensión de administración de Intune

Habitualmente, los registros de agente en el equipo cliente se encuentran en C:\ProgramData\Microsoft\IntuneManagementExtension\Logs. Puede usar CMTrace.exe para ver estos archivos de registro.

Captura de pantalla o registros de agente de CMTrace de muestra en Microsoft Intune

Eliminación de un script

En Scripts de PowerShell, haga clic con el botón derecho en el script y seleccione Eliminar.

Problemas comunes y soluciones

Problema: la extensión de administración de Intune no se descarga

Posibles soluciones:

  • El dispositivo no está unido a Microsoft Entra ID. Asegúrese de que los dispositivos cumplen con los requisitos previos (en este artículo).
  • No hay ningún script de PowerShell ni ninguna aplicación Win32 asignados a los grupos a los que pertenece el usuario o el dispositivo.
  • El dispositivo no se puede sincronizar con el servicio de Intune. Por ejemplo, no hay acceso a Internet, no se tiene acceso a los Servicios de notificaciones push de Windows (WNS), etc.
  • El dispositivo está en modo S. La extensión de administración de Intune no se admite en dispositivos que se ejecutan en modo S.

Para ver si el dispositivo se ha inscrito automáticamente, puede hacer lo siguiente:

  1. Vaya a Configuración>Cuentas>Acceder a cuenta profesional o educativa.
  2. Seleccione la información de la cuenta > combinada.
  3. En el Informe de diagnóstico avanzado, seleccione Crear informe.
  4. Abra MDMDiagReport en un explorador web.
  5. Busque la propiedad MDMDeviceWithAAD. Si la propiedad existe, el dispositivo se ha inscrito automáticamente. Si esta propiedad no existe, el dispositivo no se ha inscrito automáticamente.

En Habilitar la inscripción automática de Windows 10 se describen los pasos para configurar la inscripción automática en Intune.

Problema: los scripts de PowerShell no se ejecutan

Posibles soluciones:

  • Los scripts de PowerShell no se ejecutan en cada inicio de sesión. Se ejecuta en los siguientes casos:

    • Cuando se asigna el script a un dispositivo.

    • Si cambia el script, lo carga y asigna el script a un usuario o dispositivo.

      Sugerencia

      La extensión de administración de Microsoft Intune es un servicio que se ejecuta en el dispositivo, al igual que cualquier otro servicio que aparezca en la aplicación Servicios (services.msc). Después de reiniciar un dispositivo, es posible que el servicio también lo haga y compruebe si hay algún script de PowerShell asignado con el servicio de Intune. Si el servicio de extensión de administración de Microsoft Intune está establecido en Manual, es posible que el servicio no se reinicie después de que el dispositivo se reinicialice.

  • Asegúrese de que los dispositivos están unidos a Microsoft Entra ID. Los dispositivos que solo están unidos a su área de trabajo u organización (registrados en Microsoft Entra ID) no recibirán los scripts.

  • Confirme que la extensión de administración de Intune se ha descargado en %ProgramFiles(x86)%\Microsoft Intune Management Extension.

  • Los scripts no se ejecutan en dispositivos Surface Hub ni con Windows 10 en modo S.

  • Revise los registros por si hay errores. Consulte, en este artículo, Registros de extensión de administración de Intune.

  • Para comprobar si existen problemas de permisos, asegúrese de que las propiedades del script de PowerShell estén establecidas en Run this script using the logged on credentials. Compruebe también que el usuario que ha iniciado sesión tenga los permisos adecuados para ejecutar el script.

  • Para aislar los problemas de scripts, haga lo siguiente:

    • Revise la configuración de ejecución de PowerShell en sus dispositivos. Vea la directiva de ejecución de PowerShell para obtener instrucciones.

    • Ejecute un script de ejemplo con la extensión de administración de Intune. Por ejemplo, cree el directorio C:\Scripts y conceda a todos el control total. Ejecute el siguiente script:

      write-output "Script worked" | out-file c:\Scripts\output.txt
      

      Si se ejecuta correctamente, se debería crear un archivo output.txt, el cual debería incluir el texto "Script Worked" (‘El script funcionó’).

    • Para ejecutar el script de prueba sin Intune, ejecute los scripts en la cuenta del sistema mediante el uso local de la herramienta psexec:

      psexec -i -s

    • Si el script informa de que se ha realizado correctamente, pero no ha sido así en realidad, es posible que el servicio antivirus se encuentre en un espacio aislado por AgentExecutor. El siguiente script siempre informa de un error en Intune. Como prueba, puede usar este script:

      Write-Error -Message "Forced Fail" -Category OperationStopped
      mkdir "c:\temp" 
      echo "Forced Fail" | out-file c:\temp\Fail.txt
      

      Si el script informa de que se ha realizado correctamente, consulte AgentExecutor.log para confirmar la salida de error. Si se ejecuta el script, la longitud debe ser >2.

    • Para capturar los archivos .error y .output, el fragmento de código siguiente ejecuta el script por medio de AgentExecutor en PowerShell x86 (C:\Windows\SysWOW64\WindowsPowerShell\v1.0). Mantiene los registros para que los revise. Recuerde que la extensión de administración de Intune limpia los registros después de que se ejecute el script:

      $scriptPath = read-host "Enter the path to the script file to execute"
      $logFolder = read-host "Enter the path to a folder to output the logs to"
      $outputPath = $logFolder+"\output.output"
      $errorPath =  $logFolder+"\error.error"
      $timeoutPath =  $logFolder+"\timeout.timeout"
      $timeoutVal = 60000 
      $PSFolder = "C:\Windows\SysWOW64\WindowsPowerShell\v1.0"
      $AgentExec = "C:\Program Files (x86)\Microsoft Intune Management Extension\agentexecutor.exe"
      &$AgentExec -powershell  $scriptPath $outputPath $errorPath $timeoutPath $timeoutVal $PSFolder 0 0
      

Siguientes pasos

Supervise y solucione los problemas de sus perfiles.