Invoke-CMScript
在 Configuration Manager 中執行 PowerShell 腳本。
語法
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。
類型: | IResultObject |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-CollectionId
指定要執行此文稿之集合的識別碼。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-CollectionName
指定要執行此文稿的集合名稱。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Confirm
執行 Cmdlet 之前提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Device
指定裝置執行此文稿的物件。 若要取得這個物件,請使用 Get-CMDevice Cmdlet。
類型: | IResultObject[] |
別名: | Devices |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DisableWildcardHandling
此參數會將通配符視為常值字元值。 您無法將其與 ForceWildcardHandling 結合。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ForceWildcardHandling
此參數會處理通配符,並可能導致非預期的行為 (不建議) 。 您無法將其與 DisableWildcardHandling 結合。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InputObject
指定要執行的文稿物件。 若要取得此物件,請使用 Get-CMScript Cmdlet。
類型: | IResultObject |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-PassThru
傳回 物件,表示您正在使用的專案。 根據預設,此 Cmdlet 可能不會產生任何輸出。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ScheduleTime
指定UTC DateTime以排程腳本稍後的執行。
類型: | DateTime |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ScriptGuid
指定要執行之腳本的識別碼。 格式為標準 GUID。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-ScriptParameter
適用於 2010 版和更新版本。 使用此參數將參數傳遞至目標腳本。 指定具有必要參數的哈希表。 如需使用方式的範例,請參閱 範例。
類型: | Hashtable |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 時會發生什麼情況。 Cmdlet 不會執行。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
Microsoft.ConfigurationManagement.ManagementProvider.IResultObject
輸出
System.Object