Service ManagerのセルフサービスポータルでOrchestratorのRunbookを公開するあたりの設定の理解

Service ManagerのセルフサービスポータルでOrchestratorのRunbookを公開するあたりの操作ははじめてやるとわかりにくいと評判ですが、一度わかってしまえば大したことないのも事実です。今回はちょっとこの辺りのメモを自分用に書いておきます。 - Service ManagerとOrchestratorの連携は、Service Manger側が一方的にRunnbookを認識しRunbookを実行する仕組みです。連携においてOrchestrator側からService Managerを認識する事は基本的にしていないという理解をしていくのがまず良いでしょう。(Runbook内でService Manager用のアクティビティを使う場合は例外です。) - まず、Service ManagerがRunbookを認識して連携できるようにService ManagerにOrchestratorへのコネクタを作成します。 - Service ManagerのコネクタはOrchestratorのWebサービスを叩き、Runbookを認識します。この結果、Service Manger上に「Runbook」が表示されます。 - 取り込まれたRunbookはそのままではService Manager上では使えないので、Service Manager上で使えるように「活動」テンプレートに組み込みます。(Runbook Automation活動テンプレート) - 活動テンプレートになったので、それはService Managerの「サービスリクエスト」テンプレートに組み込めるようになりました。サービスリクエストテンプレートは複数の「活動」を組み込んでワークフローを定義できるものだからです。 - そして、そのサービスリクエストをセルフサービスポータルに公開していきます。 - セルフサービスポータルにサービスリクエストを公開するにはその入れ物として「リクエスト提供」と「サービス提供」を用意する必要があります。 - リクエスト提供にはサービスリクエストがアイテムとして登録でき、サービス提供にはリクエスト提供が複数登録できます。これらは事実上、セルフサービスポータル上のカテゴリ(≒サービス提供)とアイテム(≒リクエスト提供)となります。 - Runbookに渡すパラメーターはService Managerも理解しており、Runbook Automation活動テンプレート内で自由にマッピングする事が出来ます。 - さらに、Runbook Automation活動のID自体をパラメーターとしてOrchestratorに渡すことでRunnbook Automation活動を元にその親のSRや関連アイテム等に対して芋づる式にアクセスすることが出来ます。 - Service ManagerがOrchestratorのWebサービスを叩いている様子、あるいは叩くのを失敗している様子はService Managerの「Operations Manager」イベントログ内で確認できます。(Service Managerなのに「Operations Manager」なのは、Service ManagerはOperations Managerを元に作られているからです。 (2016/01/26追記) - Runbook自体を編集するのは構わないですが、Runbookの引数(パラメータ)の数を変更してしまうと、紐づくものが全て無効となってしまい、一から再設定する事になってしまうので注意。なので、必要がなくてもはじめからRunbookのパラメータとしてRubook自体のIDはとっておくようにしたほうが良い。こうしておけばあとから関連するアイテムを取得し、色々とプロパティをいじろうとするときに全部設定しなおしとならないし、このようにしたくなる可能性は高い。 - Rubookの引数を変更するレベルでいじってしまい、再作成になった場合に、「以前は動いていたのに、変更後、Runbookが「開始」されるだけで実行されなくなってしまう」という状態に複数回陥った。この際に何度も綺麗に作りなおしても再度「開始」されるばかりでかなりハマってしまったが、実際には過去のおかしな状態のまま実行中になったサービスリクエストが中途半端にRunbookをキックすることが原因の模様。この場合、一度全てのオープン中のサービスリクエストを全部クローズしてから綺麗にやり直すと良い。糞忙しいのに1時間以上ハマった・・・!(涙 (2016/03/07) - SCSMからSCOをキックしてもRunbookが「開始」されるだけで実行されない場合SCOの「Orchestrator Runbook Service」が実行されていないケースもあった。サービスも要注意。 その他参考になる情報へのリンクも貼っておきます。 - [Demo: Automating Service Request Fulfillment from the SCSM Service Catalog with Orchestrator–Real World Examples - The Official System Center Service Manager Team Blog - Site Home - TechNet Blogs](http://blogs.technet.com/b/servicemanager/archive/2011/11/10/demo-automating-service-request-fulfillment-from-the-scsm-service-catalog-with-orchestrator-real-world-examples.aspx#3464611) - [Demo: Automating Service Request Fulfillment from the SCSM Service Catalog with Orchestrator - The Official System Center Service Manager Team Blog - Site Home - TechNet Blogs](http://blogs.technet.com/b/servicemanager/archive/2011/11/09/demo-automating-service-request-fulfillment-from-the-scsm-service-catalog-with-orchestrator.aspx) - [Working With Relationships in the SCSM Orchestrator Integration Pack - The Official System Center Service Manager Team Blog - Site Home - TechNet Blogs](http://blogs.technet.com/b/servicemanager/archive/2012/05/22/working-with-relationships-in-the-scsm-orchestrator-integration-pack.aspx) - [Add User to Group Automated Request Offering Walkthrough - The Official System Center Service Manager Team Blog - Site Home - TechNet Blogs](http://blogs.technet.com/b/servicemanager/archive/2012/06/25/add-user-to-group-automated-request-offering-walkthrough.aspx) - [Update Service Manager Related Manual Activity Fields with Information from the Parent Change Request – Scenario 1 - Managing System Center - Site Home - TechNet Blogs](http://blogs.technet.com/b/evmoreno/archive/2014/01/03/update-service-manager-related-manual-activity-fields-with-information-from-the-parent-change-request.aspx) - [Self-Service Portal for System Center 2012(セルフサービスポータル)設定のポイント - YOMON8.NET](http://yomon.hatenablog.com/entry/2013/06/15/System_Center_Self-Service_Poratal%EF%BC%88SCSM%E3%82%BB%E3%83%AB%E3%83%95%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%83%9D%E3%83%BC%E3%82%BF%E3%83%AB)%E8%A8%AD%E5%AE%9A%E3%81%AE%E3%83%9D%E3%82%A4%E3%83%B3) - [System Center 2012 Service Manager and Orchestrator Integration Example Walkthrough Start-to-Finish - New Hire Provisioning Service Request - Stay Classy, With System Center Ramblings from San Diego - Site Home - TechNet Blogs](http://blogs.technet.com/b/antoni/archive/2014/04/09/system-center-2012-service-manager-and-orchestrator-integration-example-walkthrough-start-to-finish-new-hire-provisioning-service-request.aspx) - [System Center 2012 Service Manager and Orchestrator Integration Example Walkthrough Start-to-Finish - New Hire Provisioning Service Request – SECOND EDITION :-) - Stay Classy, With System Center Ramblings from San Diego - Site Home - TechNet Blogs](http://blogs.technet.com/b/antoni/archive/2015/10/07/system-center-2012-service-manager-and-orchestrator-integration-example-walkthrough-start-to-finish-new-hire-provisioning-service-request-second-edition.aspx)

October 12, 2015 · 2 min · 胡田昌彦

SCOのRunbookサンプル

「どんなことが自動化できるの?」という質問をよくもらうので、SCOのRunbookサンプルをまとめている中で、Web上でよくまとまったシリーズを見つけたので共有します。 #1 : Alert Remediation, where automation is used to monitor specific situations, and react automatically. This is also the introduction post to the series #2 : Maintenance tasks, where recurring tasks are being handled in a consistent and automated manner, triggered manually or when a specific condition is met #3 : Provisioning and Change Management Automation, where automation handles backend processing or user requests from a service catalog or any provisioning process worth automating in your context #4 : Cross-technology integration**. **Here automation can be used to integrate otherwise silo’d technologies, or help in better together and migration scenarios (integrate a monitoring solution to a manager of manager, or into a ticketing solution) #5 : “Miscellaneous” scenarios, like dynamic resource allocation, and new user onboarding as examples 具体例が沢山あるので、わかりやすいと思います。 ...

August 19, 2015 · 1 min · 胡田昌彦

Remove User from Groupアクティビティの1501ユーザー以上が存在するグループに対しての処理に失敗する問題に対しての回避方法

以下のスクリプトでuser1~1600ユーザーを作成し、user1501をSCOの「Remove User From Group」アクティビティで削除しようとするとエラーが発生してしまいます。 > New-ADGroup -Name “scogroup” -GroupScope Universal for($i=1; $i -lt 1601; $i++) { New-ADUser -Name (“user” + $i) } for($i=1; $i -lt 1601; $i++) { $user = Get-ADUser (“user” + $i) Add-ADGroupMember -Identity “scogroup” -Members $user } エラーメッセージは以下です。 > The group member ‘CN=user1501,CN=Users,DC=ebsjsc,DC=local’ was not found. Exception: AdGroupMemberNotFoundException Target site: LdapGroup.RemoveMember Stack trace: 場所 Microsoft.Accelerators.ActiveDirectoryCore.LdapGroup.RemoveMember(DistinguishedName memberDistinguishedName) 場所 Microsoft.SystemCenter.IntegrationPack.ActiveDirectory.Execution.RemoveUserFromGroupExecutor.DoAction(Object executionItem) 場所 Microsoft.SystemCenter.IntegrationPack.ActiveDirectory.Execution.AExecutor.ExecuteNonGetAction(Object executionObject) 場所 Microsoft.SystemCenter.IntegrationPack.ActiveDirectory.Execution.AExecutor.Execute() 場所 Microsoft.SystemCenter.IntegrationPack.ActiveDirectory.Execution.ActiveDirectoryProgram.ExecuteProxy(ExecutionProxy proxy) 場所 Microsoft.SystemCenter.IntegrationPack.ActiveDirectory.AActiveDirectoryActivity.Execute(IActivityRequest request, IActivityResponse response) 明らかにアクティビティの実装ミスだと思われます。 1500以上のユーザー数を扱う場合にはPageSizeを適切に設定してオペレーションをしないといけない…というのはAD系のプログラムを書いている人なら多くの人が知っていることかなと思います。 - DirectorySearcher.PageSize Property (System.DirectoryServices) しかたがないので、とりあえず問題を回避するには以下のようにPowerShellスクリプトを書くことが出来ます。 > $group = “"$member = ““Import-Module ActiveDirectoryRemove-ADGroupMember -Identity $group -Members $member -confirm:$false これでよし…と思ったのですが、これではRemove-ADGroupMemberコマンドレットが見つからないと言われてエラーになってしまいました。 残念ながら呼び出されるPowerShellのバージョンが低いようです。 Windows Server 2012 and Orchestrator Run.NET Script Activity in PowerShell - Execution Policy? 対処として以下のレジストリを作成しました。 hklm\software\wow6432node\microsoft.netframework\OnlyUseLatestCLR 種類はDWORDで値は1です。 情報元は以下のブログです。 - hklm\software\wow6432node\microsoft.netframework\OnlyUseLatestCLR これで常に最新のバージョンのPowerShellが立ち上がるようになり、うまく動作させることができました。 ...

July 5, 2015 · 1 min · 胡田昌彦

SCOでRunbookをエクスポートする前の準備

System Center OrchestratorでRunbookをエクスポートして共有する前にしておくべきことが紹介されています。単純なことですが、大切なことですね。 - [Automation-System Center 2012 – Orchestrator Best Practice Series-Runbook Export and Scrubbing Process](http://getpocket.com/redirect?url=http%3A%2F%2Fblogs.technet.com%2Fb%2Fprivatecloud%2Farchive%2F2013%2F06%2F14%2Fautomation-system-center-2012-orchestrator-best-practice-series-runbook-export-and-scrubbing-process.aspx)

June 25, 2013 · 1 min · 胡田昌彦

SCOでRunbookをエクスポートする前の準備

SystemCenter関連の記事は以下のブログに移行しました。 - [System Center Blog](http://ebi.dyndns.biz/systemcenter/) この記事は以下の記事に移行しました。 - [SCOでRunbookをエクスポートする前の準備 | System Center Blog](http://ebi.dyndns.biz/systemcenter/2013/06/25/sco%E3%81%A7runbook%E3%82%92%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B%E5%89%8D%E3%81%AE%E6%BA%96%E5%82%99/)

June 25, 2013 · 1 min · 胡田昌彦