Service Management Automation 中的 Runbook 执行

 

发布时间: 2016年5月

适用对象:Windows Azure Pack for Windows Server

由 Service Management Automation Web 服务使用服务管理门户或 Start-SmaRunbook Windows PowerShell cmdlet 来执行启动 Runbook 的请求。 Web 服务会将此请求写入 自动化 数据库,而一个 自动化 工作进程服务器会在其中检索此请求。 你无法控制由哪个工作进程服务器处理请求。

工作进程服务器会创建一个作业,该作业在处理请求的工作进程服务器上运行,并远程访问它将使用的任何计算机或其他资源。 这需要 runbook 中的 cmdlet 能够远程访问这些资源。 或者,runbook 可以包含 InlineScript 命令,以便使用 PowerShell 远程处理在目标计算机上以本地方式运行命令。 下图说明了此概念。

Runbook 操作

如果作业挂起或中断,则可能会在不同的工作进程服务器上恢复。 因此,应小心使用无法供所有工作进程服务器访问的本地资源(如本地计算机上的文件)。 应尽可能利用全局资产(如d3544ae9-8fc7-40ce-843c-51ce7c49df6d#bkmk_Variables),以便在检查点之间共享信息。

权限

为了使 runbook 执行其所需操作,它必须有权访问所使用的资源。 Service Management Automation 中的 Runbook 始终在 自动化 Runbook Service 的服务帐户上下文中运行。 如果此帐户没有所需权限,则可以在 runbook 中使用a8b7e82f-e3fc-4286-8570-8d5ded944b27#bkmk_Credentials或a8b7e82f-e3fc-4286-8570-8d5ded944b27#bkmk_Connections全局资源,以便使用具有所需权限的凭据来运行所需命令。 这些凭据也可以与通过参数接受凭据的 cmdlet 配合使用,或是与 InlineScript 配合使用以便运行使用备用凭据的代码块。