どのWindowsアカウントがRunbookを実行するかを判別することは可能ですか? SC Orchestrator 2012 R2を使用しています。理想的には、(監査および電子メールの送信用に)どのアカウントがランブックを起動するかを決定したいと思います。
前もって感謝します。
ステップ1
このRunbookのユーザーIDの入力のみを求めています。 User ID (data type: String)
ステップ2
後のSQLクエリでSIDを取得するために、RunbookのIDを決定する必要があります。これは、ジョブIDを返すSQLクエリです。
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}.
ステップ
このGUIDを取得したら、中括弧を取り除く必要があります。これを行うには、次のPowerShellスクリプトを使用します。
$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
ステップ4
GUIDを取得したら、適切なRunbookを検索し、Runbookを起動したユーザーの別のSQLテーブルからSIDを取得できます。
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"}'
これにより、次のようなユーザーアカウントのSIDが返されます。S-1-5-21-1855722787-1516450073-351226437-1111
ステップ5
次のPowershellスクリプトを実行して、ユーザーのID、電子メールアドレスなどを取得します。
$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\")
ステップ6
これで、Runbookを実行したユーザーからあらゆる種類の情報を取得できます。
Runbook監査履歴またはAuditTrail
「Runbook監査履歴Runbook監査履歴は、Runbook内の各アクティビティへの変更を追跡します。これには、変更を行ったユーザー、変更が発生した日時、変更されたアクティビティ、および現在および以前の値が含まれます。プロパティが変更されました。監査履歴は、Runbookが存在し、クリアできない限り維持されます。」
「OrchestratorRunbookDesignerには、いくつかの監査情報も表示されます。コンソールには、各Runbookの[監査履歴]タブがあります。[監査履歴]タブには、アクティビティの名前を変更したユーザーなど、Runbookに対するすべての変更を表示できます。 。以下に、監査履歴情報の例を示す図を示します。[監査履歴]タブに表示される情報は、Orchestratorデータベースの2つのテーブル、OBJECT_AUDITテーブルとCHECK_IN_HISTORYテーブルのデータを組み合わせたものです。」