共用方式為


Invoke-CMScript

在 Configuration Manager 中執行 PowerShell 腳本。

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

Description

使用此 Cmdlet 在 Configuration Manager 中執行 PowerShell 腳本。 這些腳本會在Configuration Manager中整合和管理。

在腳本獲得核准之前,您無法執行該腳本。 若要以程式設計方式核准腳本,請使用 Approve-CMScript Cmdlet。

如需詳細資訊,請參閱從 Configuration Manager 主控台建立和執行 PowerShell 腳本

注意事項

從Configuration Manager月臺磁片磁碟機執行 Configuration Manager Cmdlet,例如 PS XYZ:\> 。 如需詳細資訊,請 參閱開始使用

範例

範例 1:使用腳本的識別碼執行腳本

此命令會執行識別碼為 的 DF8E7546-FD66-4A3D-A129-53AF5AA54F80 腳本。

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

範例 2:使用物件變數執行腳本

第一個命令會依識別碼取得腳本物件,並將它儲存在 $ScriptObj 變數中。 第二個命令會執行儲存在該變數中的腳本。

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

Invoke-CMScript -InputObject $ScriptObj

範例 3:將參數傳遞至目標腳本

第一行會將參數儲存在雜湊表中。 第二行會在目標裝置上執行腳本,並在雜湊表中傳遞參數。

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

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

參數

-Collection

指定要執行此腳本的集合物件。 若要取得此物件,請使用 Get-CMCollection Cmdlet。

Type:IResultObject
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CollectionId

指定要執行此腳本之集合的識別碼。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CollectionName

指定要執行此腳本的集合名稱。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

執行 Cmdlet 之前提示您確認。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Device

指定裝置執行此腳本的物件。 若要取得這個物件,請使用 Get-CMDevice Cmdlet。

Type:IResultObject[]
Aliases:Devices
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableWildcardHandling

此參數會將萬用字元視為常值字元值。 您無法將其與 ForceWildcardHandling結合。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceWildcardHandling

此參數會處理萬用字元,並可能導致非預期的行為 (不建議) 。 您無法將其與 DisableWildcardHandling結合。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

指定要執行的腳本物件。 若要取得此物件,請使用 Get-CMScript Cmdlet。

Type:IResultObject
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

傳回 物件,表示您正在使用的專案。 根據預設,此 Cmdlet 可能不會產生任何輸出。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScheduleTime

指定 UTC DateTime 以排程腳本稍後的執行。

Type:DateTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScriptGuid

指定要執行之腳本的識別碼。 格式為標準 GUID。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ScriptParameter

適用于 2010 版和更新版本。 使用此參數將參數傳遞至目標腳本。 指定具有必要參數的雜湊表。 如需使用方式的範例,請參閱 範例

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 時會發生什麼情況。 Cmdlet 不會執行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

Microsoft.ConfigurationManagement.ManagementProvider.IResultObject

輸出

System.Object