如何从 Service Provider Foundation 中自动运行 Runbook

 

发布日期: 2016年7月

适用于: System Center 2012 SP1 - Orchestrator,System Center 2012 R2 Orchestrator

从 服务提供商基础System Center 2012 R2 开始,你可以将 Service Management Automation 配置为使用 服务提供商基础。 有关详细信息,请参阅在 Service Provider Foundation 中管理 Web 服务和连接的“连接到 SMA Web 服务”部分。 也可以使用较旧的调用 Runbook 方案来调用 Runbook。

只要已通过 Set-SCSPFEventRegisration 和 Get-SCSPFEventRegistation cmdlet 将Service Management Automation配置为使用服务提供商基础,你就可以使用 Service Management Automation 自动执行 Runbook,如以下示例中所示。

PS C:\> # This command sets a runbook to be invoked when the Create event for a new virtual machine is raised.  
PS C:\> Set-SCSPFEventRegistration –ResourceName "VMM.VirtualMachine" – ActionName "Create" –RunbookName "Invoke-SampleCmdlet"  
PS C:\>   
PS C:\> # This command gets an event with the Action parameter and stores it in the $event_backup variable.  
PS C:\> $event_backup = Get-SCSPFEventRegistration –Action "Backup"  
  

本主题的其余部分描述较旧的方案。

调用 Runbook(非自动化)

你可以在 System Center 2012 - Orchestrator 中将 Runbook 设置为在通过 服务提供商基础 进行远程调用(使用 Virtual Machine Manager 服务)创建新虚拟机或新服务时立即运行。 你可以将 Runbook 设置为通过使用 Windows PowerShell T:Microsoft.SystemCenter.Foundation.Cmdlet.Set-SCSPFExtensibleEventHandler cmdlet 调用。服务提供商基础 将引发内部事件以调用 Runbook,只要启用了可扩展的事件处理程序,就会继续调用 Runbook。

如果通过其他方式创建了虚拟机或服务,如通过使用 Windows PowerShell Cmdlet 或使用 服务提供商基础 中的控制台,则System Center 2012 – Virtual Machine Manager (VMM)将不会调用 Runbook。

为了支持用于调用 Runbook 的基础结构,服务提供商基础会在内部调用 Start-SCOrchestratorRunbook Cmdlet,并且该 Cmdlet 需要用户显式调用。

确保在调用 T:Microsoft.SystemCenter.Foundation.Cmdlet.Set-SCSPFExtensibleEventHandler Cmdlet 之前应用以下信息和设置:

  • 指向 Orchestrator Web 服务的 URI。

  • Orchestrator 用户组必须包括“Internet Information Services (IIS) 管理器”中的 服务提供商基础 应用程序池的标识设置。 有关确定应用于服务提供商基础的凭据的信息,请参阅Verify local user credentials for portal access中的“验证本地用户凭据以访问门户”部分。 有关为 Orchestrator 用户组添加凭据的信息,请参阅如何更改 Orchestrator 用户组

请参阅从 Service Provider Foundation 中调用的 Runbook 的参数,以获取向 Runbook 自动提供的参数的列表。

从 Service Provider Foundation 中调用 Runbook

  • 使用以下参数调用 T:Microsoft.SystemCenter.Foundation.Cmdlet.Set-SCSPFExtensibleEventHandler:

    参数
    EventName 指定“VirtualMachineCreated”或“ServiceCreated”。
    OrchestratorUri 指向 Orchestrator Web 服务的 URI。
    RunbookPath Runbook 本地路径。
    启用 指定以启用 Runbook。

    要禁止调用 Runbook,请忽略此参数。

    例如:

    PS C:\> Set-SCSPFExtensibleEventHandler -EventName "VirtualMachineCreated" -OrchestratorUri "http://east.contoso.com:82/Orchestrator2012/Orchestrator.svc" -RunbookPath "\SPF Runbooks\Extensibility\VM Created" -Enable  
    

要确定可扩展事件处理程序的目标设置值,请调用 T:Microsoft.SystemCenter.Foundation.Cmdlet.Get-SCSPFExtensibleEventHandler Cmdlet。

禁止调用 Runbook

  • 重新执行 T:Microsoft.SystemCenter.Foundation.Cmdlet.Get-SCSPFExtensibleEventHandler 命令,但不使用 Enable 参数。 你也可以为 OrchestratorUriRunbookpath 参数指定空字符串,如以下示例中所示:

    PS C:\> Set-SCSPFExtensibleEventHandler -EventName "VirtualMachineCreated" -OrchestratorUri "" -RunbookPath ""  
    

请参阅

在 Service Provider Foundation 中管理 Web 服务和连接
从 Service Provider Foundation 中调用的 Runbook 的参数
Service Provider Foundation 的可扩展性
Service Provider Foundation 基础
System Center 2012 - Service Provider Foundation 中的 Cmdlet
如何配置 Orchestrator Web 服务以使用 HTTPS