Criar e executar scripts do PowerShell a partir da consola do Configuration ManagerCreate and run PowerShell scripts from the Configuration Manager console

Aplica-se a: O System Center Configuration Manager (ramo atual)Applies to: System Center Configuration Manager (Current Branch)

Dica

Introduzido com a versão 1706, a capacidade de executar scripts do PowerShell é uma funcionalidade de pré-lançamento.Introduced with version 1706, the ability to run PowerShell scripts is a pre-release feature. Para ativar scripts, consulte no System Center Configuration Manager de funcionalidades de pré-lançamento.To enable scripts, see Pre-release features in System Center Configuration Manager.

-Por agora integrado melhor a capacidade de executar scripts do Powershell com o System Center Configuration Manager.We've now better integrated the ability to run Powershell scripts with System Center Configuration Manager. PowerShell tem a vantagem de criar sofisticadas, scripts automatizados, compreendeu e partilhados com uma Comunidade maior.Powershell has the benefit of creating sophisticated, automated scripts that are understood and shared with a larger community. Os scripts de simplificam a criação de ferramentas personalizadas para administrar o software e permitem a realizar tarefas criar rapidamente, permitindo-lhe obter tarefas grandes feitas de forma mais fácil e mais consistente.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.

Esta integração no System Center Configuration Manager, pode utilizar o executar Scripts funcionalidade 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 os scripts para utilização com o System Center Configuration Manager.Create and edit scripts for use with System Center Configuration Manager.
  • Gerir a utilização de script através de funções e âmbitos de segurança.Manage script usage through roles and security scopes.
  • Executar scripts em coleções ou individuais no local geridos Windows PCs.Run scripts on collections or individual on-premises managed Windows PCs.
  • Obter resultados de script agregados rápida dos dispositivos cliente.Get rapid aggregated script results from client devices.
  • Monitorizar a execução do script e ver relatórios de resultados da saída do script.Monitor script execution and view reporting results from script output.

Aviso

Tendo em conta a potência de scripts, iremos relembrá-intencional e cuidado com a respetiva utilização.Given the power of scripts, we remind you to be intentional and careful with their usage. Criámos proteções adicionais para o ajudar a; segregated funções e âmbitos.We have built in additional safeguards to assist you; segregated roles and scopes. Lembre-se de que validar a precisão dos scripts antes de executá-los e confirmar são de uma origem fidedigna, para impedir a execução do script indesejados.Be sure to validate the accuracy of scripts before running them and confirm they are from a trusted source, to prevent unintended script execution. Ser mindful de caracteres expandidas ou outro obfuscation e informe-se sobre como proteger scripts.Be mindful of extended characters or other obfuscation and educate yourself about securing scripts.

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 executa contém funcionalidade de uma versão posterior do PowerShell, o cliente em que executa o script tem de executar 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 tem de executar o cliente a partir 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 utilizar scripts, tem de ser um membro da função de segurança adequado do Configuration Manager.To use scripts, you must be a member of the appropriate Configuration Manager security role.
  • Para importar e criar scripts - a conta tem de ter criar permissões para SMS Scripts no administrador total função de segurança.To import and author scripts - Your account must have Create permissions for SMS Scripts in the Full Administrator security role.
  • Para aprovar ou recusar scripts - a conta tem de ter aprovar permissões para SMS Scripts no administrador total função de segurança.To approve or deny scripts - Your account must have Approve permissions for SMS Scripts in the Full Administrator security role.
  • Para executar scripts - a conta tem de ter executar Script permissões para coleções no administrador total função de segurança.To run scripts - Your account must have Run Script permissions for Collections in the Full Administrator security role.

Para mais informações sobre funções de segurança do Configuration Manager, consulte Noções básicas da administração baseada em funções.For more information about Configuration Manager security roles, see Fundamentals of role-based administration.

LimitaçõesLimitations

Executadas Scripts atualmente suporta:Run Scripts currently supports:

  • Linguagens de scripts: PowerShellScripting languages: PowerShell
  • Tipos de parâmetro: número inteiro, string, lista eParameter types: integer, string and, list

Execução de Script de autores e aprovadoresRun Script authors and approvers

Executar utiliza Scripts o conceito de script autores e script aprovadores como funções separadas para 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. Com as funções de autor e aprovador separadas permite uma verificação de processo importante para a ferramenta de elevado desempenho que está a executar Scripts.Having the author and approver roles separated allows for an important process check for the powerful tool that Run Scripts is.

Controlo de funções de scriptsScripts roles control

Por predefinição, os utilizadores não podem aprovar um script que tenham criado.By default, users cannot approve a script they have authored. Uma vez scripts são poderosa, versátil e podem ser implementados em vários dispositivos, pode dividir as funções entre a pessoa que cria o script e a pessoa que aprove 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. Estas funções dar um nível adicional 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. Pode desativar esta aprovação secundária, para facilitar a testar.You can turn off this secondary approval, for ease of testing.

Aprovar ou recusar um scriptApprove or Deny a script

Scripts devem ser aprovados, pelo script aprovador função, antes de estes 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. Na consola do Configuration Manager, clique em Biblioteca de Software.In the Configuration Manager console, click Software Library.
  2. No biblioteca de Software área de trabalho, clique em Scripts.In the Software Library workspace, click Scripts.
  3. No Script lista, selecione o script que pretende aprovar ou recusar e, em seguida, no home page separador o Script , clique em aprovar/negação.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. No aprovar ou negar o script caixa de diálogo, selecione aprovar ou negar para o script e, opcionalmente, introduza um comentário sobre a 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 negar um script, não pode ser executado nos dispositivos cliente.If you deny a script, it cannot be run on client devices.
    Script - aprovaçãoScript - Approval
  5. Conclua o assistente.Complete the wizard. No Script lista, verá o estado de aprovação alteração de coluna consoante a ação que demorou.In the Script list, you see the Approval State column change depending on the action you took.

Permitir que os utilizadores aprovar os seus próprios scriptsAllow users to approve their own scripts

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

  1. Na consola do Configuration Manager, clique em Administração.In the Configuration Manager console, click Administration.
  2. Na área 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, selecione o site e, em seguida, no home page separador o Sites , clique em definiçõ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. No geral separador do propriedades de definições de hierarquia diálogo caixa, desmarque a caixa de verificação não permitir autores de script aprovar os 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 melhor prática, não deve permitir que um autor de script para aprovar os seus próprios scripts.As a best practice, you shouldn't allow a script author to approve their own scripts. Só deve ser permitido num cenário de laboratório.This should only be allowed in a lab setting. Pondere cuidadosamente o impacto potencial da alteração desta definição num ambiente de produção.Carefully consider the potential impact of changing this setting in a production environment.

Âmbitos de segurançaSecurity scopes

(Introduzida com a versão 1710)(Introduced with version 1710)
Execute utiliza Scripts âmbitos de segurança, uma funcionalidade existente do Configuration Manager, a criação de scripts de controlo e execução através da atribuição de etiquetas que representam os grupos de utilizadores.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 sobre como utilizar âmbitos de segurança, consulte configurar a 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. Na consola do Configuration Manager, clique em Biblioteca de Software.In the Configuration Manager console, click Software Library.
  2. No biblioteca de Software área de trabalho, clique em Scripts.In the Software Library workspace, click Scripts.
  3. No home page separador o criar , clique em criar Script.On the Home tab, in the Create group, click Create Script.
  4. No Script página do criar Script assistente, configure as seguintes definições:On the Script page of the Create Script wizard, configure the following settings:
    • Nome do script -introduza um nome para o script.Script Name - Enter a name for the script. Embora possa criar vários scripts com o mesmo nome, utilizar nomes duplicados torna mais difícil localizar o script que terá na consola 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.
    • Idioma de script -atualmente, os scripts do PowerShell só são suportados.Script language - Currently, only PowerShell scripts are supported.
    • Importar -importar um script do PowerShell para a consola.Import - Import a PowerShell script into the console. O script é apresentado no Script campo.The script is displayed in the Script field.
    • Limpar -remove o script atual o campo de Script.Clear - Removes the current script from the Script field.
    • Script -apresenta o script atualmente importado.Script - Displays the currently imported script. Pode editar o script neste campo, conforme necessário.You can edit the script in this field as necessary.
  5. Conclua o assistente.Complete the wizard. O novo script é apresentado no Script lista com um Estado de aguardar aprovação.The new script is displayed in the Script list with a status of Waiting for approval. Antes de poder executar este script nos dispositivos cliente, terá de o aprovar.Before you can run this script on client devices, you must approve it.

Parâmetros do scriptScript parameters

(Introduzida com a versão 1710)(Introduced with version 1710)
Adicionar parâmetros a um script fornece uma maior flexibilidade para o seu trabalho.Adding parameters to a script provides increased flexibility for your work. A seguir descreve a capacidade de atual a funcionalidade de executar Scripts com parâmetros do script para; Cadeia, número inteiro tipos de dados.The following outlines the Run Scripts feature's current capability with script parameters for; String, Integer data types. Apresenta uma lista de valores predefinidas também está disponível.Lists of preset values are also available. Se o script tem o tipos de dados não suportado, receberá um aviso.If your script has unsupported data types, you get a warning.

No criar Script caixa de diálogo, 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 a suas próprias 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 dos parâmetrosParameter validation

Cada parâmetro no script tem um propriedades de parâmetro de Script caixa de diálogo para adicionar a validação para este 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, deve obter erros se está a introduzir um valor para um parâmetro que não cumprem a respectiva validação.After adding validation, you should get errors if you are entering a value for a parameter that does not meet its validation.

Exemplo: Nome próprioExample: FirstName

Neste exemplo, é possível definir as propriedades de parâmetro de cadeia, FirstName.In this example, you are able to set the properties of the string parameter, FirstName.

Parâmetros do script - cadeia

A secção de validação do propriedades de parâmetro de Script diálogo contém os campos seguintes para utilização:The validation section of the Script Parameter Properties dialog contains the following fields for your use:

  • Comprimento mínimo - mínimo número de carateres da FirstName campo.Minimum Length - minimum number of characters of the FirstName field.
  • Comprimento máximo- máximo número de carateres da FirstName campoMaximum Length- maximum number of characters of the FirstName field
  • RegEx - curto para expressão Regular.RegEx - short for Regular Expression. Para obter mais informações sobre como utilizar a expressão Regular, consulte a secção seguinte, validação de expressão Regular utilizando.For more information on using the Regular Expression, see the next section, Using Regular Expression validation.
  • Erro personalizado - útil para adicionar a sua própria mensagem de erro personalizada supercedes quaisquer mensagens de erro de validação do sistema.Custom Error - useful for adding your own custom error message that supercedes any system validation error messages.

Utilizando a validação de expressão RegularUsing Regular Expression validation

Uma expressão regular é um formato compacto de programação para a verificação de uma cadeia de carateres em relação a uma validação codificada.A regular expression is a compact form of programming for checking a string of characters against an encoded validation. Por exemplo, pode procurar a ausência de um caráter alfabético capital no FirstName campo colocando [^A-Z] no RegEx campo.For example, you could check for the absence of a capital alphabetic character in the FirstName field by placing [^A-Z] in the RegEx field.

A expressão regular de processamento para esta caixa de diálogo é suportada pelo .NET Framework.The regular expression processing for this dialog is supported by the .NET Framework. Para obter orientações sobre como utilizar expressões regulares, consulte expressão Regular .NET.For guidance on using regular expressions, see .NET Regular Expression.

Exemplos de scriptScript examples

Seguem-se alguns exemplos que ilustram scripts que pode querer utilizar com esta capacidade.Here are a couple examples that illustrate scripts you might want to use with this capability.

Criar uma nova pasta e ficheiroCreate a new folder and file

Este script cria uma nova pasta e um ficheiro dentro da mesma sua entrada nomenclatura especificada.This script creates a new folder and a file within it given your naming input.

Param(
[Parameter(Mandatory=$True)]
[string]$FolderName,
[Parameter(Mandatory=$True)]
[string]$FileName,
)

New-Item $FolderName -type directory
New-Item $FileName -type file

Obter a versão do SOGet OS Version

Este script utiliza o WMI para consultar a máquina para a versão do SO.This script uses WMI to query the machine for its OS version.

Write-Output (Get-WmiObject -Class Win32_operatingSystem).Caption

Executar um scriptRun a script

Depois de um script é aprovado, podem ser executada em relação a uma coleção ou um único dispositivo.After a script is approved, it can be run against a single device or a collection. Depois de inicia a execução do script, é iniciado rapidamente através de um sistema de alta prioridade que Escalamento vezes dentro de uma hora.Once execution of your script begins, it is launched quickly through a high priority system that times-out in one hour. Em seguida, são apresentados os resultados do script a utilizar um sistema de mensagens de estado.The results of the script are then returned using a state message system.

Para selecionar uma coleção de alvos de script:To select a collection of targets for your script:

  1. Na consola do Configuration Manager, clique em Ativos e Compatibilidade.In the Configuration Manager console, click Assets and Compliance.
  2. Nos ativos e compatibilidade área de trabalho, clique em coleções de dispositivos.In the Assets and Compliance workspace, click Device Collections.
  3. No coleções de dispositivos lista, clique na coleção de dispositivos nos quais pretende executar o script.In the Device Collections list, click the collection of devices on which you want to run the script.
  4. Selecione uma coleção à sua escolha, clique em executar Script.Select a collection of your choice, click Run Script.
  5. No Script página do executar Script assistente, escolha um script da lista.On the Script page of the Run Script wizard, choose a script from the list. Apenas aprovados scripts são apresentados.Only approved scripts are shown.
  6. Clique em seguintee, em seguida, conclua o assistente.Click Next, and then complete the wizard.

Importante

Se um script não é executado, por exemplo porque um dispositivo de destino é desativado durante a período de tempo de uma hora, deve executá-la novamente.If a script does not run, for example because a target device is turned off during the one hour time period, you must run it again.

Execução da máquina de destinoTarget machine execution

O script é executado como o sistema ou computador conta nas clientes de destino.The script is executed as the system or computer account on the targeted client(s). Esta conta tem acesso à rede limitado.This account has limited network access. Qualquer acesso à sistemas remotos e localizações pelo script tem de ser aprovisionado em conformidade.Any access to remote systems and locations by the script must be provisioned accordingly.

Script de monitorizaçãoScript monitoring

Depois de terem iniciado a executar um script numa coleção de dispositivos, utilize o procedimento seguinte para monitorizar 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, é ambos poderá monitorizar um script em tempo real, ser executada e também pode regressar a um relatório para uma execução de executar o Script especificado.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.

Monitor de script - estado de execução do Script

  1. Na consola do Configuration Manager, clique em monitorização.In the Configuration Manager console, click Monitoring.
  2. No monitorização área de trabalho, clique em Script estado.In the Monitoring workspace, click Script Status.
  3. No Script estado lista, poderá ver os resultados para cada script executado nos 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 normalmente indica que o script é executado com êxito.A script exit code of 0 generally indicates that the script ran successfully.

Consulte TambémSee Also