New-SCSMWorkflow

在 Service Manager 中创建新工作流。

语法

New-SCSMWorkflow
   -Class <String>
   [-DisplayName] <String>
   [-Description <String>]
   [-Enable <Boolean>]
   [-Event <WorkflowEvent>]
   [-ManagementPack <ManagementPack>]
   [-Criteria <String>]
   [-Template <ManagementPackObjectTemplate>]
   [-EnableNotification <Boolean>]
   [-Notification <Hashtable[]>]
   [-PassThru]
   [-SCSession <Connection[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

说明

New-SCSMWorkflow cmdlet 在 Service Manager 中创建工作流。

示例

示例 1:创建用于手动创建活动的工作流

PS C:\>$Template = Get-SCSMObjectTemplate -Name "DefaultManualActivityTemplate"
PS C:\> $Notification = @{ User = "Reviewers"; Template = Get-SCSMObjectTemplate -Name "AssignedToUserNotificationTemplate" },@{ User = "Affected User"; Template = Get-SCSMObjectTemplate -Name DefaultReviewActivityTemplate }
PS C:\> New-SCSMWorkflow -DisplayName "Manual activity workflow 07" -Class "ManualActivity" -Description "Contoso workflow 07." -Enable $True -Event Create -Notification $Notification -Template $Template

第一个命令使用 Get-SCSMObjectTemplate cmdlet 获取名为 DefaultManualActivityTemplate 的模板。 该命令将模板存储在$Template变量中。

第二个命令将通知数组创建为哈希表,并将其存储在$Notification变量中。

最后一个命令创建一个工作流,该工作流可在创建手动活动时使用。 由于脚本未指定任何条件,因此此工作流适用于任何手动活动的创建。

示例 2:为用户创建手动活动创建工作流

PS C:\>$CriteriaString = @'
>>  <Criteria>
>>   <Expression>
>>    <SimpleExpression>
>>     <ValueExpression>
>>      <Property State="Post">
>>  $Context/$Path[Relationship='System.WorkItem.Library!System.WorkItemCreatedByUser' TypeConstraint='System!System.Domain.User']/Property[Type='System!System.Domain.User']/UserName$
>>      </Property>
>>     </ValueExpression>
>>     <Operator>Equal</Operator>
>>     <ValueExpression>
>>      <Value>Evan Narvaez</Value>
>>     </ValueExpression>
>>    </SimpleExpression>
>>   </Expression>
>>  </Criteria>
>>  '@
PS C:\> $ManagementPack = Get-SCSMManagementPack -Name "Workflows"
PS C:\> $Template = Get-SCSMObjectTemplate -Name "DefaultManualActivityTemplate"
PS C:\> $Notification = @{ User = "Reviewers"; Template = Get-SCSMObjectTemplate -Name AssignedToUserNotificationTemplate },@{ User = "Affected User"; Template = Get-SCSMObjectTemplate -Name DefaultReviewActivityTemplate }
PS C:\> New-SCSMWorkflow -DisplayName "Manual activity workflow 09" -Class "ManualActivity" -Criteria $CriteriaString -Description "Contoso workflow 09." -Enable $False -Event Create -ManagementPack $ManagementPack -Template $Template

第一个命令创建为手动活动定义的条件字符串,以仅选择由用户 Evan Narvaez 创建的手动活动。 该命令将这些条件存储在$CriteriaString变量中。

第二个命令使用 Get-SCSMManagementPack cmdlet 获取名为 Workflows 的管理包,然后将其存储在$ManagementPack变量中。 后续命令使用此值指定保存工作流的位置。 这不能是密封的管理包。

第三个命令使用 Get-SCSMObjectTemplate cmdlet 获取名为 DefaultManualActivityTemplate 的模板。 该命令将模板存储在$Template变量中。

第四个命令将创建通知数组作为哈希表,并将其存储在$Notification变量中。

最后一个命令创建一个工作流,该工作流可在创建手动活动时使用。

参数

-Class

指定在工作流更改时启动工作流的类的名称。 有效值为:

  • 配置
  • 改变
  • 事件
  • ManualActivity
  • ReviewActivity
  • DeploymentActivity
类型:System.String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ComputerName

指定运行 System Center Data Access 服务的计算机的名称。 Credential 参数中指定的用户帐户必须具有对指定计算机的访问权限。

类型:System.String[]
Position:Named
默认值:Localhost
必需:False
接受管道输入:False
接受通配符:False

-Confirm

在运行 cmdlet 之前,提示你进行确认。

类型:System.Management.Automation.SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-Credential

指定此 cmdlet 用于连接到运行 System Center Data Access 服务的服务器的凭据。 指定的用户帐户必须有权访问该服务器。

类型:System.Management.Automation.PSCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Criteria

指定一个对象,该对象表示限制结果集的条件。

类型:System.String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Description

指定工作流的说明。

类型:System.String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DisplayName

指定要创建的工作流的名称。

类型:System.String
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Enable

指示此 cmdlet 是启用或禁用工作流。

类型:System.Boolean
Position:Named
默认值:True
必需:False
接受管道输入:False
接受通配符:False

-EnableNotification

指示此 cmdlet 是启用或禁用来自工作流的通知。

类型:System.Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Event

指定工作流启动的条件。 有效值为:

  • 创造
  • 更新
类型:Microsoft.EnterpriseManagement.ServiceManager.Sdk.Workflows.WorkflowEvent
接受的值:Create, Update
Position:Named
默认值:Created
必需:False
接受管道输入:False
接受通配符:False

-ManagementPack

指定要在其中存储工作流的管理包。 不要指定密封的管理包。

类型:Microsoft.EnterpriseManagement.Configuration.ManagementPack
Position:Named
默认值:The default management pack
必需:False
接受管道输入:False
接受通配符:False

-Notification

指定要用于工作流通知的用户和模板的哈希表。

类型:System.Collections.Hashtable[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-PassThru

指示此 cmdlet 返回此 cmdlet 创建的工作流。 可以将此对象传递给其他 cmdlet。

类型:System.Management.Automation.SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SCSession

指定一个对象,该对象表示与 Service Manager 管理服务器的会话。

类型:Microsoft.SystemCenter.Core.Connection.Connection[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Template

指定要应用于工作流影响的对象的模板。

类型:Microsoft.EnterpriseManagement.Configuration.ManagementPackObjectTemplate
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 cmdlet 未运行。

类型:System.Management.Automation.SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

None.

不能通过管道将输入传递给此 cmdlet。

输出

None.

此 cmdlet 不生成任何输出。