Utilize scripts PowerShell em dispositivos Windows 10 em Intune

Utilize a extensão de gestão Microsoft Intune para carregar scripts PowerShell no Intune. Em seguida, executar estes scripts em Windows 10 dispositivos. A extensão de gestão melhora Windows gestão de dispositivos (MDM), e facilita a mudança para a gestão moderna.

Esta funcionalidade aplica-se a:

  • Windows 10 e posteriormente (excluindo Windows 10 Home)

Nota

Uma vez cumpridos os pré-requisitos de extensão de gestão Intune, a extensão de gestão Intune é instalada automaticamente quando um script PowerShell ou uma aplicação Win32 são atribuídos ao utilizador ou dispositivo. Para mais informações, consulte os pré-requisitosdas Extensões de Gestão intune.

Os scripts PowerShell, que não são oficialmente suportados em dispositivos de adere no Workplace (WPJ), podem ser implantados em dispositivos WPJ. Especificamente, os scripts powerShell de contexto do dispositivo funcionam em dispositivos WPJ, mas os scripts PowerShell de contexto do utilizador são ignorados pelo design. Os scripts de contexto do utilizador serão ignorados em dispositivos WPJ e não serão reportados à consola Microsoft Endpoint Manager.

Mudar para a gestão moderna

A computação de utilizadores está a passar por uma transformação digital. A TI tradicional foca-se numa única plataforma de dispositivos, dispositivos de propriedade empresarial, utilizadores que trabalham a partir do escritório, e diferentes processos de TI manuais e reativos. O local de trabalho moderno utiliza muitas plataformas que são de propriedade de utilizadores e negócios. Permite que os utilizadores trabalhem a partir de qualquer lugar, e fornece processos de TI automatizados e proativos.

Os serviços de MDM, como Microsoft Intune, podem gerir dispositivos móveis e desktop que Windows 10. O cliente de gestão de Windows 10 incorporado comunica com a Intune para executar tarefas de gestão empresarial. Existem algumas tarefas que poderá necessitar, como a configuração avançada do dispositivo e a resolução de problemas. Para a gestão de aplicações Win32, pode utilizar a funcionalidade de gestão de aplicações Win32 nos seus dispositivos Windows 10.

A extensão de gestão Intune complementa as funcionalidades de MDM in-box Windows 10. Pode criar scripts PowerShell para executar em dispositivos Windows 10. Por exemplo, crie um script PowerShell que faça configurações avançadas do dispositivo. Em seguida, faça o upload do script para Intune, atribua o script a um grupo de Azure Ative Directory (AD) e execute o script. Em seguida, pode monitorizar o estado de execução do script do início ao fim.

Antes de começar

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

  • Os utilizadores finais não são obrigados a iniciar seduções no dispositivo para executar scripts PowerShell.

  • O agente de extensão de gestão Intune verifica com o Intune uma vez a cada hora e depois de cada reboot para quaisquer novos scripts ou alterações. Depois de atribuir a política aos grupos do Azure AD, o script do PowerShell será executado e os resultados de execução serão comunicados. Uma vez que o script executa, não executa novamente a menos que haja uma mudança no script ou na política. Se o script falhar, o agente de extensão de gestão Intune retrimba o script três vezes para os próximos três check-ins consecutivos do agente de extensão de gestão Intune.

  • Para dispositivos partilhados, o script PowerShell será executado para cada novo utilizador que se inscreve.

  • Os scripts PowerShell são executados antes da execução das aplicações Win32. Por outras palavras, os scripts PowerShell executam primeiro. Em seguida, as aplicações Win32 executam.

  • Os scripts powerShell estão fora após 30 minutos.

Pré-requisitos

A extensão de gestão intune tem os seguintes pré-requisitos. Uma vez que são cumpridos, a extensão de gestão Intune instala-se automaticamente quando um script PowerShell ou uma aplicação Win32 são atribuídos ao utilizador ou dispositivo.

  • Os dispositivos em execução Windows 10 versão 1607 ou posterior. Se o dispositivo estiver matriculado com matrícula automática a granel,os dispositivos devem ser executados Windows 10 versão 1709 ou posterior. A extensão de gestão Intune não é suportada no modo S Windows 10, uma vez que o modo S não permite executar aplicações não-loja.

  • Dispositivos unidos a Azure Ative Directory (AD), incluindo:

  • Azure AD registrado/Workplace aderido (WPJ): Dispositivos registados em Azure Ative Directory (AAD), ver Workplace Join como uma autenticação de segundo fator sem costura para mais informações. Normalmente, estes são dispositivos Bring Your Own Device (BYOD) que tiveram uma conta de trabalho ou escola adicionada através de Definições>Contas>Access ou escola.

  • Dispositivos matriculados em Intune, incluindo:

    • Dispositivos matriculados numa política de grupo (GPO). Consulte inscrever um dispositivo Windows 10 automaticamente utilizando a Política de Grupo para obter orientação.

    • Dispositivos matriculados manualmente no Intune, que é quando:

      • A inscrição automática no Intune está ativada no Azure AD. Os utilizadores inscrevem-se nos dispositivos utilizando uma conta de utilizador local e juntam-se manualmente ao Azure AD. Depois, inscrevem-se no dispositivo utilizando a sua conta Azure AD.

      OU

      • O utilizador inscreve-se no dispositivo utilizando a sua conta Azure AD e, em seguida, inscreve-se no Intune.
    • Dispositivos cogeridos que utilizam o Gestor de Configuração e o Intune. Ao instalar aplicações Win32, certifique-se de que a carga de trabalho das Apps está definida para Pilot Intune ou Intune. Os scripts PowerShell serão executados mesmo que a carga de trabalho das Apps esteja definida para o Gestor de Configuração. A extensão de gestão Intune será implantada num dispositivo quando se direcionar um script PowerShell para o dispositivo. Lembre-se, o dispositivo deve ser um dispositivo AZure AD ou AD Híbrido Azure. E, deve estar a correr Windows 10 versão 1607 ou mais tarde. Consulte os seguintes artigos de orientação:

Nota

Para obter informações sobre a utilização da Janela 10 VMs, consulte utilizar Windows 10 máquinas virtuais com Intune.

Crie uma política de scripts e atribua-a

  1. Inicie sessão no centro de administração do Microsoft Endpoint Manager.

  2. Selecione dispositivos > PowerShell Scripts > Add.

    Adicione e use scripts PowerShell em Microsoft Intune

  3. Em Basics, insira as seguintes propriedades e selecione Seguinte:

    • Nome: Introduza um nome para o script PowerShell.
    • Descrição: Introduza uma descrição para o script PowerShell. Esta definição é opcional, mas recomendada.
  4. Nas definições do Script, insira as seguintes propriedades e selecione Seguinte:

    • Localização do script: Navegue no script PowerShell. O script deve ser inferior a 200 KB (ASCII).

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

    • Imponha a verificação da assinatura do script : Selecione Sim se o script tiver de ser assinado por um editor de confiança. Selecione Não (predefinição) se não houver um requisito para que o script seja assinado.

    • Executar script em anfitrião PowerShell de 64 bits: Selecione Sim para executar o script num anfitrião PowerShell de 64 bits numa arquitetura de cliente de 64 bits. Selecione No (predefinido) executa o script num anfitrião PowerShell de 32 bits.

      Ao configurar para Sim ou Não, utilize a seguinte tabela para um comportamento político novo e existente:

      Executar script em anfitrião de 64 bits Arquitetura do cliente Novo roteiro Script de política existente
      No 32 bits Anfitrião PowerShell de 32 bits apoiado Funciona apenas em 32 bits de anfitrião PowerShell, que trabalha em arquiteturas de 32 bits e 64 bits.
      Yes 64 bits Executa o script em 64 bits PowerShell host para arquiteturas de 64 bits. Quando executado em 32 bits, o script é executado em um anfitrião PowerShell de 32 bits. Executa o script no anfitrião PowerShell de 32 bits. Se esta definição mudar para 64 bits, o script abre (não funciona) num anfitrião PowerShell de 64 bits e reporta os resultados. Quando executado em 32 bits, o script é executado em 32 bits powerShell host.
  5. Selecione etiquetas de âmbito. As etiquetas de âmbito são opcionais. A utilização de controlo de acesso baseado em funções (RBAC) e etiquetas de âmbito para TI distribuídas tem mais informações.

    Para adicionar uma etiqueta de âmbito:

    1. Escolha Selecionar as etiquetas de âmbito > selecionar uma etiqueta de âmbito existente na lista > Select.

    2. Quando terminar, selecione Seguinte.

  6. Selecione Atribuições > Selecione grupos para incluir. É apresentada uma lista existente de grupos AD Azure.

    1. Selecione um ou mais grupos que incluam os utilizadores cujos dispositivos recebem o script. Escolha Selecionar. Os grupos que escolheu são apresentados na lista e receberão a sua política.

      Nota

      Os scripts PowerShell em Intune podem ser direcionados para grupos de segurança de dispositivos AD Azure ou grupos de segurança de utilizadores AZure AD. No entanto, ao direcionar os dispositivos de aderimento do local de trabalho (WPJ), apenas podem ser utilizados grupos de segurança de dispositivos Azure AD (a segmentação do utilizador será ignorada). Para obter mais informações, consulte o suporte da aplicação Win32 para dispositivos de adere ao Local de Trabalho (WPJ).

    2. Selecione Seguinte.

      Atribua ou implemente o script PowerShell para grupos de dispositivos em Microsoft Intune

  7. Em Comentário + adicionar, é mostrado um resumo das definições configuradas. Selecione Adicionar para guardar o script. Quando seleciona Add, a política é implementada para os grupos que escolheu.

Falha na execução do exemplo do script

8 DA MANHÃ

  • Dar entrada
  • Executar script ConfigScript01
  • O script falha

09H00

  • Dar entrada
  • Executar script ConfigScript01
  • O script falha (contagem de repetição = 1)

10:00

  • Dar entrada
  • Executar script ConfigScript01
  • O script falha (contagem de repetição = 2)

11 DA

  • Dar entrada
  • Executar script ConfigScript01
  • O script falha (contagem de repetição = 3)

12:00

  • Dar entrada
  • Não são feitas tentativas adicionais para executar o script ConfigScript01.
  • Se não forem feitas alterações adicionais no script, não são feitas tentativas adicionais para executar o script.

Monitorizar o estado de execução

Pode monitorizar o estado de funcionação dos scripts PowerShell para utilizadores e dispositivos no portal.

Em Scripts do PowerShell, selecione o script que pretende monitorizar, selecione Monitorizar e, em seguida, selecione um dos seguintes relatórios:

  • Estado do dispositivo
  • Estado de utilizador

Registos de extensão de gestão intune

Os registos de agentes na máquina do cliente estão normalmente dentro \ProgramData\Microsoft\IntuneManagementExtension\Logs . Pode utilizar CMTrace.exe para visualizar estes ficheiros de registo.

Registos de agentes cmtrace de screenshot ou amostra em Microsoft Intune

Excluir um script

Em Scripts do PowerShell, clique com o botão direito no script e selecione Eliminar.

Problemas comuns e resoluções

Problema: Extensão de gestão intune não descarrega

Possíveis resoluções:

  • O dispositivo não está associado à Azure AD. Certifique-se de que os dispositivos cumprem os requisitos pré-requisitos (neste artigo).
  • Não existem scripts PowerShell ou aplicações Win32 atribuídas aos grupos a que o utilizador ou dispositivo pertence.
  • O dispositivo não pode fazer o check-in com o serviço Intune. Por exemplo, não há acesso à Internet, não há acesso a Windows Serviços de Notificação push (WNS), e assim por diante.
  • O dispositivo está no modo S. A extensão de gestão Intune não é suportada em dispositivos em funcionamento no modo S.

Para ver se o dispositivo está matriculado automaticamente, pode:

  1. Vá a Definições > Contas > Acesso ao trabalho ou à escola.
  2. Selecione a conta aderida > Info.
  3. Ao abrigo do Relatório Avançado de Diagnóstico, selecione Create Report.
  4. Abra o MDMDiagReport num navegador web.
  5. Procure a propriedade MDMDeviceWithAAD. Se a propriedade existir, o dispositivo está matriculado automaticamente. Se esta propriedade não existe, então o dispositivo não está matriculado automaticamente.

Permitir Windows 10 inscrição automática inclui os passos para configurar a inscrição automática no Intune.

Problema: Os scripts PowerShell não são executados

Possíveis resoluções:

  • Os scripts PowerShell não funcionam em todos os sinais. Correm:

    • Quando o script é atribuído a um dispositivo

    • Se alterar o script, faça o upload e atribua o script a um utilizador ou dispositivo

      Dica

      A Extensão de Gestão Microsoft Intune é um serviço que funciona no dispositivo, tal como qualquer outro serviço listado na aplicação Services (services.msc). Depois de um dispositivo reiniciar, este serviço também pode reiniciar e verificar se há scripts PowerShell atribuídos com o serviço Intune. Se o serviço de extensão de Microsoft Intune de gestão estiver definido como Manual, o serviço pode não reiniciar após o reatamento do dispositivo.

  • Certifique-se de que os dispositivos estão unidos ao Azure AD. Os dispositivos que só se unam ao seu local de trabalho ou organização(registado em Azure AD) não receberão os scripts.

  • O cliente de extensão de gestão Intune verifica uma vez por hora quaisquer alterações no script ou política no Intune.

  • Confirme que a extensão de gestão intune é descarregada para %ProgramFiles(x86)%\Microsoft Intune Management Extension .

  • Os scripts não são executados em Surface Hubs ou Windows 10 no modo S.

  • Reveja os registos para eventuais erros. Consulte os registos de extensão de gestão Intune (neste artigo).

  • Para possíveis problemas de permissão, certifique-se de que as propriedades do script PowerShell estão definidas para Run this script using the logged on credentials . Verifique também se o utilizador assinado tem as permissões adequadas para executar o script.

  • Para isolar problemas de script, pode:

    • Reveja a configuração de execução PowerShell nos seus dispositivos. Consulte a política de execução powerShell para obter orientação.

    • Executar um script de amostra usando a extensão de gestão Intune. Por exemplo, criar o C:\Scripts diretório e dar a todos o controlo total. Execute o seguintes script:

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

      Se for bem sucedido, output.txt deve ser criado e deve incluir o texto "Script trabalhado".

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

      psexec -i -s

    • Se o guião diz que foi bem sucedido, mas não conseguiu, então é possível que o seu serviço antivírus possa ser o Agente de SandboxingExecutor. O seguinte guião relata sempre uma falha no Intune. Como teste, pode utilizar este script:

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

      Se o script reportar um sucesso, olhe AgentExecutor.log para confirmar a saída de erro. Se o script for executado, o comprimento deve ser >2.

    • Para capturar os .error ficheiros e .output ficheiros, o seguinte corte executa o script através do AgentExecutor para PowerShell x86 ( C:\Windows\SysWOW64\WindowsPowerShell\v1.0 ). Mantém os registos para a sua avaliação. Lembre-se, a Extensão de Gestão Intune limpa os registos 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
      

Passos seguintes

Monitorize e resolva os seus perfis.