Partilhar via


Use scripts do PowerShell em dispositivos Windows 10/11 no Intune

Use a extensão de gerenciamento do Microsoft Intune para carregar scripts do PowerShell no Intune. Em seguida, use esses scripts em dispositivos Windows 10. A extensão de gerenciamento aprimora o MDM (gerenciamento de dispositivo móvel) do Windows e facilita a mudança para o gerenciamento moderno.

Importante

Para suportar funcionalidades expandidas e correções de erros, utilize o .NET Framework 4.7.2 ou superior com a Extensão de Gestão do Intune em clientes Windows. Se um cliente Windows continuar a utilizar uma versão anterior do .NET Framework, a Extensão de Gestão do Intune continuará a funcionar. O .NET Framework 4.7.2 está disponível no Windows Update a partir de 10 de julho de 2018, que está incluído no Win10 1809 (RS5) e mais recente. Tenha em atenção que várias versões das versões do .NET Framework podem coexistir num dispositivo.

Esse recurso aplica-se a:

  • Windows 10 e posterior (exceto Windows 10 Home)

Observação

Assim que os pré-requisitos da extensão de gestão do Intune forem cumpridos, a extensão de gestão do Intune é instalada automaticamente quando um script do PowerShell ou uma aplicação Win32, aplicações da Microsoft Store, Definições de política de conformidade personalizadas ou Remediações proativas são atribuídas ao utilizador ou dispositivo. Para obter mais informações, confira os pré-requisitos de Extensão de Gerenciamento do Intune.

Os scripts do PowerShell, que não tem suporte oficial em dispositivos WPJ (Workplace Join), podem ser implantados em dispositivos WPJ. Especificamente, os scripts do PowerShell de contexto do dispositivo funcionam em dispositivos WPJ, mas os scripts do PowerShell de contexto do usuário são ignorados por design. Os scripts de contexto de utilizador serão ignorados em dispositivos WPJ e não serão comunicados ao centro de administração do Microsoft Intune.

Mover para o gerenciamento moderno

A computação do usuário está passando por uma transformação digital. A TI tradicional se concentra em uma plataforma de dispositivo único, em dispositivos de negócios, em usuários que trabalham no escritório e em diferentes processos de TI reativos e manuais. O local de trabalho moderno usa muitas plataformas de propriedade do usuário e da empresa. Ele permite que os usuários trabalhem de qualquer lugar e fornece processos de TI automatizados e proativos.

Serviços de MDM, como o Microsoft Intune, podem gerenciar dispositivos móveis e de desktop que executam o Windows 10. O cliente de gerenciamento interno do Windows 10 se comunica com o Intune para executar tarefas de gerenciamento da empresa. Talvez você precise de algumas tarefas, como configuração avançada de dispositivo e solução de problemas. Para gerenciamento de aplicativo do Win32, você pode usar o recurso Gerenciamento de aplicativo Win32 em seus dispositivos com Windows 10.

A extensão de gerenciamento do Intune complementa os recursos de MDM internos do Windows 10. Você pode criar scripts do PowerShell para serem executados em dispositivos Windows 10. Por exemplo, crie um script do PowerShell que faça configurações avançadas do dispositivo. Em seguida, carregue o script para o Intune, atribua o script a um grupo do Microsoft Entra e execute o script. Em seguida, você pode monitorar o status de execução do script do início ao fim.

Antes de começar

  • Quando os scripts estão definidos para o contexto de usuário e o usuário final tem direitos de administrador, por padrão, o script do PowerShell é executado sob o privilégio de administrador.

  • Os usuários finais não precisam entrar no dispositivo para executar scripts do PowerShell.

  • O agente de extensão de gerenciamento do Intune verifica após cada reinicialização se há novos scripts ou alterações. Depois de atribuir a política aos grupos do Microsoft Entra, o script do PowerShell é executado e os resultados da execução são comunicados. Após a execução do script, ele não será executado novamente, a menos que haja uma alteração no script ou na política. Se o script falhar, o agente da extensão de gerenciamento do Intune tentará repeti-lo três vezes nos próximos três check-ins consecutivos do agente de extensão de gerenciamento do Intune.

  • Para os dispositivos compartilhados, o script do PowerShell será executado para cada novo usuário que se conectar.

  • Os scripts do PowerShell são executados antes da execução de aplicativos Win32. Ou seja, os scripts do PowerShell são executados primeiro. Depois, os aplicativos Win32 são executados.

  • Os scripts do PowerShell atingem o tempo limite após 30 minutos.

Importante

As melhores práticas para a deteção de privacidade ao utilizar scripts do PowerShell e scripts de Remediação incluem o seguinte:

  • Não inclua qualquer tipo de informações confidenciais em scripts (como palavras-passe)
  • Não inclua Informações Pessoais (PII) em scripts
  • Não utilizar scripts para recolher PII de dispositivos
  • Siga sempre as melhores práticas de privacidade

Para obter informações relacionadas, veja Remediações.

Pré-requisitos

A extensão de gerenciamento do Intune tem os pré-requisitos a seguir. Depois que eles forem atendidos, a extensão de gerenciamento do Intune será instalada automaticamente quando um script do PowerShell ou um aplicativo Win32 for atribuído ao usuário ou ao dispositivo.

  • Dispositivos executando o Windows 10 versão 1607 ou posterior. Se o dispositivo foi registrado usando o registro automático em massa, os dispositivos precisam executar o Windows 10 versão 1709 ou posteriores. A extensão de gerenciamento do Intune não é compatível com o Windows 10 no modo S, já que o modo S não permite a execução de aplicativos que não fazem parte da loja.

  • Dispositivos associados ao Microsoft Entra ID, incluindo:

  • Dispositivos registrados no Intune, incluindo:

    • Dispositivos registrados em uma política de grupo (GPO). Veja Registrar um dispositivo Windows 10 automaticamente usando a Política de Grupo para obter orientação.

    • Dispositivos manualmente registrados no Intune, que é quando:

      • A inscrição automática no Intune está ativada no Microsoft Entra ID. Os utilizadores iniciam sessão em dispositivos com uma conta de utilizador local e associam manualmente o dispositivo ao Microsoft Entra ID. Em seguida, iniciam sessão no dispositivo com a respetiva conta Microsoft Entra.

      OU

      • O utilizador inicia sessão no dispositivo com a respetiva conta do Microsoft Entra e, em seguida, inscreve-se no Intune.
    • Dispositivos cogerenciados que usam o Configuration Manager e o Intune. Ao instalar aplicativos Win32, verifique se a carga de trabalho Aplicativos está definida como Intune piloto ou Intune. Os scripts do PowerShell serão executados mesmo se a carga de trabalho Aplicativos estiver definida como Configuration Manager. A extensão de gerenciamento do Intune será implantada em um dispositivo quando você direcionar um script do PowerShell para o dispositivo. Lembre-se de que o dispositivo tem de ser um dispositivo associado ao Microsoft Entra ID ou ao Microsoft Entra híbrido. E ele precisa estar executando o Windows 10 versão 1607 ou posterior. Confira os seguintes artigos para obter diretrizes:

  • Os scripts implantados para clientes que executam a extensão de gerenciamento do Intune não serão executados se o relógio do sistema do dispositivo estiver excessivamente desajustado por meses ou anos. Depois que o relógio do sistema for atualizado, o script será executado conforme o esperado.

Observação

Para obter informações sobre o uso de VMs do Windows 10, confira Como usar máquinas virtuais do Microsoft 10 com o Intune.

Criar uma política de script e atribuí-la

  1. Entre no Centro de administração do Microsoft Intune.

  2. Selecione Scripts de Dispositivos>e remediações Scripts> deplataforma Adicionar>>Windows 10 e posterior.

    Captura de tela que mostra a criação de um novo script para um dispositivo do Windows 10.

  3. Em Noções Básicas, insira as seguintes propriedades e selecione Avançar:

    • Nome:insira um nome para o script do PowerShell.
    • Descrição: insira uma descrição para o script do PowerShell. Essa configuração é opcional, mas recomendada.
  4. Em Configurações de script, insira as seguintes propriedades e selecione Avançar:

    • Local do script: procure pelo script do PowerShell. O script deve ter menos de 200 KB (ASCII).

    • Execute este script com as credenciais com sessão iniciada: selecione Sim (predefinição) para executar o script com as credenciais do utilizador no dispositivo. Selecione Não para executar o script no contexto do sistema. Muitos administradores escolhem Sim. Se for necessário executar o script no contexto do sistema, escolha Não.

    • Impor verificação de assinatura de script: selecione Sim (predefinição) se o script tiver de ser assinado por um fabricante fidedigno. Selecione Não se não existir um requisito para que o script seja assinado.

    • Executar o script em um host do PowerShell de 64 bits: selecione Sim para executar o script em um host do PowerShell de 64 bits em uma arquitetura de cliente de 64 bits. Selecione Não (padrão) para executar o script em um host do PowerShell de 32 bits.

      Ao definir como Sim ou Não, use a tabela a seguir para um comportamento de política novo ou existente:

      Executar o script no host de 64 bits Arquitetura do cliente Novo script Script de política existente
      Não 32 bits Host do PowerShell de 32 bits com suporte É executado somente no host do PowerShell de 32 bits, que funciona em arquiteturas de 32 e de 64 bits.
      Sim 64 bits Executa o script no host do PowerShell de 64 bits para arquiteturas de 64 bits. Quando executado em 32 bits, o script é executado em um host do PowerShell de 32 bits. Executa o script no host do PowerShell de 32 bits. Se essa configuração for alterada para 64 bits, o script será aberto (ele não será executado) em um host do PowerShell de 64 bits e relatará os resultados. Quando executado em 32 bits, o script é executado em um host do PowerShell de 32 bits.
  5. Selecione Marcas de escopo. As marcas de escopo são opcionais. Usar o RBAC (controle de acesso baseado em função) e marcas de escopo para TI distribuída traz mais informações.

    Para adicionar uma marca de escopo:

    1. Selecione Selecionar etiquetas> de âmbito, selecione uma etiqueta de âmbito existente na lista >Selecionar.

    2. Quando terminar, selecione Avançar.

  6. Selecione Atribuições>Selecionar grupos a serem incluídos. É apresentada uma lista existente de grupos do Microsoft Entra.

    1. Selecione um ou mais grupos que contenham os usuários cujos dispositivos recebem o script. Escolha Selecionar. Os grupos escolhidos são mostrados na lista e receberão sua política.

      Observação

      Os scripts do PowerShell no Intune podem ser direcionados para grupos de segurança de dispositivos microsoft Entra ou grupos de segurança de utilizadores do Microsoft Entra. No entanto, ao direcionar dispositivos associados à área de trabalho (WPJ), apenas podem ser utilizados grupos de segurança de dispositivos Microsoft Entra (a segmentação de utilizadores será ignorada).

    2. Selecione Avançar.

      Atribuir ou implantar o script do PowerShell em grupos de dispositivos no Microsoft Intune

  7. Em Examinar + adicionar, é mostrado um resumo das configurações definidas. Selecione Adicionar para salvar o script. Quando você seleciona Adicionar, a política é implantada nos grupos escolhidos.

Falha ao executar o script de exemplo

8h

  • Fazer ceck-in
  • Executar script ConfigScript01
  • Falha no script

9h

  • Fazer ceck-in
  • Executar script ConfigScript01
  • Falha de script (contagem de repetições = 1)

10h

  • Fazer ceck-in
  • Executar script ConfigScript01
  • Falha de script (contagem de repetições = 2)

11h

  • Fazer ceck-in
  • Executar script ConfigScript01
  • Falha de script (contagem de repetições = 3)

12h

  • Fazer ceck-in
  • Nenhuma tentativa adicional de execução do script ConfigScript01 é feita.
  • Se nenhuma alteração adicional for feita no script, nenhuma tentativa adicional de execução do script será feita.

Monitorar status de execução

Você pode monitorar o status de execução de scripts do PowerShell para usuários e dispositivos no portal.

No painel Scripts do PowerShell, selecione o script a ser monitorado, escolha Monitorar e, em seguida, escolha um dos seguintes relatórios:

  • Status do dispositivo
  • Status do usuário

Logs da extensão de gerenciamento do Intune

Os logs do agente no computador cliente geralmente estão em C:\ProgramData\Microsoft\IntuneManagementExtension\Logs. Você pode usar CMTrace.exe para exibir esses arquivos de log.

Captura de tela ou exemplo de logs do agente cmtrace no Microsoft Intune

Além disso, pode utilizar o ficheiro de registo AppWorkload.log para ajudar a resolver problemas e analisar eventos de gestão de aplicações Win32 no cliente. Este ficheiro de registo contém todas as informações de registo relacionadas com as atividades de implementação de aplicações realizadas pelo IME.

Excluir um script

Em scripts do PowerShell, clique com o botão direito do mouse no script e selecione Excluir.

Problemas e resoluções comuns

Problema: a extensão de gerenciamento do Intune não baixa

Possíveis resoluções:

  • O dispositivo não está associado ao ID do Microsoft Entra. Verifique se os dispositivos atendem aos pré-requisitos (neste artigo).
  • Não há scripts do PowerShell nem aplicativos Win32 atribuídos aos grupos aos quais o usuário ou dispositivo pertence.
  • O dispositivo não consegue fazer check-in no serviço do Intune. Por exemplo, não há acesso à Internet, não há acesso aos WNS (Serviços de Notificação por Push do Windows) e assim por diante.
  • O dispositivo está no modo S. A extensão de gerenciamento do Intune não é compatível com dispositivos que executam no modo S.

Passos para ver se o dispositivo é registrado automaticamente:

  1. Acesse Configurações>Contas>Acessar conta corporativa ou de estudante.
  2. Selecione as Informações da conta > associada.
  3. Em Relatório de Diagnóstico Avançado, selecione Criar Relatório.
  4. Abra o MDMDiagReport em um navegador da Web.
  5. Procure a propriedade MDMDeviceWithAAD. Se a propriedade existe, o dispositivo é registrado automaticamente. Se essa propriedade não existe, o dispositivo não foi registrado automaticamente.

Habilitar o registro automático do Windows 10 inclui as etapas para configurar o registro automático no Intune.

Problema: os scripts do PowerShell não são executados

Possíveis resoluções:

  • Os scripts do PowerShell não são executados em cada entrada. Eles são executados:

    • Quando o script é atribuído a um dispositivo

    • Se você alterar o script, carregue-o e atribua-o a um usuário ou dispositivo

      Dica

      A Extensão de gerenciamento do Microsoft Intune é um serviço que é executado no dispositivo, assim como qualquer outro serviço listado no aplicativo de Serviços (services.msc). Após a reinicialização de um dispositivo, esse serviço também pode reiniciar e verificar se há qualquer script do PowerShell atribuído com o serviço Intune. Se o serviço Extensão de Gerenciamento do Microsoft Intune for definido como Manual, o serviço poderá não ser reiniciado depois que o dispositivo for reinicializado.

  • Certifique-se de que os dispositivos estão associados ao ID do Microsoft Entra. Os dispositivos que só estão associados à sua área de trabalho ou organização (registados no Microsoft Entra ID) não receberão os scripts.

  • Confirme se a extensão de gerenciamento do Intune foi baixada em %ProgramFiles(x86)%\Microsoft Intune Management Extension.

  • Scripts não são executados nos Surface Hubs nem no Windows 10 no modo S.

  • Examine os logs em busca de erros. Confira Logs da extensão de gerenciamento do Intune (neste artigo).

  • Para possíveis problemas de permissão, certifique-se que as propriedades do script do PowerShell estejam definidas como Run this script using the logged on credentials. Verifique também se o usuário conectado tem as permissões apropriadas para executar o script.

  • Para isolar problemas de script, faça o seguinte:

    • Examine a configuração de execução do PowerShell em seus dispositivos. Consulte a Política de execução do PowerShell para obter orientação.

    • Execute um script de exemplo usando a extensão de gerenciamento do Intune. Por exemplo, crie o diretório C:\Scripts e dê controle total a todos. Execute o seguinte script:

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

      Se tiver êxito, output.txt deve ser criado e deve incluir o texto "Script worked" (O script funcionou).

    • Para testar a execução do script sem o Intune, execute os scripts na conta do Sistema usando a ferramenta psexec localmente:

      psexec -i -s

    • Caso o script relate que obteve êxito quando, na verdade, não obteve, é possível que seu serviço de antivírus tenha colocado o AgentExecutor na área restrita. O script a seguir sempre relata uma falha no Intune. Como um teste, você pode usar este script:

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

      Se o script relatar que obteve êxito, confira AgentExecutor.log para confirmar a saída do erro. Se o script for executado, o comprimento deve ser >2.

    • Para capturar os arquivos .error e .output, o snippet a seguir executa o script pelo por meio do AgentExecutor para PowerShell x86 (C:\Windows\SysWOW64\WindowsPowerShell\v1.0). Ele mantém os logs para sua análise. Lembre-se que a Extensão de Gerenciamento do Intune limpa os logs após a execução do 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
      

Próximas etapas

Monitorar e solucionar problemas de seus perfis.