Compartilhar via


Utilizar Scripts do PowerShell em Dispositivos Windows no Intune

A 14 de outubro de 2025, Windows 10 atingido o fim do suporte e não receberá atualizações de qualidade e funcionalidades. Windows 10 é uma versão permitida no Intune. Os dispositivos com esta versão ainda podem inscrever-se no Intune e utilizar funcionalidades elegíveis, mas a funcionalidade não será garantida e poderá variar.

Use a extensão de gerenciamento do Microsoft Intune para carregar scripts do PowerShell no Intune. Em seguida, execute estes scripts em dispositivos Windows. A extensão de gestão melhora a MDM e facilita a mudança para a gestão moderna.

Observação

Para obter informações sobre a extensão de gestão do Intune para Windows, veja Extensão de gestão do Intune para Windows.

Antes de começar

  • Os scripts definidos para o contexto de utilizador com direitos de administrador executam o PowerShell por predefinição sob privilégio de administrador.

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

  • A extensão de gestão do Intune verifica após cada reinício quaisquer novos scripts ou alterações. Depois de atribuir a política aos grupos de 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, a extensão de gestão do Intune repetirá o script três vezes para os próximos três marcar-ins consecutivos da extensão de gestão do Intune.

  • Os scripts do PowerShell atribuídos ao dispositivo são executados para todos os novos utilizadores que iniciam sessão, exceto em SKUs de várias sessões em que o marcar de utilizador está desativado.

  • 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:

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

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

Pré-requisitos

  • A extensão de gestão do Intune é instalada automaticamente quando uma aplicação de script do PowerShell é atribuída ao utilizador ou dispositivo. Para obter mais informações, veja Extensão de gestão do Intune para Windows.

Importante

Os scripts implementados em clientes que executam a extensão de gestão do Intune não são executados se o relógio do sistema do dispositivo estiver extremamente desatualizado por meses ou anos. Assim que o relógio do sistema estiver atualizado, o script é executado conforme esperado.

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

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

  2. SelecioneScripts de Dispositivos>e remediações Scripts>> deplataformaAdicionar >Windows 10 e posterior.

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

  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 assinatura de script marcar: 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. A utilização de controlo de acesso baseado em funções e etiquetas de âmbito para TI distribuída tem mais informações.

    Para adicionar uma marca de escopo:

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

    • Quando terminar, selecione Avançar.

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

    • Selecione um ou mais grupos que contenham os usuários cujos dispositivos recebem o script. Escolha Selecionar. Os grupos que escolheu são apresentados na lista e recebem a sua política.

      Observação

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

    • 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.

Cenário – Falha ao executar o script

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
  • Não são efetuadas outras tentativas para executar o script ConfigScript01.
  • Se não forem efetuadas outras alterações ao script, não serão efetuadas outras tentativas para executar o script.

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

Observação

As exportações de status do dispositivo do centro de administração do Intune para scripts de plataforma utilizam agora a API de Exportação do Intune e os nomes das colunas CSV estão alinhados com o esquema da API.

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: 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 o reinício de um dispositivo, este serviço poderá ser reiniciado e marcar para quaisquer scripts do PowerShell atribuídos com o serviço Intune. Se o serviço da Extensão de Gestão do Microsoft Intune estiver definido como Manual, o serviço poderá não ser reiniciado após o reinício do dispositivo.

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

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

  • Os scripts não são executados em Surface Hubs ou Windows 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

    • Se o script comunicar que foi bem-sucedido, mas não foi realmente bem-sucedido, é possível que o seu serviço antivírus possa ser o AgenteExecutor de sandboxing. 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
      

Problema: porque é que os scripts estão em execução, apesar de o Windows já não ser gerido?

Quando um dispositivo Windows com scripts atribuídos já não é gerido, o IME não é removido imediatamente. O IME deteta que o Windows não é gerido no IME seguinte marcar -in (normalmente a cada 8 horas) e cancela as execuções de scripts. Entretanto, quaisquer scripts armazenados localmente podem ser executados. Quando o IME não consegue marcar, repete o registo durante um máximo de 24 horas (tempo de utilização do dispositivo) e, em seguida, remove-se a si próprio do dispositivo Windows.

Próximas etapas

Monitorar e solucionar problemas de seus perfis.