Freigeben über


Invoke-CMScript

Führen Sie ein PowerShell-Skript in Configuration Manager aus.

Syntax

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>]

Beschreibung

Verwenden Sie dieses Cmdlet, um ein PowerShell-Skript in Configuration Manager auszuführen. Diese Skripts werden in Configuration Manager integriert und verwaltet.

Sie können ein Skript erst ausführen, wenn es genehmigt wurde. Verwenden Sie das Cmdlet Approve-CMScript , um Skripts programmgesteuert zu genehmigen.

Weitere Informationen finden Sie unter Erstellen und Ausführen von PowerShell-Skripts über die Configuration Manager-Konsole.

Hinweis

Führen Sie Configuration Manager-Cmdlets auf dem Configuration Manager-Standortlaufwerk aus, z. B PS XYZ:\>. . Weitere Informationen finden Sie unter Erste Schritte.

Beispiele

Beispiel 1: Ausführen eines Skripts mit seiner ID

Dieser Befehl führt das Skript mit der ID DF8E7546-FD66-4A3D-A129-53AF5AA54F80aus.

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

Beispiel 2: Ausführen eines Skripts mithilfe einer Objektvariablen

Der erste Befehl ruft ein Skriptobjekt anhand seiner ID ab und speichert es in der $ScriptObj Variablen. Der zweite Befehl führt das in dieser Variable gespeicherte Skript aus.

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

Invoke-CMScript -InputObject $ScriptObj

Beispiel 3: Übergeben von Parametern an das Zielskript

Die erste Zeile speichert Parameter in einer Hashtabelle. Die zweite Zeile führt das Skript auf dem Zielgerät aus und übergibt die Parameter in der Hashtabelle.

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

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

Parameter

-Collection

Geben Sie ein Auflistungsobjekt an, um dieses Skript auszuführen. Verwenden Sie zum Abrufen dieses Objekts das Cmdlet Get-CMCollection .

Typ:IResultObject
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-CollectionId

Geben Sie die ID einer Sammlung an, um dieses Skript auszuführen.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-CollectionName

Geben Sie den Namen einer Sammlung an, um dieses Skript auszuführen.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Confirm

Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Device

Geben Sie ein Objekt für ein Gerät an, um dieses Skript auszuführen. Verwenden Sie zum Abrufen dieses Objekts das Cmdlet Get-CMDevice .

Typ:IResultObject[]
Aliase:Devices
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DisableWildcardHandling

Dieser Parameter behandelt Wildcardzeichen als Literalzeichenwerte. Sie können es nicht mit ForceWildcardHandling kombinieren.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ForceWildcardHandling

Dieser Parameter verarbeitet Wildcardzeichen und kann zu unerwartetem Verhalten führen (nicht empfohlen). Sie können es nicht mit DisableWildcardHandling kombinieren.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InputObject

Geben Sie ein auszuführende Skriptobjekt an. Verwenden Sie zum Abrufen dieses Objekts das Cmdlet Get-CMScript .

Typ:IResultObject
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-PassThru

Gibt ein Objekt zurück, das das Element darstellt, mit dem Sie arbeiten. Standardmäßig generiert dieses Cmdlet möglicherweise keine Ausgabe.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ScheduleTime

Geben Sie einen UTC-DateTime-Wert an, um die Ausführung des Skripts für einen späteren Zeitpunkt zu planen.

Typ:DateTime
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ScriptGuid

Geben Sie die ID des auszuführenden Skripts an. Das Format ist eine Standard-GUID.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ScriptParameter

Gilt für Version 2010 und höher. Verwenden Sie diesen Parameter, um Parameter an das Zielskript zu übergeben. Geben Sie eine Hashtabelle mit den erforderlichen Parametern an. Ein Beispiel für die Verwendung finden Sie unter Beispiele.

Typ:Hashtable
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was passieren würde, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

Ausgaben

System.Object