2017年7月9日日曜日

ServiceNowとSystem Center Orchestrator、Azure Automation

自分用メモ。

ServiceNowとSystem Center Orchestratorの連携では、まず3rd Partyがリリースしている統合パック(IP)があります。

INTEGRATION PACK FOR SERVICENOW
Automation for ServiceNow
The Integration Pack for ServiceNow is compliant with Microsoft System Center 2012 R2 Orchestrator or System Center 2016 Orchestrator.

上記ページからOrchestratorアクティビティの一覧を転記しておきます。
ServiceNow Activities

Create Record – activity dynamically creates new ServiceNow records using standard or customized ServiceNow forms.
Get Record – activity returns records meeting specific filter conditions
Update Record – activity updates specific records
Delete Record – activity deletes specific records
Monitor Record - monitor for new or updated ServiceNow records
Upload Attachment – activity uploads attachment to ServiceNow record
Download Attachment - activity downloads attachment from ServiceNow record
Import Set - activity inserts a record into a ServiceNow import set table
Run Query - retrieves records from a ServiceNow table using a ServiceNow encoded query string
Run Scripted Web Service - runs a ServiceNow scripted web service (Only in SOAP IP)

Activities subscribe and publish data to the Orchestrator databus.
ServiceNowのレコードに含まれて添付ファイルをダウンロードできるようなので、いろいろ使い道がありそうな気がしますね。

もう一つは、ServiceNow自体のOrchestrationです。こちらは、System Center Orchestratorとどう連携できるのか、まだ読み解いている最中ですが。
Orchestration
サポート対象と
3 What Systems Can Orchestration Automate?

VMware (through vCenter)
Amazon EC2 instances
Any system presenting web services
Windows Active Directory
Microsoft Exchange mail servers
Puppet Labs Puppet (with configuration automation)
Opscode Chef (with configuration automation)
Any system accessible from the command line
アクティビティのサマリを上記ページより転記します。
5 Orchestration Activities in Workflow

The Orchestration plugin adds these types of activities for use with workflows:

Basic Orchestration activities
SSH activities
Active Directory activities
VMware activities
Amazon EC2 activities
PowerShell activities
Puppet
Chef activities
Exchange activities

オンプレミス側の起点になりそうな、MID Server

ServiceNowとAzure Automation。
こちらいくつか情報を見つけましたので、下記に記載しておきます。



SCSMからSC Orchestratorに添付ファイルを持ってくる 2 - 自分メモ

前回からの続きな自分メモ。

いろいろ見た中で、
Neat Trick to Get SCSM Service Request Attachments
https://systemcenternoise.wordpress.com/2016/01/07/neat-trick-to-get-scsm-service-request-attachments/

をベースに考えてみることとしました。

ただ、SCSMの標準コマンドレットでは、SCSMのアクティビティに割り当てられるGUIDは取れそうもないようでした。
さらに調べてみたところ、PowerShell/SCSM - Finding the GUID of an objectを見つけてそこから
SMLetsというものを知り、GUIDが取れることがわかりました。

SCSM PowerShell Cmdlets

注)Codeplexは2017年12月にその役割を終えることになっています。
SMLetsは、GitHubに移行中とのこと(本稿執筆時点、2017/07/09)

SCSMにSMLetsをインストールして、アクティビティに含まれる添付ファイルをSCSMのローカルフォルダへダウンロードできるかをリモートホスト(この場合は、SC Orchestrator)のPowerShellから試しました。
今のところ、下記のコードでうまくいっているようです。ただ、SC Orchestratorのアクティビティとしての確認はできていません。
$Session=New-PSSession -ComputerName "scsmhost"
Invoke-Command -Session $session -ScriptBlock {
Import-Module 'C:\Program Files\Microsoft System Center\Service Manager\PowerShell\System.Center.Service.Manager.psd1'
Import-Module SMLets
$SMServer="scsmhost"
# SCSMのアクティビティIDを指定し、SMLetsのGet-SCSMObjectでGUIDを取得できるようにしています。# http://www.lazywinadmin.com/2014/09/powershellscsm-finding-guid-of-object.html
# http://smlets.codeplex.com/documentation Shutdown to Dec-2017
$ServiceRequest = Get-SCSMObject -Class (Get-SCSMClass -Name System.WorkItem.ServiceRequest) -filter "ID -eq SCSMのアクティビティIDを指定"
#
$SR=Get-SCClassInstance -ComputerName $SMServer –Id $ServiceRequest.get_id()
#英語環境で作ったはずですが、なぜかDisplayNameで日本語名を指定しないとうまくいきませんでした。
$targetclass=Get-SCSMRelationship -ComputerName $SMServer -DisplayName "添付ファイルがある" | where {$_.Source -eq (get-scsmclass -ComputerName $SMServer -Name System.WorkItem)}
# $targetclass=Get-SCSMRelationship -ComputerName $SMServer -DisplayName "Has File Attachment" | where {$_.Source -eq (get-scsmclass -ComputerName $SMServer -Name System.WorkItem)}
$files=$SR.GetRelatedObjectsWhereSource($targetclass)
$ArchiveRootPath="C:\Temp\OrchestratorRemote\"
#For each file, archive to entity folder
$filelist=@()
if($files -ne $Null)
{
#Create archive folder
$nArchivePath=$ArchiveRootPath + "" + $SR.Id
New-Item -Path ($nArchivePath) -ItemType "directory" -Force|Out-Null

$files|%{
Try
{
$filelist+="$nArchivePath$_"
$fileId=$_.EnterpriseManagementObject.Id
$fileobject=get-scsmclassinstance -ComputerName $SMServer -Id $fileId
$fs = [IO.File]::OpenWrite(($nArchivePath + "\" + $_.EnterpriseManagementObject.DisplayName))
$memoryStream = New-Object IO.MemoryStream
$buffer = New-Object byte[] 8192
[int]$bytesRead|Out-Null
while (($bytesRead = $fileobject.Content.Read($buffer, 0, $buffer.Length)) -gt 0)
{
$memoryStream.Write($buffer, 0, $bytesRead)
}
$memoryStream.WriteTo($fs)
}
Finally
{
$fs.Close()
$memoryStream.Close()
}
}
}
$file1=$filelist[0]
$file2=$filelist[1]
$file3=$filelist[2]
}

Remove-PSSession $Session

2017年6月24日土曜日

Update Rollup 3 for System Center 2016 Virtual Machine Managerを適用してみた

Update Rollup 3 for System Center 2016 Virtual Machine Managerです。
1か月ほど前に確認していたのですが、遅まきながらブログに書き留めておきます。

今回は、Update Rollup 3 for System Center 2016 Virtual Machine Managerに記載ある手動で適用しております。
Update Catalogにアクセスして、ファイルをダウンロードしました。
※使わない気もしましたが、32bit版の管理コンソールもダウンロード済みです。


ダウンロードしましたら、一つ一つ解凍して中にあるMSPファイルを取り出します。

以下の通り、VMM Serverと64bit版管理コンソールを用意します。


MSPファイルをmsiexecで適用します。


VMM Serverは、下記の通りサービスを止めて適用するか、再起動するかを選択できます。
※今回はサービス止めて適用を選んでいます。


管理コンソールにもMSPファイルを適用して、一件落着。


VMMエージェントの更新もしておきます。
※こちらは日本語版の画面となります。


エージェントの更新対象を選んで、[エージェントの更新]を選びます。


ドメイン管理者の実行アカウントを選択します。


実行完了をジョブ画面で確認します。


ファブリックの画面でも、エージェントの更新を確認できました。


続いて、SCOMに管理パックをインストールします。
※PROでの連携確認を引き続き行うかもしれないので。

追加で、管理パックのインポートウィザードを進めます。


VMMの管理パックは、VMMのインストールフォルダー配下の"ManagementPacks"にあります。
これをすべて選択します。


依存性の解決が必要です。


上記画面で、[Resolve]をクリックすると下記の画面が出ます。
ここで、[Resolve]ボタンを押し、不足している管理パックを追加していきます。



依存性が解決できたので、[Install]ボタンを押して、インポート開始。


セキュリティ警告が出ていましたので、下記ダイアログが表示されます。こちらは、[Yes]ボタンを押しておきます。


無事にインポート完了。


Interact 2017 セッション資料 「Monitoring あれこれ」を公開します。

Interact 2017 セッション資料 「Monitoring あれこれ」を公開します。

セッション時とスライドの順番、記載誤りを訂正しております。

2017年6月3日土曜日

System Center Configuration Managerの冗長構成

branchリリースになってますが、日本語化された情報がありますね~

※いずれdocs.microsoft.comになって、当該記事からも一部リンク切れしそう。。。

System Center Configuration Manager の高可用性サイト データベースの SQL Server AlwaysOn
によると「プライマリ サイトと中央管理サイト」でAlwayOnをサポートします。AlwayOn可用性グループは、いくつか考慮しておく条件があります。
実際にサポートされるSQL ServerバージョンがSystem Center Configuration Manager のサポートされている SQL Server バージョンに記載されており、「プライマリ サイトと中央管理サイト」のSQL Server冗長構成も合わせて載っています。 AlwaysOn可用性グループ以外に、クラスター、複数インスタンスなどが採用できます。
末端となるセカンダリサイトは、SQL Serverの冗長構成はとりません。

SCCM自体は、サイトの階層化を使うため、冗長構成はとり易いですね。
System Center Configuration Manager のサイト階層の設計
System Center Configuration Manager のサイズとスケールの数
System Center Configuration Manager の高可用性オプション
System Center Configuration Manager の推奨ハードウェア

System Center 2016自体の冗長構成

必要になったで、まとめておきます。
※SQL Serverは、別稿でまとめてますので、そちらを参照ください。


ここまで書いてSCCMをまとめてないですね。。。