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>]
说明
使用此 cmdlet 在 Configuration Manager 中运行 PowerShell 脚本。 这些脚本在 Configuration Manager 中集成和管理。
在脚本获得批准之前,无法运行该脚本。 若要以编程方式批准脚本,请使用 Approve-CMScript cmdlet。
有关详细信息,请参阅 从 Configuration Manager 控制台创建和运行 PowerShell 脚本。
注意
从 Configuration Manager 站点驱动器运行 Configuration Manager cmdlet,例如 PS XYZ:\>
。 有关详细信息,请参阅 入门。
示例
示例 1:使用脚本 ID 运行脚本
此命令运行 ID DF8E7546-FD66-4A3D-A129-53AF5AA54F80
为 的脚本。
Invoke-CMScript -ScriptGuid "DF8E7546-FD66-4A3D-A129-53AF5AA54F80"
示例 2:使用对象变量运行脚本
第一个命令按其 ID 获取脚本对象,并将其存储在 $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
指定要运行此脚本的集合的 ID。
类型: | 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
指定要运行的脚本的 ID。 格式是标准 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