SELECT POLICYINSTANCES.JobID
FROM POLICYINSTANCES INNER JOIN ACTIONSERVERS ON POLICYINSTANCES.ActionServer = ACTIONSERVERS.UniqueID
WHERE
(POLICYINSTANCES.ProcessID = '{Activity Process from "Start"}') AND
(ACTIONSERVERS.Computer = '{Runbook Server Name from "Start"}') AND (POLICYINSTANCES.Status IS NULL)
This should return something like the following GUID: {AFA8BF28-1937-4DAE-A160-30FF130AE6CD}.
$a = '{Full line as string with fields separated by ':' from "Get Runbook Job ID"}'
Write-Host $a.Trim('{}')
This should return the GUID without {} AFA8BF28-1937-4DAE-A160-30FF130AE6CD
Select Jobs.CreatedBy
From [Microsoft.SystemCenter.Orchestrator.Runtime].Jobs AS Jobs
INNER JOIN POLICIES ON Jobs.RunbookId = POLICIES.UniqueID
Where Jobs.Id = '{PS Execution 01 Results {with Write-Host) from "Remove {} from Runbook Job GUID"}'
$objSID = New-Object System.Security.Principal.SecurityIdentifier("{Full line as string with fields separated by ';' from "Get the SID of the user that executed this Runbook"}")
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])
$result = $objUser.Value
$UserName = $result.TrimStart("YOUR-DOMAIN-NAME\")
步骤1
我只提示输入此 Runbook 的用户 ID。
User ID (data type: String)
第2步
我需要确定 Runbook 的 ID,以便在以后的 SQL 查询中提取 SID。这是返回作业 ID 的 SQL 查询。
第 3 步
一旦你有了这个 GUID,你需要去掉它的花括号。我使用以下 powershell 脚本来执行此操作:
第4步
一旦我们有了 GUID,我们现在就可以查找正确的 Runbook 并从启动 Runbook 的用户的另一个 SQL 表中获取 SID:
现在将返回用户帐户的 SID,如下所示:
S-1-5-21-1855722787-1516450073-351226437-1111
第 5 步
我运行以下 Powershell 脚本来获取用户的 ID、电子邮件地址等。
第 6 步
现在,您可以从执行 Runbook 的用户那里获得各种信息。
Runbook 审核历史记录或 AuditTrail
"Runbook 审核历史记录 Runbook 审核历史记录跟踪 Runbook 中每个活动的更改。这包括进行更改的用户、更改发生的日期和时间、更改的活动以及任何当前和以前的值更改的属性。只要运行手册存在且无法清除,就会保留审核历史记录。”
“在 Orchestrator Runbook Designer 中,您还可以看到一些审核信息。在控制台中,每个 Runbook 都有一个 Audit History 选项卡。在 Audit History 选项卡中,您可以查看对 Runbook 的所有更改,例如谁更改了活动的名称. 下图显示了审计历史信息的示例。“审计历史”选项卡中显示的信息是来自 Orchestrator 数据库中两个表的混合数据,即 OBJECT_AUDIT 表和 CHECK_IN_HISTORY 表。
https://technet.microsoft.com/en-us/library/hh403785.aspx
http://contoso.se/blog/?p=2980