Partager via


Invoke-CMScript

Exécutez un script PowerShell dans Configuration Manager.

Syntaxe

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

Utilisez cette applet de commande pour exécuter un script PowerShell dans Configuration Manager. Ces scripts sont intégrés et gérés dans Configuration Manager.

Vous ne pouvez pas exécuter un script tant qu’il n’est pas approuvé. Pour approuver des scripts par programmation, utilisez l’applet de commande Approve-CMScript .

Pour plus d’informations, consultez Créer et exécuter des scripts PowerShell à partir de la console Configuration Manager.

Remarque

Exécutez des applets de commande Configuration Manager à partir du lecteur de site Configuration Manager, par exemple PS XYZ:\>. Pour plus d’informations, consultez Prise en main.

Exemples

Exemple 1 : Exécuter un script à l’aide de son ID

Cette commande exécute le script avec l’ID DF8E7546-FD66-4A3D-A129-53AF5AA54F80.

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

Exemple 2 : Exécuter un script à l’aide d’une variable objet

La première commande obtient un objet script par son ID et le stocke dans la variable $ScriptObj . La deuxième commande exécute le script stocké dans cette variable.

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

Invoke-CMScript -InputObject $ScriptObj

Exemple 3 : Passer des paramètres au script cible

La première ligne stocke les paramètres dans une table de hachage. La deuxième ligne exécute le script sur l’appareil cible, en transmettant les paramètres dans la table de hachage.

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

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

Paramètres

-Collection

Spécifiez un objet de collection pour exécuter ce script. Pour obtenir cet objet, utilisez l’applet de commande Get-CMCollection .

Type:IResultObject
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-CollectionId

Spécifiez l’ID d’une collection pour exécuter ce script.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-CollectionName

Spécifiez le nom d’une collection pour exécuter ce script.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Confirm

Une invite de confirmation apparaît avant d’exécuter le cmdlet.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Device

Spécifiez un objet pour qu’un appareil exécute ce script. Pour obtenir cet objet, utilisez l’applet de commande Get-CMDevice .

Type:IResultObject[]
Alias:Devices
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-DisableWildcardHandling

Ce paramètre traite les caractères génériques comme des valeurs de caractère littéral. Vous ne pouvez pas la combiner avec ForceWildcardHandling.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ForceWildcardHandling

Ce paramètre traite les caractères génériques et peut entraîner un comportement inattendu (non recommandé). Vous ne pouvez pas la combiner avec DisableWildcardHandling.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-InputObject

Spécifiez un objet de script à exécuter. Pour obtenir cet objet, utilisez l’applet de commande Get-CMScript .

Type:IResultObject
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-PassThru

Renvoie un objet représentant l’élément avec lequel vous travaillez. Par défaut, cette applet de commande peut ne pas générer de sortie.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ScheduleTime

Spécifiez un DateTime UTC pour planifier l’exécution du script pour une date ultérieure.

Type:DateTime
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ScriptGuid

Spécifiez l’ID du script à exécuter. Le format est un GUID standard.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ScriptParameter

S’applique à la version 2010 et ultérieure. Utilisez ce paramètre pour passer des paramètres au script cible. Spécifiez une table de hachage avec les paramètres requis. Pour obtenir un exemple d’utilisation, consultez Exemples.

Type:Hashtable
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-WhatIf

Présente ce qui se produit si le cmdlet s’exécute. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Sorties

System.Object