Criar e executar scripts do PowerShell do console do Configuration ManagerCreate and run PowerShell scripts from the Configuration Manager console

Aplica-se a: System Center Configuration Manager (Branch Atual)Applies to: System Center Configuration Manager (Current Branch)

Agora, a capacidade de executar scripts do Powershell com o System Center Configuration Manager está mais bem integrada.We've now better integrated the ability to run Powershell Scripts with System Center Configuration Manager. O PowerShell oferece a vantagem de criar scripts automatizados sofisticados que são entendidos e compartilhados com uma comunidade maior.Powershell has the benefit of creating sophisticated, automated scripts that are understood and shared with a larger community. Os scripts simplificam a construção de ferramentas personalizadas para administrar o software e permitem realizar tarefas rotineiras rapidamente, possibilitando concluir trabalhos grandes com mais facilidade e consistência.The scripts simplify building custom tools to administer software and let you accomplish mundane tasks quickly allowing you to get big jobs done more easily and more consistently.

Com essa integração no System Center Configuration Manager, você pode usar a funcionalidade Executar Scripts para fazer o seguinte:With this integration in System Center Configuration Manager, you can use the Run Scripts functionality to do the following:

  • Criar e editar scripts a serem usados com o Configuration Manager.Create and edit scripts for use with Configuration Manager.
  • Gerenciar o uso de script por meio de funções e escopos de segurançaManage script usage through roles and security scopes
  • Executar scripts em coleções ou em computadores Windows individuais gerenciados localmente.Run scripts on collections or individual on-premises managed Windows PCs.
  • Obter resultados rápidos do script agregado dos dispositivos clientes.Get rapid aggregated script results from client devices.
  • Monitorar a execução do script e exibir os resultados do relatório da saída do script.Monitor script execution and view reporting results from script output.

Importante

Considerando a potência dos scripts, lembre-se de usá-los com uma intenção definida e com cuidado.Given the power of scripts, we remind you to be intentional and careful with their usage. Inserimos proteções adicionais para ajudá-lo, além de funções segregadas e escopos.We have built in additional safeguards to assist you; segregated roles and scopes. Valide a precisão dos scripts antes de executá-los e confirme se eles são de uma fonte confiável, para impedir uma execução não intencional do script.Be sure to validate the accuracy of scripts before running them and confirm they are from a trusted source, to prevent unintended script execution. Preste atenção em caracteres estendidos ou outras ofuscações e aprenda como proteger scripts.Be mindful of extended characters or other obfuscation and educate yourself about securing scripts.

Dica

Introduzido na versão 1706, o Scripts do PowerShell é um recurso de pré-lançamento.Introduced with version 1706, PowerShell Scripts is a pre-release feature. Para habilitar os scripts, confira Recursos de pré-lançamento no System Center Configuration Manager.To enable scripts, see Pre-release features in System Center Configuration Manager.

Pré-requisitosPrerequisites

  • Para executar scripts do PowerShell, o cliente deve executar o PowerShell versão 3.0 ou posterior.To run PowerShell scripts, the client must be running PowerShell version 3.0 or later. No entanto, se um script for executado contendo funcionalidades de uma versão posterior do PowerShell, o cliente no qual o script estiver sendo executado deverá estar executando essa versão do PowerShell.However, if a script you run contains functionality from a later version of PowerShell, the client on which you run the script must be running that version of PowerShell.
  • Clientes do Configuration Manager devem estar executando o cliente da versão 1706 ou posterior para executar scripts.Configuration Manager clients must be running the client from the 1706 release, or later in order to run scripts.
  • Para usar scripts, você deve ser membro da função de segurança apropriada do Configuration Manager.To use scripts, you must be a member of the appropriate Configuration Manager security role.
  • Para importar e criar scripts – sua conta deve ter as permissões Criar para Scripts SMS na função de segurança Administrador Completo.To import and author scripts - Your account must have Create permissions for SMS Scripts in the Full Administrator security role.
  • Para aprovar ou negar scripts – sua conta deve ter as permissões Aprovar para Scripts SMS na função de segurança Administrador Completo.To approve or deny scripts - Your account must have Approve permissions for SMS Scripts in the Full Administrator security role.
  • Para executar scripts – sua conta deve ter permissões de Execução de Script para Coleções na função de segurança Gerenciador de Configurações de Conformidade.To run scripts - Your account must have Run Script permissions for Collections in the Compliance Settings Manager security role.

Para saber mais sobre as funções de segurança do Configuration Manager, confira Conceitos básicos da administração baseada em funções para o System Center Configuration Manager.For more information about Configuration Manager security roles, see Fundamentals of role-based administration.

LimitaçõesLimitations

No momento, o recurso Executar Scripts dá suporte para:Run Scripts currently supports:

  • Linguagens de scripts: PowerShellScripting languages: PowerShell
  • Tipos de parâmetro: inteiro e cadeia de caracteresParameter types: integer and string

Autores e aprovadores do recurso Executar ScriptRun Script authors and approvers

O recurso Executar Scripts usa o conceito de autores de script e aprovadores e script como funções separadas para a implementação e a execução de um script.Run Scripts uses the concept of script authors and script approvers as separate roles for implementation and execution of a script. A separação das funções de autor e aprovador permite um processo de verificação importante para a potente ferramenta Executar Scripts.Having the author and approver roles separated allows for an important process check for the powerful tool that Run Scripts is.

Controle de funções de scriptsScripts roles control

Por padrão, os usuários não podem aprovar um script que criaram.By default, users cannot approve a script they have authored. Como os scripts são poderosos, versáteis e podem ser implantados em vários dispositivos, você pode separar as funções entre a pessoa que cria o script, e a pessoa que aprova o script.Because scripts are powerful, versatile, and can be deployed to many devices, you can separate the roles between the person that authors the script and the person that approves the script. Essas funções proporcionam um nível a mais de segurança contra a execução de um script sem supervisão.These roles give an additional level of security against running a script without oversight. Você pode desativar esta aprovação secundária, para facilitar o teste.You can turn off this secondary approval, for ease of testing.

Aprovar ou negar um scriptApprove or Deny a script

Os scripts precisam ser aprovados pela função aprovador de script, antes de serem executados.Scripts must be approved, by the script approver role, before they can be run. Para aprovar um script:To approve a script:

  1. No console do Configuration Manager, clique em Biblioteca de Software.In the Configuration Manager console, click Software Library.
  2. No espaço de trabalho Biblioteca de Software, clique em Scripts.In the Software Library workspace, click Scripts.
  3. Na lista Script, escolha o script que você quer aprovar ou negar e, na guia Início, no grupo Script, clique em Aprovar/Negar.In the Script list, choose the script you want to approve or deny and then, on the Home tab, in the Script group, click Approve/Deny.
  4. Na caixa de diálogo Aprovar ou negar script, selecione Aprovar ou Negar para o script e, opcionalmente, insira um comentário sobre sua decisão.In the Approve or deny script dialog box, select Approve or Deny for the script and optionally enter a comment about your decision. Se você negar um script, ele não poderá ser executado em dispositivos cliente.If you deny a script, it cannot be run on client devices.
    Script – aprovação Script - Approval
  5. Conclua o assistente.Complete the wizard. Na lista Script, você verá a coluna Estado de Aprovação mudar dependendo da ação executada.In the Script list, you see the Approval State column change depending on the action you took.

Permitir que os usuários aprovem seus próprios scriptsAllow users to approve their own scripts

Essa aprovação é usada principalmente para a fase de teste do desenvolvimento do script.This approval is primarily used for the testing phase of script development.

  1. No console do Configuration Manager, clique em Administração.In the Configuration Manager console, click Administration.
  2. No espaço de trabalho Administração , expanda Configuração do Sitee clique em Sites.In the Administration workspace, expand Site Configuration, and then click Sites.
  3. Na lista de sites, escolha seu site e, depois, na guia Início, no grupo Sites, clique em Configurações de Hierarquia.In the list of sites, choose your site and then, on the Home tab, in the Sites group, click Hierarchy Settings.
  4. Na guia Geral da caixa de diálogo Propriedades das Configurações de Hierarquia, desmarque a caixa de seleção Não permitir que os autores de script aprovem seus próprios scripts.On the General tab of the Hierarchy Settings Properties dialog box, clear the checkbox Do not allow script authors to approve their own scripts.

Importante

Como prática recomendada, você não deve permitir que um autor de script aprove seus próprios scripts.As a best practice, you shouldn't allow a script author to approve their own scripts. Isso somente deve ser permitido em uma configuração de laboratório.This should only be allowed in a lab setting. Considere atentamente o possível impacto de alterar essa configuração em um ambiente de produção.Carefully consider the potential impact of changing this setting in a production environment.

Escopos de segurançaSecurity scopes

(Introduzido na versão 1710)(Introduced with version 1710)
O recurso Executar Scripts usa os escopos de segurança, um recurso existente do Configuration Manager, para controlar a criação e execução de scripts por meio da atribuição de marcas que representam grupos de usuários.Run Scripts uses security scopes, an existing feature of Configuration Manager, to control scripts authoring and execution through assigning tags that represent user groups. Para obter mais informações de como usar escopos de segurança, consulte Configurar administração baseada em funções para o System Center Configuration Manager.For more information on using security scopes, see Configure role-based administration for System Center Configuration Manager.

Criar um scriptCreate a script

  1. No console do Configuration Manager, clique em Biblioteca de Software.In the Configuration Manager console, click Software Library.
  2. No espaço de trabalho Biblioteca de Software, clique em Scripts.In the Software Library workspace, click Scripts.
  3. Na guia Início, no grupo Criar, clique em Criar Script.On the Home tab, in the Create group, click Create Script.
  4. Na página Script do assistente para Criar Script, configure o seguinte:On the Script page of the Create Script wizard, configure the following settings:
    • Nome do Script - insira um nome para o script.Script Name - Enter a name for the script. Embora você possa criar vários scripts com o mesmo nome, o uso de nomes duplicados dificultará mais a localização do script necessário no console do Configuration Manager.Although you can create multiple scripts with the same name, using duplicate names makes it harder for you to find the script you need in the Configuration Manager console.
    • Linguagem do script – Atualmente, apenas scripts do PowerShell têm suporte.Script language - Currently, only PowerShell scripts are supported.
    • Importar - importe um script do PowerShell no console.Import - Import a PowerShell script into the console. O script é exibido no campo Script.The script is displayed in the Script field.
    • Limpar – Remove o script atual do campo Script.Clear - Removes the current script from the Script field.
    • Script - exibe o script importado no momento.Script - Displays the currently imported script. Edite o script neste campo conforme o necessário.You can edit the script in this field as necessary.
  5. Conclua o assistente.Complete the wizard. O novo script é exibido na lista Script com um status de Aguardando aprovação.The new script is displayed in the Script list with a status of Waiting for approval. Antes de executar esse script em dispositivos cliente, você deve aprová-lo.Before you can run this script on client devices, you must approve it.

Parâmetros do scriptScript parameters

(Introduzido na versão 1710)(Introduced with version 1710)
Adicionar parâmetros a um script oferece maior flexibilidade para o seu trabalho.Adding parameters to a script provides increased flexibility for your work. A seguir, é descrita a funcionalidade atual do recurso Executar Scripts com os parâmetros do script para os tipos de dados String e Integer.The following outlines the Run Scripts feature's current capability with script parameters for; String, Integer data types. Também há listas de valores predefinidos disponíveis.Lists of preset values are also available. Se o seu script tiver tipos de dados sem suporte, você receberá um aviso.If your script has unsupported data types, you get a warning.

Na caixa de diálogo Criar Script, clique em Parâmetros do Script em Script.In the Create Script dialog, click Script Parameters under Script.

Cada um dos parâmetros do script tem sua própria caixa de diálogo para adicionar mais detalhes e validação.Each of your script's parameters has its own dialog for adding further details and validation.

Validação de parâmetroParameter validation

Cada parâmetro no script tem uma caixa de diálogo Propriedades do Parâmetro do Script para adicionar validação para esse parâmetro.Each parameter in your script has a Script Parameter Properties dialog for you to add validation for that parameter. Depois de adicionar a validação, ao inserir um valor para o parâmetro que não esteja de acordo com a sua validação, você receberá um erro.After adding validation, you should get errors if you are entering a value for a parameter that does not meet its validation.

Exemplo: FirstNameExample: FirstName

Neste exemplo, é possível definir as propriedades do parâmetro de cadeia de caracteres FirstName.In this example, you are able to set the properties of the string parameter, FirstName. Observe o campo opcional Personalizar erro.Notice the optional field for Custom error. Este campo é útil para adicionar diretrizes para o usuário sobre o campo específico e sobre a interação do usuário com o parâmetro de cadeia de caracteres, nesse caso, FirstName.This field is useful for adding user guidance about the specific field and your guidance to the user about their interaction with the string parameter, FirstName in this case.

Parâmetros de script – cadeia de caracteres

Exemplos de scriptScript examples

Aqui estão alguns exemplos que ilustram os scripts que você poderá usar com essa capacidade.Here are a couple examples that illustrate scripts you might want to use with this capability.

Criar uma pastaCreate a folder

New-Item "c:\scripts" -type folder name

Criar um arquivoCreate a file

New-Item "c:\scripts\new_file.txt" -type file name

Executar ping em um determinado computadorPing a given computer

Esse script usa uma cadeia de caracteres como um parâmetro para uma operação ping.This script takes a string and uses it as a parameter for a ping operation.

Param
(
 [String][Parameter(Mandatory=$True, Position=1)] $Computername
)

Ping $Computername

Obter status da bateriaGet battery status

Esse script usa a WMI para consultar o computador sobre o status da bateria.This script uses WMI to query the machine for its battery status.

Write-Output (Get-WmiObject -Class Win32_Battery).BatteryStatus

Executar um scriptRun a script

Após a aprovação de um script, ele poderá ser executado em uma coleção que você escolher.After a script is approved, it can be run against a collection you choose. Após o início da execução do script, ele é iniciado rapidamente por meio de um sistema de alta prioridade e é executado em até uma hora.Once execution of your script begins, it is launched quickly through a high priority system and is executed within one hour. Os resultados do script são retornados usando um sistema de mensagem de estado mais lento.The results of the script are returned using a slower, state message system.

  1. No console do Configuration Manager, clique em Ativos e Conformidade.In the Configuration Manager console, click Assets and Compliance.
  2. No espaço de trabalho Ativos e Conformidade, clique em Coleções de Dispositivos.In the Assets and Compliance workspace, click Device Collections.
  3. Na lista Coleções de Dispositivos, clique na coleção de dispositivos na qual você deseja executar o script.In the Device Collections list, click the collection of devices on which you want to run the script.
  4. Na guia Início, no grupo Todos os Sistemas, clique em Executar Script.On the Home tab, in the All Systems group, click Run Script.
  5. Na página Script do assistente Executar Script, escolha um script na lista.On the Script page of the Run Script wizard, choose a script from the list. Somente scripts aprovados são exibidos.Only approved scripts are shown.
  6. Clique em Avançar e conclua o assistente.Click Next, and then complete the wizard.

Importante

Se o script não for executado, por exemplo, porque um cliente de destino está desligado, você deverá executá-lo novamente no período de uma hora.If a script does not run, for example because a target client is turned off, in the one hour time period, you must run it again.

Execução do computador de destinoTarget machine execution

O script é executado como a conta do sistema ou do computador nos clientes de destino.The script is executed as the system or computer account on the targeted client(s). Essa conta tem acesso à rede limitado.This account has limited network access. Qualquer acesso do script a sistemas remotos e locais deve ser provisionado adequadamente.Any access to remote systems and locations by the script must be provisioned accordingly.

Fluxo de trabalho e monitoramentoWork flow and monitoring

Aqui está uma ilustração do recurso Executar Scripts como um fluxo de trabalho, ou seja, criar, aprovar, executar e monitorar.Here's what Run Scripts looks like as a work flow; create, approve, run and, monitor.

Executar Scripts – fluxo de trabalho

Monitoramento do scriptScript monitoring

Depois de iniciar a execução de um script em uma coleção de dispositivos, use o procedimento a seguir para monitorar a operação.After you have initiated running a script on a collection of devices, use the following procedure to monitor the operation. A partir da versão 1710, é possível monitorar um script em tempo real conforme ele é executado e também retornar a um relatório de uma determinada execução do recurso Executar Script.Beginning with version 1710, you are both able to monitor a script in real-time as it executes, and you can also return to a report for a given Run Script execution.

  1. No console do Configuration Manager, clique em Monitoramento.In the Configuration Manager console, click Monitoring.
  2. No espaço de trabalho Monitoramento, clique em Status do Script.In the Monitoring workspace, click Script Status. Monitor de script – Status da Execução do ScriptScript monitor - Script Run Status
  3. Na lista Status do Script, veja os resultados de cada script executado em dispositivos cliente.In the Script Status list, you view the results for each script you ran on client devices. Um código de saída do script de 0 geralmente indica que o script foi executado com êxito.A script exit code of 0 generally indicates that the script ran successfully.

Consulte tambémSee Also