サーバーの 管理性...

32
サーバーの 管理性 および自動化 Windows Server 2012

Upload: others

Post on 24-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

サーバーの 管理性 および自動化

Windows Server 2012

Page 2: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 2

目次 はじめに ..................................................................... 5

Windows Server 2012 の標準ベースの管理

アプローチ .................................................................. 6

技術的な説明 ................................................................................................................. 6

標準 API の機能向上 ................................................................................................... 6

標準プロトコル ................................................................................................................ 7

標準管理ツール ............................................................................................................. 7

Windows PowerShell 3.0 を使用した包括的

で復元力の高いシンプルな自動化 .............................. 9

技術的な説明 ................................................................................................................. 9

堅牢なセッション接続 ............................................................................................................................... 9

切断セッション ......................................................................................................................................... 9

ジョブのスケジュール ............................................................................................................................. 10

Windows PowerShell ISE の新機能 .................................................................................................... 11

Windows PowerShell ワークフロー ...................................................................................................... 13

コマンドレットの検出 Get-Command とモジュールの自動読み込み ...................................................... 18

構文の簡略化........................................................................................................................................ 18

スクリプト エクスプローラー ................................................................................................................... 19

Windows PowerShell Web アクセス .................................................................................................... 20

更新可能なヘルプ ................................................................................................................................. 21

セッション構成ファイル ........................................................................................................................... 22

RunAs 機能 ......................................................................................................................................... 22

パラメーターの既定値 ............................................................................................................................ 22

新しいコマンドレット ............................................................................................................................... 23

まとめ .......................................................................................................................... 24

Page 3: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 3

サーバー マネージャーによるマルチサーバー

管理と機能の展開 .................................................... 26

技術的な説明 ............................................................................................................... 26

マルチサーバー エクスペリエンス .......................................................................................................... 26

サーバーの構成と展開の合理化 ............................................................................................................ 27

リモート サーバーまたはオフラインの仮想ハード ディスクへのワークロードの効率的な展開 .................. 27

リモート サーバーやオフラインの仮想ハード ディスクへの役割と機能のインストール ............................. 28

バッチ展開 ............................................................................................................................................ 28

他の管理ツールとの統合 .............................................................................................. 29

複数のサーバーにおけるサーバーの役割の管理 ................................................................................... 29

リモート デスクトップ サービスの構成 ........................................................................... 29

パフォーマンスに対する影響の最小化 .......................................................................... 29

要件............................................................................................................................. 30

リモート サーバー管理ツール ....................................................................................... 30

まとめ .......................................................................................................................... 30

結論 ......................................................................... 31

グラフ、表、および図の一覧 ...................................... 32

Page 4: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 4

著作権情報 © 2012 Microsoft Corporation. All rights reserved. 本書は現状有姿のままで提供されるものであり、このド

キュメントに記載されている情報および見解は、URL およびその他の Web サイト参照先を含め、事前の通知

なく変更されることがあります。本書の利用に関する責任はお客様が負うものとします。本書は、マイクロソフト製

品の知的財産権に関する法的権利をお客様に許諾するものではありません。本書は、内部における参照を目的

として複製および使用することができます。本書は、内部における参照を目的として変更することができます。

Page 5: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 5

はじめに Windows Server 2012 は、パブリック クラウドの構築および運用におけるマイクロソフトの経験を反映したサー

バー オペレーティング システムであり、プライベート クラウド用の動的で、可用性に優れ、コスト効率が高いプ

ラットフォームとして機能します。また、企業やホスティング プロバイダーに対し、分散された拠点をより安全に接

続する、拡張性を備え動的でマルチテナントに対応したクラウド インフラストラクチャの基礎を提供し、IT がより

迅速かつ効率的にビジネス ニーズに応えるための役に立ちます。

Windows Server 2012 は、包括的なマルチコンピューター管理が可能な統合プラットフォームとして、総保有コ

スト (TCO) の面で優れています。Windows Server 2012 のマルチコンピューター管理は、次の 3 つの分野で

向上しました。

• 標準ベースの管理アプローチ: Windows Server 2012 では使用する業界標準に重点を置き、Windows デ

バイスと Window 以外のデバイスの両方で管理性が向上しました。

• Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン インターフェイスは、包括的な自動

化機能を提供します。

• サーバー マネージャー: Windows Server 2012 サーバー マネージャーでは、物理および仮想のローカル

サーバーとリモート サーバーに役割や機能を展開し、管理することが可能です。

以降のセクションでは、Windows Server 2012 のこれら 3 つの機能の詳細について説明します。

Page 6: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 6

Windows Server 2012 の標準ベースの管理アプローチ 技術的な説明 Windows Server 2012 では、機能強化された標準ベースの管理フレームワークのアプリケーションによって、

データセンターとクラウド環境内の管理機能が向上しました。Microsoft Windows は、長年にわたって標準ベー

スの管理をサポートし、分散管理タスク フォース (DMTF) などの組織に参加してきました。このような経験が、

Windows Management Instrumentation (WMI) と Windows リモート管理 (WinRM) の開発に結び付いてい

ます。WMI は Common Information Model (CIM) オブジェクト マネージャーの Windows の実装で、

WinRM は、Web サービス管理 (WS-Man) プロトコルの実装です。CIM と WS-Man は、どちらも DMTF に

よってリリースされている標準です。

Windows Server 2012 は、標準ベースのインフラストラクチャに大幅な機能向上を加え、データセンターの管理

性を強化しています。それは、開発者と IT プロフェッショナルが簡単に使用できるアプリケーション プログラミン

グ インターフェイス (API) を提供することによって実現されています。これらの API により、最新の標準がサ

ポートされ、データセンター内の複数のサーバーとデバイスに容易にコスト効率良く接続して管理できる新しい種

類の Windows PowerShell コマンドレットが追加されます。

図 1: Windows 標準ベースの管理コンポーネントの機能向上

標準 API の機能向上 WMI のリリース以降、プロバイダーを使用する多数の管理製品とツールが順調に成長してきましたが、これまで

のところ、プロバイダーの増加に比例した成長ではありませんでした。開発者にとっての課題は、WMI プロバイ

ダーの記述には、コンポーネント オブジェクト モデル (COM) コーディングの高度な知識が必要とされることで

した。このため、プロバイダーの記述には時間がかかり、開発者の利点はほとんどありませんでした。

Windows Server 2012 では、マイクロソフトは Windows 用の管理インフラストラクチャ API (MI API) を導入

します。これにより、新しいプロバイダーおよびクライアント アプリケーションの開発が非常に簡単になります。こ

Page 7: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 7

れらの新しい MI API は、クライアント開発用のネイティブ (C/C++) コードおよびマネージ (.NET) コードと、プ

ロバイダー開発用のネイティブ コードの両方で使用できます。API により、COM コーディングの必要がなくなり、

MOF ファイルに記述されているクラス定義からコード スケルトンおよびスキーマを生成するツールを利用できま

す。これにより、プロバイダー開発が非常に簡単になり、開発者はビジネス ロジックの開発に時間を使えるように

なります。新しい MI API を使用して記述されたプロバイダーは、前のリリースの WMI と現在の DMTF WS-

Man 標準を使用する Windows 以外のクライアント アプリケーションから呼び出して、Windows Server 2012

システムに接続できます。

さらに、新しい MI API は、従来の WMI API よりも厳密に CIM インフラストラクチャ標準に準拠するように更

新され、既定の設定で、サーバー間の通信に標準の WS-Man プロトコルを使用します。このような標準に準拠

しているということは、開発者が MI API を使用したアプリケーションを記述できることを意味し、つまり、他の

Windows サーバーだけでなく、現在の DMTF CIM とプロトコル標準をサポートする任意のサーバーまたはデ

バイスを管理できるということです。

Windows 以外のプラットフォームから Windows を管理する必要がある Web 開発者のために、Windows

Server 2012 には Management OData IIS 拡張機能が含まれています。これには、REST API (OData サー

ビスのエンドポイント) の構築を簡単にするツールとコンポーネントが含まれます。

OData は、REST API を構築するための URI 規約、ツール、コンポーネント、およびライブラリのセットです。

OData サービスの優れている点は、データの内容と動作を定義する明示的なドメイン モデルをベースにしてい

るということです。これにより、豊富なクライアント ライブラリ (Windows/IoS/Android 携帯電話、ブラウザー、

Python、Java など) を自動的に生成でき、幅広いデバイスとプラットフォームのソリューションの開発が簡単にな

ります。

標準プロトコル 標準ベースの管理のもう 1 つの課題は、標準管理プロトコルの定義と可用性です。複数のベンダーが複数のプ

ラットフォーム上で複数の管理ツールとインターフェイスを作成しているので、環境の管理はますます複雑になり

ます。

WMI は、多くの標準的なクラス プロバイダーをホストする標準の CIM オブジェクト マネージャー (CIMOM)

です。ただし、初期段階では、相互運用性のある管理プロトコルはなかったので、WMI は分散コンポーネント オ

ブジェクト モデル (DCOM) を使用していました。このため、WMI は Windows を管理する Windows のため

の “管理の孤島” になりました。

この状況は、DMTF の定義と WS-Man の承認で変わりました。WS-Man は、SOAP ベースのファイアウォー

ル フレンドリなプロトコルで、WS-Man では、任意のオペレーティング システムのクライアントが、任意のプラッ

トフォームで実行中の、標準に準拠した CIMOM 上の操作を呼び出すことができます。マイクロソフトは、WS-

Man の最初の部分的な実装を Windows Server 2003 で出荷し、Windows リモート管理 (WinRM) と名付け

ました。

Windows Server 2012 では、WinRM は既定の管理用プロトコルになりました。これにより、Openwsman (Perl、

Python、Java、および Ruby Bindings)、Wiseman、OpenPegasus などの他のプラットフォームで利用できる

多数の CIMOM および WS-Man スタックとの相互運用性が実現します。

標準管理ツール WS-Man が標準プロトコルとして実装されたことにより、標準の API を使用して管理性と相互運用性をより簡

単に効率良く実現できる土台が確立されました。

複雑なデータセンター環境には最新の Windows と Windows 以外のオペレーティング システムを実行する幅

広いシステムがあるので、Windows Server 2012 の目標の 1 つは、Windows PowerShell を使用して、IT プ

Page 8: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 8

ロフェッショナルが可能な限り多くのプラットフォームとデバイスを管理できるようにすることでした。

このドキュメントで説明する主要な管理コンポーネントである WMI、MI API、WinRM、および PowerShell は、

Windows Management Framework 3.0 に含まれています。このダウンロード可能なパッケージは、Windows

Server 2008、Windows Server 2008 R2、および Windows 7 システムにインストールでき、Windows Server

2012 の、標準に準拠した最新の機能をすべて提供します。

Windows Server 2012 には、汎用的な CIM 操作に直接対応する CIM コマンドレットという新しい

PowerShell モジュールが用意されています。このモジュールは、MI クライアントの .NET API の上に構築され

ます。これにより、このモジュールのコマンドレットは、現在の WS-Man および CIM 標準をサポートする

Windows デバイスおよび Windows 以外のデバイスを管理できます。また、Windows Server 2012 では、新

しいタイプのコマンドレットである CIM ベースのコマンドレットもサポートされるようになりました。これにより、開

発者とスクリプトの記述者は、WS-Man を使用して、既存の Windows デバイス上の WMI プロバイダーと

Windows 以外のシステム上の CIM プロバイダーを含む、すべての CIM プロバイダーまたは WMI プロバイ

ダーを操作できます。

つまり、Windows Server 2012 の標準ベースの管理アプローチにより、IT プロフェッショナルは Windows

PowerShell と標準に準拠した Windows の新機能を使用して、現在の CIM、WS-Man、および OData 標準

をサポートするデータセンター内のあらゆるデバイスを管理できます。

Page 9: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 9

Windows PowerShell 3.0 を使用した包括的で復元力の高いシンプルな自動化 Windows PowerShell 3.0 は、ほとんどのサーバーの役割とデータ センターのいくつかの側面の管理を支援す

る包括的なプラットフォームを提供します。この最新バージョンの Windows PowerShell では、リモート サー

バーに対するセッションの復元力が高く、さまざまな種類の中断に耐えることが可能となっています。さらに、強化

されたコマンドレット発見機能と、すべてのコマンドレットで一貫性のある簡素化された構文により、Windows

PowerShell の習得が、より簡単になりました。

技術的な説明 以降のセクションでは、Windows PowerShell の主な機能について説明します。

堅牢なセッション接続

サービス パックの展開やデータベースのバックアップなどの時間のかかるタスクは、その処理を開始したクライ

アント コンピューターが停止したり、切断されたりしても、継続する必要があります。

堅牢なセッション接続の機能により、クライアントが応答を停止したりアクセスできなくなっても、リモート セッショ

ンは最大 4 分間接続された状態に維持できます。また、管理対象ノード上のタスクは独力で実行を継続し、その

エンド ツー エンドのシステムの信頼性を高めます。接続が 4 分以内に復元できない場合、管理対象ノードでの

実行はデータが失われることなく中断され、リモート セッションは自動的に切断状態に移行します。これにより、

ネットワーク接続が復元された後に再度接続することができます。予期せずクライアントが切断されて実行中のタ

スクが完了前に強制終了されることによってアプリケーションとシステムの状態に破損が生じることが、事実上な

くなります。

切断セッション

Windows PowerShell 3.0 では、状態を失うことなく、セッションの切断と再接続が可能です。切断セッションの機

能により、リモート コンピューター上にセッションを作成してコマンドまたはジョブを起動し、セッションから切断して

自分自身のコンピューターのシャットダウンを行い、その後別のコンピューターからこのセッションに再接続して

ジョブの状態を確認したり、結果を取得したりすることができます。管理者がセッションから切断されても、コマンド

やジョブの実行は継続されます。

次のコマンドレットは、Windows PowerShell 3.0 の切断セッションの機能を示しています。

• Disconnect-PSSession: セッション接続をリモート コンピューターから切断します。

• Connect-PSSession: リモート コンピューターとのセッション接続を再度確立します。

• Receive-PSSession: 既定の設定では、リモート セッションのコマンドの実行を再開し、セッションの出力を

取得します。暗黙的にセッションに再接続します (Connect-PSSession コマンドは使用しません)。

例:

# リモート セッションを開始し、セッションから切断し、PowerShell を終了

PS C:¥> $s = New-PSSession -ComputerName srv1 -Name LongSession

PS C:¥> $job = Invoke-Command $s { 1..10| % {echo "Long running job - part $_";

sleep 5} } -AsJob

Page 10: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 10

PS C:¥> Disconnect-PSSession $s

exit

# 別のコンピューターで Windows PowerShell を開始

PS C:¥> $s = Get-PSSession -ComputerName srv1 -Name LongSession

PS C:¥> Receive-PSSession $s

ジョブのスケジュール

Windows PowerShell 3.0 では、管理者がジョブを後で実行するようにスケジュールしたり、特定のスケジュール

に従ってジョブが実行されるようにすることができます。スケジュールされたジョブを作成するには、まずジョブ定

義を作成します。ここでは、ジョブに名前を付け、実行するコマンドとジョブ トリガーを指定します。ジョブのスケ

ジュールと開始には Windows タスク スケジューラを使用します。また、ユーザーごとのジョブ リポジトリを使用

してジョブ出力を格納することで、後でコンピューター上の Windows PowerShell セッションで使用できるように

します。

PSScheduledJob モジュールで次のコマンドレットが用意されており、スケジュールされたジョブの処理に役立ち

ます。

• Add-JobTrigger • Enable-ScheduledJob

• Disable-JobTrigger • Get-ScheduledJob

• Get-JobTrigger • Register-ScheduledJob

• Enable-JobTrigger • Set-ScheduledJob

• New-JobTrigger • Unregister-ScheduledJob

• Remove-JobTrigger • Get-ScheduledJobOption

• Set-JobTrigger • New-ScheduledJobOption

• Disable-ScheduledJob • Set-ScheduledJobOption

ジョブは、次のジョブ トリガーに基づいて実行するようスケジュールできます。

• 1 回のみ

• 毎日

• 毎週

• 起動時

• ログオン時

例:

$trigger = New-JobTrigger -Daily -At 4am

Register-ScheduledJob -Name MyScheduledJob -ScriptBlock { Get-Process } -Trigger

$trigger

Get-ScheduledJob

スケジュールされたジョブを手動で起動することもできます。

例:

Start-Job -DefinitionName MyScheduledJob

トリガーが発動し、ジョブが実行されたら、通常のバックグラウンド ジョブと同じように扱うことができます。

例:

Import-Module PSScheduledJob

$j = Get-Job -Name MyScheduledJob

Receive-Job $j

Page 11: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 11

Windows PowerShell ISE の新機能

Windows PowerShell 3.0 Integrated Scripting Environment (ISE) には、初心者が Windows PowerShell

に徐々に慣れていくための多数の新機能が装備されているほか、スクリプトの記述者向けの高度な編集サポート

も用意されています。これらの新機能の一部を以下に示します。

• Show-Command のパネルでは、ダイアログ ボックス内でコマンドレットを検索、実行できます。

図 2: Windows PowerShell ISE でのコマンドレット操作

Page 12: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 12

• コマンドレットやスクリプトの名前、パラメーター名、列挙値、プロパティ名やメソッド名について、IntelliSense

によって状況依存のコマンド補完が提供されます。IntelliSense では、パス、型、変数もサポートされます。

図 3: 状況依存のコマンド補完と IntelliSense

Page 13: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 13

• スニペットは、ユーザーが再利用可能なテキストを挿入できるコード例です。組み込みのスニペットには、関数、

ワークフロー、共通の言語パターンのテンプレートが含まれており、ユーザーは構文を覚えている必要があり

ません。

図 4: スニペット

• スクリプトや XML ファイルで一定の範囲を折りたたむことができ、長いスクリプト内のナビゲーションが容易

になります。

Windows PowerShell ワークフロー

IT プロフェッショナルは、多くの場合、管理対象の複数のコンピューターまたはデバイスに同時に影響を与えるこ

とのできる、時間のかかる一連のタスクまたはワークフローを実行することで、マルチコンピューター環境の管理

を自動化しています。Windows PowerShell ワークフローにより、IT プロフェッショナルや開発者は、Windows

PowerShell の自動化機能にワークフローの利点を組み合わせることができます。

ワークフローとは、1 つ以上の管理対象ノード (コンピューターまたはデバイス) でタスクを実行する、またはこれ

らのノードからデータを取得する、一連の自動化された手順またはアクティビティです。これらのアクティビティに

は、個々のコマンドまたはスクリプトを含めることができます。Windows PowerShell ワークフローにより、IT プロ

フェッショナルや開発者は、一連のマルチコンピューター管理アクティビティ (通常実行時間が長い、反復可能、

頻度が高い、並列化可能、割り込み可能、停止可能、再起動可能といった特徴を持つアクティビティ) をワークフ

ローとして記述できます。設計により、ワークフローは、ネットワーク障害、再起動、停電など、意図的または偶発

的な中断から再開することができます。

Windows PowerShell ワークフローの利点

Windows PowerShell ワークフローは、マルチコンピューター タスクの分散、順序付け、実行を管理し、ユー

ザーや管理者が、より高度なタスクに集中できるようにします。次の一覧では、Windows PowerShell ワークフ

ローのさまざまな利点について説明します。

• PowerShell スクリプト構文の使用。IT プロフェッショナルは、拡張された PowerShell 言語を使用することで、

既存の PowerShell スクリプト スキルを再利用して、スクリプトベースのワークフローを作成できます。

PowerShell スクリプトベースのワークフローは、簡単に作成できるだけでなく、電子メールに貼りつけたりオ

ンラインで公開することで、共有できるというメリットもあります。

• マルチコンピューター管理。数百もの管理対象ノード上で、実行に時間がかかるタスクをワークフローとして同

時に実行します。Windows PowerShell ワークフローには、ワークフローの共通管理パラメーターの組み込

みライブラリが含まれています。このライブラリにより、PSComputerName や PSConfigurationName など

のマルチコンピューター管理シナリオが可能となります。

Page 14: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 14

• 複雑なプロセスを単一のタスクで実行。エンドツーエンドのシナリオ全体で機能する関連スクリプトまたはコマ

ンドを、1 つのワークフローにまとめることができます。ワークフローのアクティビティの状態と進捗状況をいつ

でも見ることができます。

• 堅牢さ。自動化された障害回復。Windows PowerShell ワークフローは、計画的中断も計画外の中断 (コン

ピューターの再起動やネットワーク異常) も乗り切ることができます。ワークフローの実行を中断した後、最後

のチェックポイント (通常は中断されたポイント) からそのワークフローを再開できます。

• 永続化。ワークフローの状態とデータは、その作成者が定義した特定のポイントで保存 (チェックポイント設

定) されます。これにより、ワークフローを最初から再実行するのではなく、最後に永続化されたタスク (チェッ

クポイント) から再開できます。

• 接続とアクションの再試行。ワークフロー共通のパラメーターを使用して、ネットワーク接続で障害が発生した

場合に、ワークフロー ユーザーは管理対象ノードへの接続を再試行できます。さらに、ワークフローの作成者

は、1 つ以上の管理対象ノードで障害が発生した場合に (コンピューターの 1 つがアクティビティの実行中

にダウンした場合など) 再度実行する特定のアクティビティを指定できます。

• 接続と切断の機能。ユーザーは、ワークフローを実行しているコンピューターに接続したり、ワークフローを実

行しているコンピューターから切断したりできますが、その間ワークフローは実行を続けます。たとえば、ワー

クフローを中断することなく、ワークフロー コンピューターに接続しているコンピューターをログオフまたは再起

動し、別のコンピューター (自宅のコンピューターなど) からワークフローの実行を監視することができます。こ

れは、ワークフロー エンジン コンピューターとは別のコンピューター上でクライアントが実行されている場合

に可能です。

• スケジュール機能。ワークフロー タスクは、Windows PowerShell のコマンドレットやスクリプトと同様にスケ

ジュールできます。

• ワークフローと接続の調整機能。ワークフローの実行とノードへの接続は調整することができます。これにより、

スケーラビリティや高可用性のシナリオが可能になります。

コマンドレット/スクリプトではなく Windows PowerShell ワークフローを使用する場合

一般には、次のいずれかの要件を満たす必要がある場合、コマンドレット/スクリプトではなくワークフローの使用

を検討してください。

• 複数のステップを順に組み合わせた、時間のかかるタスクを実行する必要がある。

• 複数のコンピューター上でタスクを実行する必要がある。

• チェックポイント設定または永続化しなければならないタスクを実行する必要がある。

• 非同期、再起動可能、並列化可能、割り込み可能といった特徴を持つ、時間のかかるタスクを実行する必要

がある。

• 大規模なスケールで、または高可用性環境でタスクを実行する必要があり、調整や接続プールが必要となる

可能性がある。

Windows PowerShell でのワークフローの記述と実行の例

通常、ワークフローはクライアント コンピューターから起動され、複数のターゲット コンピューターで時間のかか

るタスクを実行するのに適しています。ワークフローの使用は他の Windows PowerShell コマンドレットと似て

おり、ワークフローの検出には Get-Command コマンドレット、ワークフローの使用方法を確認するには Get-

Help コマンドレットを使用できます。ワークフローは、再起動などのマシンやネットワークの中断も乗り切ることが

できます。

ワークフローを Windows PowerShell セッションに追加することができます。このためには、コマンド ラインで定

義してドット ソース形式で読み込みするか、スクリプトで定義するか、Import-Module コマンドレットを使用して

Windows PowerShell スクリプト ワークフローまたは XAML ベースのワークフローをインポートします。これで

ワークフローはそのセッションで他の PowerShell コマンドと同様に動作します。

Page 15: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 15

ワークフロー内の各ステップまたはコマンドは、"アクティビティ" と呼ばれます。各アクティビティはワークフローの

プロパティを継承します。これには、前述の強力なワークフローの共通パラメーターも含まれます。

ワークフローを記述するには、通常の PowerShell コンソール、または Windows PowerShell ISE を使用でき

ます。たとえば、Windows PowerShell ISE のコマンド ウィンドウに、次のようにワークフローを入力できます。

Workflow Verb-Noun

{

Write-Output -InputObject "Hello from Workflow!"

}

新しい "Workflow" というキーワードに注目してください。これは、コマンドが Windows PowerShell ワークフ

ローであることを示しています。このキーワードにより、20 を超える新しい共通のパラメーターがワークフローに

追加され、ユーザーは次のような項目を指定できるようになります。

• ワークフローのターゲット コンピューターの一覧 (-PSComputerName)

• ワークフローの実行に使用する資格情報 (-PSCredential)

• 作業の尺度としてワークフローを管理するためのクォータ (-PSRunningTimeoutSec など)

• 接続に問題がある場合に、ワークフロー全体または特定のアクティビティを再試行する機能

(PSConnectionRetryCount など)

• ワークフローのアクティビティを永続化 (チェックポイント設定) する機能。これにより、ワークフローのメタデー

タ、出力、およびエラーをディスクに保存し、実行時に指定したポイントでワークフローを再開できるようにしま

す (-PSPersist)

ワークフローを実行するには、他の Windows PowerShell コマンドの実行時と同様に、ワークフロー名を入力し

ます。たとえば、上記の例で作成した新しいワークフローを実行するには、Windows PowerShell ISE プロンプト

に「Verb-Noun」と入力します。

以下に、”LongWorkflow” というもう 1 つのワークフローの例を示します。これは実行に約 30 秒かかります。

Workflow Invoke-LongWorkflow

{

Write-Output -InputObject "Loading some information..."

Start-Sleep -Seconds 10

Write-Output -InputObject "Performing some action..."

Start-Sleep -Seconds 10

Write-Output -InputObject "Cleaning up..."

Start-Sleep -Seconds 10

}

このワークフローは時間のかかるタスクを定義しているため、バックグラウンド ジョブとして実行するのに適して

いる場合があります。そのように実行するには、AsJob パラメーターを使用します。また、JobName パラメー

ターを使用して、ジョブに "LongWF" といった名前を割り当てます。

例:

Invoke-LongWorkflow –AsJob –JobName LongWF

Page 16: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 16

次の例は、さらに複雑なワークフローとなっています。この “Install-VM” というワークフローは、管理対象ノード

に仮想マシンを作成し、仮想マシンを起動し、ドメインに参加させます (仮想マシンの再起動が必要)。

例:

<# これは、Hyper-V 対応ホストに VM をインストールする、時間のかかるワークフローです。このワークフローでは、

Window PowerShell 3.0 における新しい PowerShell ワークフローの一連の機能を紹介します。この例では、管

理対象ノードは Hyper-V 対応で、Hyper-V の役割/モジュールがインストールされている必要があります。 #>

# Hyper-V 対応ホストに VM をインストールするワークフロー

workflow Install-VM

{

param

(

# VM のベース Vhd の完全パス [Parameter(Mandatory=$true)]

[String]$BaseVhdPath,

# VM 名のプレフィックス [String]$VMNamePrefix = "Demo",

# 作成する VM の数

[Int]$VMCount = 3,

# VM をドメインに参加させるために必要なドメイン資格情報

[Parameter(Mandatory=$true)]

[System.Management.Automation.PSCredential] $domainCred,

# ドメインへの参加の前に VM に接続する必要があるローカルの資格情報

[Parameter(Mandatory=$true)]

[System.Management.Automation.PSCredential] $localCred

)

# VM を並列で作成

foreach -parallel($i in 1..$VMCount)

{

# VM 名の作成

[string]$VMName = $VMNamePrefix+$i

# 差分 VHD の完全パス [string]$VhdPath = (Split-Path $BaseVhdPath) + "¥" + $VMName +".vhd"

# 差分 VHD の作成

$DiffVHD = New-VHD -ParentPath $BaseVhdPath -Path $VhdPath

# 差分 VHD などで新しい VM を作成

$null = New-VM -MemoryStartupBytes 1GB -Name $VMName `

-VHDPath $DiffVHD.Path -SwitchName "InternalSwitch"

}

# ワークフローの状態とデータの保存

Checkpoint-Workflow

# VM を並列で起動して IP アドレスを収集

$IPAddresses = foreach -parallel($i in 1..$VMCount)

{

# VM 名の作成

[string]$VMName = $VMNamePrefix+$i

# VM の開始

Start-VM -Name $VMName

# IP アドレスが各 VM に割り当てられるのを待つ

# Inlinescript を使用して VM の IP アドレスを確認

$VMIP = Inlinescript

{

(Get-VM -Name $using:VMName).NetWorkAdapters.IPAddresses

} -DisplayName "Get-VMIPAddress"

Page 17: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 17

while($VMIP.count -lt 2)

{

# Inlinescript を使用して VM の IP アドレスを確認

$VMIP = Inlinescript

{

(Get-VM -Name $using:VMName).NetWorkAdapters.IPAddresses

} -DisplayName "Get-VMIPAddress"

# 進捗ストリームからユーザーに通知

Write-Progress -Id $i -Activity "Get-VMIPAddress on $VMName" `

-Status "Waiting for IP Address ..."

# 5 秒待って再試行

Start-Sleep -Seconds 5;

}

$VMIP[0]

}

# ワークフロー ユーザーに収集した ID を表示

$IPAddresses

# ワークフローを一時停止する (設定をチェックしてリソースを解放する) 前に

# 上級管理者にワークフローの一時停止された状態を通知する電子メールを送信

Send-MailMessage -From "[email protected]" -To "[email protected]" `

-SMTPServer "your SMTP sever" -PSComputerName "" `

-Subject "Suspended workflow $jobCommandName requires attention"

`

-Body `

@"

A workflow running on $hostname with name $jobCommandName requires your

attention.

Please use Resume-Job cmdlet to resume the workflow execution

"@

# ワークフローの実行の一時停止

Suspend-Workflow

# VM をドメインに参加させる Join-Domain ワークフローの呼び出し Join-Domain -PSComputerName $IPAddresses -PSCredential $localCred -domainCred

$domainCred

# 上級管理者にメールを送ってワークフローが完了したことを通知

Send-MailMessage -From "[email protected]" -To "[email protected]" `

-SMTPServer "your SMTP sever" -PSComputerName "" `

-Subject "Workflow $parentjobname with

InstanceID:$parenetjobinstanceid has completed" `

-Body ` ̀

@"

A workflow running on $hostname with name $jobCommandName completed

successfully.

Please use Receive-Job cmdlet to see the output of workflow execution

"@

}

# コンピューターをドメインに参加させるワークフロー

workflow Join-Domain

{

param(

[string] $domainName="fourthcoffee.com",

[Parameter(Mandatory=$true)]

[System.Management.Automation.PSCredential] $domainCred

)

# コンピューターが WORKGROUP に参加しているかどうか確認

Get-CimInstance -ClassName CIM_ComputerSystem

Page 18: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 18

# コンピューターをドメインに追加して再起動

Add-Computer -DomainName $domainName -LocalCredential $PSCredential -Credential

$domainCred

Restart-Computer -Wait -For WinRM -Force -Protocol WSMan

# ドメインに参加したことを通知

Get-CimInstance -ClassName CIM_ComputerSystem

}

コマンドレットの検出 Get-Command とモジュールの自動読み込み

Windows Server 2012 には 2,300 を超えるコマンドレットが含まれています。それらの学習は容易であり、す

ぐに見つけることができます。モジュールの検索、探索、作成、使用は以前よりも簡単になっており、ユーザーが

コマンドレットを使用するために手動でモジュールをインポートする必要もなくなりました。ユーザーはコマンドレッ

トを実行して、Windows PowerShell が自動でモジュールをインポートします。さらに、Get-Command は、シス

テムにインストールされているすべてのコマンドレットを検索するように更新されています。たとえば、ネットワーク

に関するすべてのコマンドレットを検索するには、Get-Command *-Net* を実行します。

構文の簡略化

Windows PowerShell 3.0 には、すべてのコマンドレットにわたって一貫性のある簡略化された構文が備わって

います。ForEach-Object と Where-Object コマンドレットが更新され、自然言語に、より近い直観的なコマンド

構造をサポートするようになりました。スクリプト ブロック、中かっこ、現在のオブジェクトの自動変数 ($_)、また

はプロパティやメソッドを取得するためのドット演算子を使用することなく、コマンドを構築できます。初心者を悩ま

す "句読点" はもはや不要となっています。

PowerShell 2.0 の Where-Object 構文:

get-process | where {$_.handles –gt 800}

PowerShell 3.0 の簡略化された Where-Object 構文:

get-process | where handles –gt 800

PowerShell 2.0 の ForEach-Object 構文:

get-process | foreach {$_.name}

PowerShell 3.0 の簡略化された ForEach-Object 構文:

get-process | foreach name

Page 19: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 19

スクリプト エクスプローラー

Windows PowerShell 3.0 は、Windows PowerShell スクリプト、モジュール、ガイダンス方法の、コミュニティで

生成されたライブラリにアクセスできるようにすることで、IT プロフェッショナルを支援します。これらのスクリプトに

アクセスするには、Microsoft ダウンロード センターから Windows PowerShell のスクリプト エクスプローラー

をインストールする必要があります。

図 5: Windows PowerShell 用の Microsoft スクリプト エクスプローラー

Page 20: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 20

Windows PowerShell Web アクセス

Windows PowerShell Web アクセスは Windows Server 2012 で使用可能になった新しい機能で、Web ブラ

ウザー内で Windows PowerShell を使用して、Windows サーバーを管理することができます。管理対象の

ターゲット コンピューターでは、Windows PowerShell リモート処理に対応している任意のバージョンの

Windows を実行できます。

図 6: Windows PowerShell Web アクセス

Page 21: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 21

Web ブラウザーで Windows PowerShell を介してリモート サーバーを管理するには、Windows PowerShell

Web アクセス機能がインストールされている Windows Server 2012 を実行するサーバーに接続します。この

サーバーは、Windows PowerShell のインターフェイスを含む Web ページをリモート クライアントに提供する

ゲートウェイとして機能します。次の図にこのインフラストラクチャを示します。

図 7: PowerShell Web アクセス インフラストラクチャ

更新可能なヘルプ

Windows PowerShell 2.0 には、オンラインで頻繁に更新される広範なヘルプ トピックが含まれていました。た

だし、ヘルプ ファイルは Windows オペレーティング システムの一部であったため、ユーザーはこれらを更新で

きず、コマンド ラインに表示されるヘルプ トピックは古いものになってしまう場合がありました。サード パーティ

製品では、オンライン ヘルプを XML に変換する必要があり、変換しない場合は情報の古いヘルプ トピックを

表示しなければなりませんでした。

Windows PowerShell 3.0 では、Update-Help と Save-Help という新しいコマンドレットが用意されており、各

モジュールの最新のヘルプ ファイルをダウンロードしてインストールできます。これらのコマンドレットは、インター

ネット上でヘルプ ファイルを探し、それらがローカル ファイルより新しいかどうかを判断して、ファイルをアンパッ

クし、適切な場所にインストールします。更新されたファイルは、Get-Help ですぐに使用できます。Windows

PowerShell を再起動する必要はありません。Windows PowerShell 3.0 のヘルプ ファイルは "付属品" では

ないため、最初に使用する際は最新のものになります。Get-Help では、自動生成されたコマンドのヘルプが表

示され、Update-Help コマンドレットを使用してモジュールのヘルプ ファイルをインストールまたは更新するよう

に促すメッセージが表示されます。

大企業などでは、ファイアウォールによってインターネットに直接接続できない場合があります。このような環境で

は、インターネットからではなく、ローカル共有からヘルプ ファイルを更新できるようにしたほうが便利です。その

ような場合は、Save-Help -DestinationPath <share> を使用して、最新の Windows PowerShell ヘルプ ファ

イルを格納するローカル共有を作成できます。組織内のユーザーは、その共有を指定して Update-Help –

SourcePath <share> を実行することにより、ヘルプ ファイルを更新できます。

更新可能なヘルプは、サード パーティ モジュールを含むすべてのモジュールで使用可能であり、複数言語もサ

ポートされています。

Page 22: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 22

セッション構成ファイル

Windows PowerShell では新しいセッション構成の定義プロセスが簡素化されており、PowerShell データ ファ

イル内で名前と値のペアを使用する宣言方法によって構成を指定できます。ほとんどの設定では、PowerShell

スクリプトを記述するよりもこの方法のほうがずっと簡単です。また、ファイルを調べることにより、セッション構成

がどのように定義されているのかを容易に理解できます。

RunAs 機能

リモート管理の委任において、タスクを実行するのに必要な資格情報がユーザーにないことがあります。

Windows PowerShell 3.0 では、特定のコマンドが既定で別のユーザーの資格情報によって実行されるように、

管理者がセッションを構成できます。資格情報は WSMan プロバイダーに安全に格納されます。

たとえば、通常の PowerShell エンドポイントで実行されるコマンドの資格情報を変更するには、以下を実行しま

す。

cd WSMan:¥localhost¥Plugin¥microsoft.powershell

$cred = Get-Credential

Set-Item .¥RunAsUser $cred

変更を有効にするには、Windows Remote Management (WinRM) サービスを再起動する必要があります。

パラメーターの既定値 Windows PowerShell 3.0 の新しい $PSDefaultParameterValues ユーザー設定変数を使用することによっ

て、コマンドレットのパラメーターの既定値を指定できます。特定のコマンドレットのパラメーター、またはワイルド

カードの式に一致する一連のコマンドレットのパラメーターに、値を設定できます。

$PSDefaultParameterValues の値は、キーと値のペアのコレクションで構成されるハッシュ テーブルです。各

キーは、コロンで区切られたコマンド名とパラメーター名で構成されます。コマンド名やパラメーター名は二重引用

符で囲むことができます ("CommandName":"ParameterName")。

パラメーターの既定値をオーバーライドするには、明示的なパラメーター値をコマンドに追加します。すべてのパラ

メーターの既定値を無効にするには、「Disable=$true」というキーと値のペアを入力します。

既定では、$PSDefaultParameterValues の値はセッション固有です。Windows PowerShell のすべてのセッ

ションにこれを設定するには、$PSDefaultParameterValues 変数を各自の Windows PowerShell プロファイ

ルに追加します。

例:

$PSDefaultParameterValues=@{Invoke-

Command:ConfigurationName="AdminSession.PowerShell";*-Job:Verbose=$true}

Page 23: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 23

新しいコマンドレット

Windows PowerShell 3.0 には、その機能と応用範囲を拡大する 2,300 以上の新しいコマンドレットが含まれ

ています。Windows PowerShell 3.0 に含まれる新しいコマンドレットの一部を次の表に示します。

表 1: Windows PowerShell 3.0 の新しいコマンドレット

コマンドレット 機能

Get-CimAssociatedInstance アソシエーションを介して指定のインスタンスに接続される Common

Information Model (CIM) インスタンスを取得します。

Get-CimClass ユーザーが特定の名前空間で CIM クラスの一覧を列挙できるように

します。

Register-CimIndicationEvent フィルター式またはクエリ式を使用してインディケーションにサブスクリ

プションを登録します。

Get/New/Remove/Set-CimInstance サーバー上の CIM インスタンスを取得、作成、削除または編集しま

す。Get-CimInstance では、インスタンスには Property パラメー

ター、KeyOnly パラメーター、または Query パラメーターの Select

句で指定されたプロパティのみが含まれます。

Invoke-CimMethod CIM オブジェクトのメソッドを呼び出します。

Get/New/Remove-CimSession リモート コンピューターとの接続を表すクライアント上の CIM セッショ

ンを取得、作成、または削除します。

New-CimSessionOption CimSessionOption のインスタンスを作成します。これは New-

CimSession コマンドレットの引数として使用できます。

Show-Command Windows フォームとしてコマンドレットをグラフィカルに表示します。

Rename-Computer コンピューター名を変更します。

Get/Show-ControlPanelItem ローカル コンピューターにインストールされているコントロール パネ

ル アプレットの一覧を取得します。コントロール パネル アプレットを

起動するには、Show-ControlPanelItem を使用します。

Unblock-File ZoneTransfer 代替 NTFS ストリーム (インターネットからダウンロー

ドされたことを示すストリームなど) を削除します。

Save/Update-Help Save-Help は、現在インストールされているヘルプ ファイルをファイ

ル システム上の場所にエクスポートします。Update-Help は、イン

ターネットまたはファイル共有からヘルプ ファイルをダウンロードし、

ローカル コンピューターにインストールします。

Page 24: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 24

コマンドレット 機能

Resume/Suspend-Job ジョブを中断または再開します。これらのコマンドレットは、現在ワーク

フロー ジョブでのみ機能します。

Add/Disable/Enable/Get/New/

Remove/Set-JobTrigger

スケジュール ジョブの実行条件を定義するジョブ トリガーを操作しま

す。

ConvertFrom/ConvertTo-Json オブジェクトを JSON 形式の文字列表現に、またはその逆に変換し

ます。

Connect/Disconnect/Receive-

PSSession

リモート セッションに接続、またはリモート セッションから切断します。

Receive-PSSession により、切断されたセッションのコマンドの実行

が再開され、セッションの出力が取得されます (暗黙的にセッションに

再接続します)。

New/Test-

PSSessionConfigurationFile

制約のあるエンドポイントの作成に使用できる PSSession 構成ファ

イルを作成または検証します。

New-PSTransportOption 新しい PSTransportOption オブジェクトを作成します。

New-PSWorkflowExecutionOption ワークフロー セッションのセッション構成オプションを含むオブジェクト

を作成します。

Invoke-RestMethod RESTful Web サービスへの HTTP または HTTPS 要求を行い、

応答を返します。

Disable/Enable/Get/Register/Set/Un

register-ScheduledJob

コンピューター上のスケジュール ジョブを操作します。

Get/New/Set-ScheduledJobOption スケジュール ジョブの詳細な構成を指定するためのオブジェクトを取

得、作成、または設定します。

Get/Remove-TypeData TypeData を取得または削除します。

Invoke-WebRequest Web サービスへの HTTP または HTTPS 要求を行い、応答を返し

ます。

New-WinEvent イベント ログにイベントを作成します。

まとめ Windows PowerShell 3.0 の以下の機能によって、Windows Server の包括的で復元力の高いシンプルな自

動化が提供されます。

• 検索および実行が容易な 2,300 を超える新しいコマンドレット。

Page 25: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 25

• 複数のコンピューターで実行され時間がかかるタスクを、高い復元力を備えて自動化するためのワークフロー。

• あるコンピューター上で実行を開始し、後で (別のコンピューターから) 戻ることを可能にする、切断セッション。

• 特定のセッションでコマンドを実行する際に使用される、一連の資格情報を委譲する機能。

• 定義されたスケジュールに従ってスクリプトおよびワークフローを実行するためのジョブ スケジュール。結果

は後で取得できるように格納しておくことが可能。

Page 26: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 26

高可用性による管理の向上

Windows Server 2012 では、管理性が強化

された、新しい記憶域およびネットワークの機

能が導入されます。これにより、さまざまな障

害に耐えることでダウンタイムを回避し、サー

ビスの可用性が維持されます。たとえば、

Windows Server 2012 では、サーバー メッ

セージ ブロック (SMB) 3.0 が導入されます。

これは、SMB 透過フェールオーバーや、複数

の NIC の効率的でフォールト トレラントな使

用が可能な SMB マルチチャンネルなどの機

能により、サーバー アプリケーションの可用性

を向上させます。さらに、NIC チーミングの機

能は、マルチチャンネル トラフィックおよび

SMB ベースではないトラフィックのフェール

オーバーをサポートします。

可用性の向上および SMB 3.0 の詳細につい

ては、Windows Server 2012 の記憶域に関

するホワイト ペーパーを参照してください。

NIC チーミングの詳細については、Windows

Server 2012 のネットワーキングに関するホ

ワイト ペーパーを参照してください。

サーバー マネージャーによ

るマルチサーバー管理と機

能の展開 Windows Server 2012 ではサーバー マネージャーの機能が大幅に拡張されており、物理サーバーと仮想サー

バーの両方へのリモートの役割と機能の展開、リモートの役割と機能の管理、カスタム サーバー グループ作成

などのマルチサーバーのタスクが容易になっています。

Windows Server 2012 のサーバー マネージャーを使用することにより、システムへの物理的なアクセスや各

サーバーへのリモート デスクトップ プロトコル (RDP) 接続を必要とせずに、デスクトップからサーバーをプロビ

ジョニングしたり、仮想ハード ディスクをオフラインにしたりできるようになります。また、サーバー マネージャー

は、管理者がサーバーのグループを 1 つの統合された

コンソールから集合的に管理するために役立ち、ビジネ

スに不可欠な問題にすばやく機敏に対応できます。

技術的な説明 Windows Server 2012 のサーバー マネージャーは進

化し、多くのサーバー管理機能が含まれるようになりまし

た。以降のセクションでは、新しい機能が提供するいくつ

かの新機能について説明します。

マルチサーバー エクスペリエンス

サーバー マネージャーは、1 つのサーバー プール内で

複数のサーバーを扱うことができ、それらのサーバーを

まとめたサーバー グループを作成できます。グループを

使用すると、サーバーを My Seattle Servers や My

Test Servers などの論理的なビューに整理できます。既

定では、サーバー マネージャーは、役割でサーバーをグ

ループ化します。

Page 27: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 27

図 8: サーバー マネージャーにおけるサーバー グループ

サーバーの構成と展開の合理化

以前は [初期構成タスク] ウィンドウで提供されていた構成機能が、Windows Server 2012 ではサーバー マ

ネージャーに含まれています。その結果、Windows Server とその役割および機能の構成管理が一元化されま

す。

図 9: Windows Server 2012 サーバー マネージャーにおける、統合されたツール機能

リモート サーバーまたはオフラインの仮想ハード ディスクへのワーク

ロードの効率的な展開

Windows Server 2008 では、ローカル サーバーで実行されるサーバー マネージャーの役割の追加ウィザード

や、機能の追加ウィザードを使用して、役割や機能が展開されます。このためには、サーバーへの物理アクセス、

または RDP を使用したリモート デスクトップ アクセスのいずれかが必要です。リモート サーバー管理ツール

をインストールすると、Windows ベースのクライアント コンピューター上でサーバー マネージャーを実行できま

すが、リモート展開がサポートされていないため、役割や機能の追加はできません。

Windows Server 2012 では、展開機能が拡張され、役割や機能の強力なリモート展開がサポートされるように

なりました。Windows Server 2012 のサーバー マネージャーを使用すると、システムへの物理的なアクセスを

必要とせず、また各サーバーへの RDP 接続を有効にする必要もなく、自分自身のデスクトップからサーバーを

プロビジョニングできます。

Page 28: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 28

リモート サーバーやオフラインの仮想ハード ディスクへの役割と機能

のインストール

サーバー マネージャーを備えた Windows Server 2012 では、統合された役割と機能の追加ウィザードを使用

して、1 つのセッションで役割と機能の両方を展開できます。Windows Server 2012 の役割と機能の追加ウィ

ザードでは、インストール プロセスの一環として展開用に選択したサーバー上で検証パスが実行されます。サー

バーが役割をサポートするように適切に構成されているかどうかを事前に別途検証する必要はありません。

管理者は、サーバー マネージャーから、リモート サーバーやオフラインの仮想ハード ディスクに役割と機能を

展開できます。役割と機能の追加ウィザードの 1 つのセッションで、目的の役割と機能をオフラインの仮想ハー

ド ディスクに追加でき、目的の構成をより迅速に、より簡単に繰り返して実行することができ、一貫性が確保され

ます。

役割と機能の追加ウィザードでは、役割のインストールのプロセスは以前の Windows Server リリースの役割

の追加ウィザードと一貫性があり、馴染みやすいものですが、変更点もあります。オフラインの仮想ハード ディス

クに対するリモートでの展開とインストールをサポートするため、一部の役割では、いくつかの初期構成 (以前は

インストール時に役割の追加ウィザードで実行されていたタスク) が、インストール後の構成ウィザードに移動さ

れています。一部のオフラインの仮想ハード ディスクの展開では、仮想マシンが最初に起動されるときにインス

トール タスクが実行されるようにスケジュールされます。

図 10: オフラインの仮想ハード ディスクへの役割または機能の展開

バッチ展開

Windows Server 2012 では、役割と機能の追加ウィザードにおいて構成オプションを XML ファイルにエクス

ポートすることができます。この XML ファイルは、後で Windows PowerShell の展開コマンドレットで使用する

ことができます。また、Windows PowerShell のファンアウト機能を使用することにより、以前のウィザードベース

の展開で保存された構成設定を適用しながら、複数のリモート サーバーに対して役割と機能のバッチ展開を実

行できます。

Page 29: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 29

他の管理ツールとの統合 サーバー マネージャーは、依然としてサーバー管理ツールの主要なアクセス ポイントであり、開始ポイントです。

サーバー マネージャーは、管理しているリモート サーバーの状況に応じてこれらのツールを起動します (それ

がサポートされている場合)。新しいモダンな役割固有のツール (ファイル記憶域管理、リモート デスクトップ

サービス、および IP アドレス管理など) が、サーバー マネージャーのコンソールに統合されています。

複数のサーバーにおけるサーバーの役割の管理

サーバーの役割の管理が向上しており、単一サーバーの単一の役割モデルから、複数のサーバーの役割を単

一の管理アプリケーションを使用してリモートで管理できるモデルに移行しています。

図 11: 複数のサーバー間のサーバーの役割 (ファイル サービスを含む) の管理

リモート デスクトップ サービスの構成 リモート デスクトップ サービスでは、セッションの仮想化および仮想デスクトップのインフラストラクチャ テクノロ

ジ (VDI) を提供し、ユーザーがセッションおよび仮想デスクトップ コレクションにアクセスできるようにします。

Windows Server 2012 では、サーバー マネージャーの新しい管理機能により、マルチサーバー環境でのリ

モート デスクトップ サービスの展開および管理方法が簡略化されます。シナリオベースの展開により、リモート

デスクトップ サービスの使用方法に基づいて複数のサーバーにさまざまなリモート デスクトップ サービス コン

ポーネントをインストールする際の複雑さが軽減されます。また、新しいマルチサーバー管理ツールは、リモート

デスクトップ サービスの役割サービスおよび仮想デスクトップ インフラストラクチャを実行しているさまざまな

サーバーの管理方法を簡素化します。

パフォーマンスに対する影響の最小化 サーバー マネージャー ダッシュボードの既定のポーリング サイクルは 10 分です (ユーザーがコンソールで

変更できます)。既定で比較的頻度の低いポーリング サイクルが使用され、各ポーリングでは増分データのみが

返されることから、個々のサーバーにおけるパフォーマンスと負荷の影響は最小限に抑えられます。サーバー マ

ネージャーは新しい Windows Management Instrumentation (WMI) プロバイダーおよび Windows

PowerShell コマンドレットを使用して、サーバーから更新されたステータス情報を入手します。

Page 30: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 30

要件 Windows Server 2012 のサーバー マネージャーには次の要件があります。

• リモート展開は、Windows Server 2012 を実行するコンピューターに対してのみサポートされています。

Windows Server 2008 およびそれ以前の Windows リリースに対しては、役割と機能のリモート展開はサ

ポートされていません。

• リモートでサーバーを管理するには、そのサーバーのサーバー マネージャー コンソールの [ローカル サー

バー] ページで [リモート管理] プロパティの値を [有効] のままにしておく必要があります (このプロパティは、

サーバー マネージャーでも Windows PowerShell でも既定で有効になっています)。

注意: サーバー マネージャーは、Server Core インストールでは実行されません。

リモート サーバー管理ツール Windows Server 2012 で優先される展開オプションは、Server Core です。サーバー マネージャーでは、サー

バーを最小限のサーバー インターフェイスか GUI 使用サーバーで実行する必要があるので、IT 管理者は、リ

モート サーバー管理ツール (RSAT) を使用することで、Windows 8 を実行するリモート コンピューターから、

Windows Server 2012 を実行しているコンピューターにインストールされている役割と機能を管理できます。

RSAT は、Microsoft ダウンロード センターから入手できます。

まとめ Windows Server 2012 のサーバー マネージャーでは、以下のようにデータ センターの管理が強化されていま

す。

• 明確で強力な役割中心のダッシュボードにより、複数のサーバーを容易に管理する。

• 新しいサーバーの構成プロセスを簡素化する。

• リモート サーバーやオフラインの仮想ハード ディスクにも役割と機能を展開する。

• 単一のツールにアクセスするだけで、複数のサーバーの状態の明確な概要が取得される。

• RSAT を使用して、Windows 8 から Windows Server 2012 を管理する。

Page 31: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 31

結論 今日、IT プロフェッショナルは、増加するミッションクリティカルなサーバーおよびサービスを、より少ないリソース

で管理、維持しなければならないという課題に直面しています。Windows Server 2012 では、機能が向上した標

準モデル、プロトコル、API を採用し、Windows PowerShell およびサーバー マネージャーの新機能と強化さ

れた機能を提供することで、この問題に対処しています。同時に、これらの機能強化により、管理者はマルチサー

バー環境を効果的にコスト効率良く管理できます。

Page 32: サーバーの 管理性 および自動化download.microsoft.com/download/B/F/4/BF474812-BE9E-41CE... · 2018. 10. 16. · • Windows PowerShell 3.0: Windows PowerShell 3.0 コマンドライン

Windows Server 2012: サーバーの管理性および自動化 32

グラフ、表、および図の一覧 表 1: Windows PowerShell 3.0 の新しいコマンドレット ................................................... 23

図 1: Windows 標準ベースの管理コンポーネントの機能向上 ............................................ 6

図 2: Windows PowerShell ISE でのコマンドレット操作 .................................................. 11

図 3: 状況依存のコマンド補完と IntelliSense ................................................................. 12

図 4: スニペット .............................................................................................................. 13

図 5: Windows PowerShell 用の Microsoft スクリプト エクスプローラー ....................... 19

図 6: Windows PowerShell Web アクセス ..................................................................... 20

図 7: PowerShell Web アクセス インフラストラクチャ ...................................................... 21

図 8: サーバー マネージャーにおけるサーバー グループ ............................................... 27

図 9: Windows Server 2012 サーバー マネージャーにおける、統合されたツール機能 .... 27

図 10: オフラインの仮想ハード ディスクへの役割または機能の展開 ............................... 28

図 11: 複数のサーバー間のサーバーの役割 (ファイル サービスを含む) の管理 ............ 29