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
相關連結
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應