powershell 5.0 で広がる運用管理の世界

34
PowerShell 5.0 で広がる 運用管理の世界 Interact × Cloud Samurai Roadshow 2015 7(2015.07.11) Kazuki Takai – System Center User Group Japan

Upload: kazuki-takai

Post on 15-Aug-2015

128 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: PowerShell 5.0 で広がる運用管理の世界

PowerShell 5.0 で広がる運用管理の世界Interact × Cloud Samurai Roadshow 2015 年 7月 (2015.07.11)

Kazuki Takai – System Center User Group Japan

Page 2: PowerShell 5.0 で広がる運用管理の世界

自己紹介

高井一輝 (Takai Kazuki)

某ISP勤務

クラウドサービスの開発、設計、設備維持

Windows Server / System Center / Linux / etc…

System Center User Group Japan (SCUGJ)

Twitter : @zhuky7 / Facebook : kazuki.takai

Blog : http://operationslab.wordpress.com/

2

Page 3: PowerShell 5.0 で広がる運用管理の世界

本日の内容

本日の内容 (お話しすること)

PowerShell 5.0 / WMF 5.0 を中心とした運用管理系のテクノロジー、ソリューション

標準コマンドレットの拡充

構成管理 (Desired State Configuration)

パッケージ管理 (Package Manager)

セキュリティの強化 (Just Enough Administration、Just in Time Administration/PAM)

お話ししないこと

運用管理に直接関係ない PowerShell 5.0 の新機能

各機能の細かい仕様や設定方法

3

Page 4: PowerShell 5.0 で広がる運用管理の世界

セッションのゴール

PowerShell と周辺のテクノロジーを組み合わせることで、何ができるかをイメージできる

PowerShell を (より) 使ってみたくなる

4

Page 5: PowerShell 5.0 で広がる運用管理の世界

はじめる前に

このセッションでは Preview 版の製品、テクノロジーについて記載しています

2015/07 時点の情報をベースにしています

今後のリリースで機能や動作が変更、削除される可能性があります

主に、Windows PowerShell 5.0 について記載します

厳密には、PowerShell 5.0 の新機能ではないものも含まれています

Windows Server 2016 の新機能に紐づく個々のコマンドレットについては(ほとんど) 記載しません

5

Page 6: PowerShell 5.0 で広がる運用管理の世界

本日の環境

WMF 5.0 Preview

Windows 10 Pro Insider Preview (Build 10162, 10166)

Windows Server 2016 TP2 (Build 10072)

Package Repository, MIM

Windows Server 2012 R2

Windows 8.1

6

Page 7: PowerShell 5.0 で広がる運用管理の世界

Windows Server と PowerShell

Windows Server の進化とともに、PowerShell も進化

PowerShell 1.0 : Windows Server 2003, Windows XP, Vista の追加コンポーネント

PowerShell 2.0 : Windows Server 2008 R2 に標準搭載 (2003 – 2008 対応)

PowerShell 3.0 : Windows Server 2012 に標準搭載 (2008, 2008 R2 対応)

PowerShell 4.0 : Windows Server 2012 R2 に標準搭載 (2008 R2, 2012対応)

PowerShell 5.0 : Windows Server 2016 に標準搭載予定 (2008 R2 – 2012 R2 対応?)

デフォルトで有効化

Windows 10 にも搭載予定!?

7

Page 8: PowerShell 5.0 で広がる運用管理の世界

2012 R2 vs 2016

8

Windows Server 2012 R2

Build Version : 6.3.9600.16394

Windows Server 2012 R2 with KB3000850

Build Version : 6.3.9600.17400

Windows Server 2016 TP2

Build Version : 10.0.10074.0

Windows Server 2012 R2 with WMF 5.0 Preview

Build Version : 10.0.10105.0

Windows 10 Insider Preview

Build Version : 10.0.10162.0 (Slow Ring), 10.0.10166.0 (Fast Ring)

Page 9: PowerShell 5.0 で広がる運用管理の世界

WMF 5.0 Preview April 2015

2015/07/10 現在、以下の OSに対応

Windows Server 2012 R2, Windows 8.1

Windows Server 2012

Windows Server 2008 R2, Windows 7

KB3055381 or KB3055377 or KB2908075 をインストールすることで利用可能

OS毎に指定の KBをインストール

詳細はリリースノートを参照

英語の言語パックがインストールされていない環境ではインストールに失敗する(かも)

9

Page 10: PowerShell 5.0 で広がる運用管理の世界

PowerShell 5.0 の新機能

PackageManagement を使用したソフトウェアのインストール

PowerShellGet を使用したモジュールの管理

クラスの定義

デバッグ関連の機能追加(拡充)

DSC関連の機能追加

OData エンドポイントからコマンドレットを生成

監査/ロギング機能の強化

ネットワークスイッチ管理のためのコマンドレット追加

ZIPファイルの操作

シンボリックリンク関連の機能強化

文字列から構造化オブジェクトを生成

etc...

10

Page 11: PowerShell 5.0 で広がる運用管理の世界

本日紹介する機能

標準コマンドレットの拡充

PowerShell Direct

Remote Copy

etc...

構成管理

DSC (Windows/Linux)

パッケージ管理

Package Management

PowerShell Get

セキュリティの強化

Just Enough Administration

Just in Time Administration/PAM

11

Page 12: PowerShell 5.0 で広がる運用管理の世界

標準コマンドレットの拡充

運用管理面で便利なコマンドレッド、スイッチの追加および機能の拡張

PowerShell Direct

Remote Copy

Transcript

Get-Clipboard, Set-Clipboard

Compress-Archive, Expand-Archive

-Recurse with -Depth

-NoNewLine

-ItemType SymbolicLink

12

Page 13: PowerShell 5.0 で広がる運用管理の世界

PowerShell Direct

Hyper-V ホストからゲスト VMに対してアクセス可能

ホストからゲストへの PSSession

Hyper-V ゲストサービス不要

PowerShell Remoting 構成不要

ネットワーク接続不要

Enter-PSSession / Invoke-Command

New-PSSession では使用できない (少なくとも Preview においては)

Copy-VMFileと組み合わせると、初期構成が可能

13

Page 14: PowerShell 5.0 で広がる運用管理の世界

PowerShell Direct

注意点

ホスト、ゲストともに Windows 10 or Windows Server 2016 である必要がある

評価上の注意点

ホストとゲストの組み合わせにより、うまく動作しない場合がある

Windows 10 Insider Preview Build 10162 -> Windows Server 2016 TP2 Build 10072 : NG

Windows 10 Insider Preview Build 10162 -> Windows 10 Insider Preview Build 10166 : OK

Windows Server 2016 TP2 Build 10072 -> Windows Server 2016 TP2 Build 10072 : OK

なるべく同じ Build Version を使用する

14

Page 15: PowerShell 5.0 で広がる運用管理の世界

Remote Copy

PSSession経由でアイテムのコピーが可能

Sessionは事前に確立しておく必要あり (New-PSSession)

Copy-Item コマンドレットの追加パラメータを使用

-FromSession

-ToSession

SSH (SCP) のような使い方が可能に!

15

Page 16: PowerShell 5.0 で広がる運用管理の世界

監査/ロギング機能の強化

Transcriptingの改善

ファイル名自動生成機能 (保存先フォルダーのみ指定)

コマンド実行時刻の自動記録が可能

外部コマンドの出力を記録可能

Script Block のロギング

全てのスクリプトブロックをイベントログへ記録

Microsoft-Windows-PowerShell/Operational

グループポリシーで有効化

Administrative Templates -> Windows Components -> Windows PowerShell

16

※ BuildVersion 6.3.9600.17400 以降で利用可能

Page 17: PowerShell 5.0 で広がる運用管理の世界

Script Block のロギング17

※ BuildVersion 6.3.9600.17400 以降で利用可能

Page 18: PowerShell 5.0 で広がる運用管理の世界

DemoNew & Update Cmdlets

18

PowerShell Direct

Remote Copy

Transcript

Page 19: PowerShell 5.0 で広がる運用管理の世界

Desired State Configuration (DSC)

Windows PowerShell Desired State Configuration

サーバーの構成と管理を行うための機能

操作 (構築) 手順ではなく、状態を記述することでサーバーを自動構成

DSC によるサーバーの構成手順

PowerShell で構成後のサーバーの状態を定義

PowerShell コードから構成データが含まれる MOF ファイルを生成

MOF ファイルを使用してサーバーを構成

19

Page 20: PowerShell 5.0 で広がる運用管理の世界

DSC 関連の機能追加

複数コンピューター間でのリソース依存関係の記述 (Wait for All/Any)

DSC リソース実行時のアカウント指定 (Run as Credential)

Linux サーバへの適用 (DSC for Linux)

64bit環境における 32bit プロセス環境 (WOW64) の構成をサポート

Configuration Status の集中管理 (情報の集約/レポーティング)

PowerShell ISE の DSC編集サポートの強化

DSC Local Configuration Manager 向けの Meta-Configuration Attribute

DSC Configuration の分割記述

ConfigurationRepositoryWeb 経由で外部の記述をインポート

20

Page 21: PowerShell 5.0 で広がる運用管理の世界

DSC 関連の機能追加

追加のリソース

PowerShell Gallery (など) からダウンロード

PowerShellGetを使用してインストール

(または) モジュールフォルダーに手動で展開

PowerShell DSC for Linux

http://www.microsoft.com/en-us/download/details.aspx?id=46919

ダウンロードファイル (パッケージ) 内に、以下が含まれる

Windows Server (PowerShell) 上で利用可能な Linux 向けの DSCリソース (nx)

Linux用の DSCパッケージ

21

Page 22: PowerShell 5.0 で広がる運用管理の世界

Demo Local Configuration (User)

Wait for & Run as Credential

DSC for Linux

Desired State Configuration

22

Page 23: PowerShell 5.0 で広がる運用管理の世界

PackageManager

リポジトリベースのパッケージ管理システム

コアシステム

管理用のコマンドレット

PowerShell 上から操作・管理可能

*-Package コマンドレット群

リポジトリの追加が可能

*-PackageProvider

23

Page 24: PowerShell 5.0 で広がる運用管理の世界

うまく動かないときは

NuGetプロバイダが登録されているか確認する

初めて Find-Package, Install-Package, Find-Module, Install-Module などを実行した際に、NuGet プロバイダ用のファイルをインストールするか確認される

NuGetプロバイダが追加されていない場合は、以下コマンドレットが必要

Get-PackageProvider –Name NuGet –ForceBootstrap

追加プロバイダーの保存先

管理者として実行した場合 : $env:PROGRAMFILES¥OneGet¥ProviderAssemblies

それ以外の場合 : $env:LOCALAPPDATA¥OneGet¥ProviderAssemblies

24

Page 25: PowerShell 5.0 で広がる運用管理の世界

NuGetプロバイダーの追加25

Page 26: PowerShell 5.0 で広がる運用管理の世界

PowerShellGet

PowerShell のモジュールや DSC リソースを管理するための仕組み

リポジトリからモジュールやリソースをダウンロードしてインストール

*-Module / *-DscResource コマンドレット群

リポジトリの追加や変更が可能

Register-PSRepository / Unregister-PSRepository

Get-PSRepogitory / Set-PSRepogitory

26

Page 27: PowerShell 5.0 で広がる運用管理の世界

ローカルリポジトリ

内部の (管理された) リポジトリを使用可能

パッケージをホスト (ダウンロード) 可能なサーバー

パッケージ情報をフィードする仕組み

上記 2点を満たすサーバーであれば、リポジトリとして利用可能

お手軽に試す場合は…

NuGet.Server などを利用可能

27

Page 28: PowerShell 5.0 で広がる運用管理の世界

DemoPackage & Module

Management

28

Package Management

PowerShellGet

Local Repository

Page 29: PowerShell 5.0 で広がる運用管理の世界

セキュリティ

JEA (Just Enough Administration)

実行可能な操作やアクセス可能なオブジェクトを制限

Just-in-Time Admin Access

MIM (Microsoft Identity Manager) と連携して、必要なときのみ権限を付与

Privileged groups / TTL

ロギング・監査機能の強化

前述

29

Page 30: PowerShell 5.0 で広がる運用管理の世界

Just Enough Administration

利用可能なコマンドレットを制限する仕組み

事前に、専用のエンドポイントを作成

エンドポイントに対して、利用可能なコマンドレットやパラメータを設定

作業時は、エンドポイントに接続して操作

New-PSSessionなどのコマンドレットで、-ConfigurationNameを指定

エンドポイント環境内では、事前の構成に従って、実行可能なコマンドレットや指定可能なパラメータが制限される

構成には DSCの xJEAリソースを使用 (すると、簡単に設定可能)

30

Page 31: PowerShell 5.0 で広がる運用管理の世界

JIT Admin (PAM)

31

Just-In-Time Administration

必要な時だけ、期限を区切って特権を取得することで、よりセキュアに

ワークフローへの組み込みなども可能

Active Directory Domain Service とMicrosoft Identity Manager を使用

普段利用しているドメインアカウントからは権限を削除

リクエストに応じて、MIM が動的に権限を付与 (セキュリティグループへ追加)

あらかじめ設定された、またはリクエストされた TTL を経過すると、Kerberos チケットが失効

特権取得のリクエストに PowerShell を使用可能

Page 32: PowerShell 5.0 で広がる運用管理の世界

DemoSecurity

32

Just Enough Administration

JIT Admin

Page 33: PowerShell 5.0 で広がる運用管理の世界

まとめ

PowerShell 5.0 は着実に進化

DSCの利用範囲/適用範囲が拡大

ソフトウェア/モジュールのインストール簡易化

セキュリティの強化

まずは利用してみる!

33

Page 34: PowerShell 5.0 で広がる運用管理の世界

参考資料

What‘s New in Windows PowerShell – TechNet

http://technet.microsoft.com/en-us/library/hh857339.aspx

Windows PowerShell Blog

http://blogs.msdn.com/b/powershell/

PowerShell Gallery

https://www.powershellgallery.com/

34