Compartilhar via


Invoke-CMScript

Execute um script do PowerShell no Configuration Manager.

Sintaxe

Invoke-CMScript
      [-Collection <IResultObject>]
      [-CollectionId <String>]
      [-CollectionName <String>]
      [-Device <IResultObject[]>]
      -InputObject <IResultObject>
      [-PassThru]
      [-ScriptParameter <Hashtable>]
      [-DisableWildcardHandling]
      [-ForceWildcardHandling]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CMScript
      [-Collection <IResultObject>]
      [-CollectionId <String>]
      [-CollectionName <String>]
      [-Device <IResultObject[]>]
      [-PassThru]
      -ScriptGuid <String>
      [-ScriptParameter <Hashtable>]
      [-DisableWildcardHandling]
      [-ForceWildcardHandling]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Utilize este cmdlet para executar um script do PowerShell no Configuration Manager. Estes scripts são integrados e geridos no Configuration Manager.

Não pode executar um script até que seja aprovado. Para aprovar scripts programaticamente, utilize o cmdlet Approve-CMScript .

Para obter mais informações, veja Criar e executar scripts do PowerShell a partir da consola do Configuration Manager.

Observação

Execute cmdlets do Configuration Manager a partir da unidade do site do Configuration Manager, por exemplo PS XYZ:\>. Para obter mais informações, veja Introdução.

Exemplos

Exemplo 1: executar um script com o respetivo ID

Este comando executa o script com o ID DF8E7546-FD66-4A3D-A129-53AF5AA54F80.

Invoke-CMScript -ScriptGuid "DF8E7546-FD66-4A3D-A129-53AF5AA54F80"

Exemplo 2: executar um script com uma variável de objeto

O primeiro comando obtém um objeto de script pelo respetivo ID e armazena-o na variável $ScriptObj . O segundo comando executa o script armazenado nessa variável.

$ScriptObj = Get-CMScript -Id "DF8E7546-FD66-4A3D-A129-53AF5AA54F80"

Invoke-CMScript -InputObject $ScriptObj

Exemplo 3: transmitir parâmetros para o script de destino

A primeira linha armazena parâmetros numa tabela hash. A segunda linha executa o script no dispositivo de destino, ao transmitir os parâmetros na tabela hash.

$parameters = @{
  "FolderName"="c:\test\test1"
  "FileName"="test2"
}

Invoke-CMScript -ScriptGuid $scriptGuid -Device (Get-CMDevice -Name $targetPCName) -ScriptParameter $parameters

Parâmetros

-Collection

Especifique um objeto de coleção para executar este script. Para obter este objeto, utilize o cmdlet Get-CMCollection .

Tipo:IResultObject
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-CollectionId

Especifique o ID de uma coleção para executar este script.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-CollectionName

Especifique o nome de uma coleção para executar este script.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Confirm

Solicita a confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Device

Especifique um objeto para um dispositivo executar este script. Para obter este objeto, utilize o cmdlet Get-CMDevice .

Tipo:IResultObject[]
Aliases:Devices
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DisableWildcardHandling

Este parâmetro trata os carateres universais como valores de carateres literais. Não pode combiná-lo com ForceWildcardHandling.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ForceWildcardHandling

Este parâmetro processa carateres universais e pode levar a um comportamento inesperado (não recomendado). Não pode combiná-lo com DisableWildcardHandling.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InputObject

Especifique um objeto de script a executar. Para obter este objeto, utilize o cmdlet Get-CMScript .

Tipo:IResultObject
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-PassThru

Devolve um objeto que representa o item com o qual está a trabalhar. Por predefinição, este cmdlet pode não gerar qualquer saída.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ScheduleTime

Especifique um DATETime UTC para agendar a execução do script para uma hora posterior.

Tipo:DateTime
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ScriptGuid

Especifique o ID do script a executar. O formato é um GUID padrão.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ScriptParameter

Aplica-se à versão 2010 e posterior. Utilize este parâmetro para transmitir parâmetros para o script de destino. Especifique uma tabela hash com os parâmetros necessários. Para obter um exemplo de utilização, veja Exemplos.

Tipo:Hashtable
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostrar o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Saídas

System.Object