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

Post on 15-Aug-2015

127 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Kazuki Takai – System Center User Group Japan

自己紹介

高井一輝 (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

本日の内容

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

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

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

構成管理 (Desired State Configuration)

パッケージ管理 (Package Manager)

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

お話ししないこと

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

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

3

セッションのゴール

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

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

4

はじめる前に

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

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

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

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

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

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

5

本日の環境

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

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

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)

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

PowerShell 5.0 の新機能

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

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

クラスの定義

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

DSC関連の機能追加

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

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

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

ZIPファイルの操作

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

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

etc...

10

本日紹介する機能

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

PowerShell Direct

Remote Copy

etc...

構成管理

DSC (Windows/Linux)

パッケージ管理

Package Management

PowerShell Get

セキュリティの強化

Just Enough Administration

Just in Time Administration/PAM

11

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

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

PowerShell Direct

Remote Copy

Transcript

Get-Clipboard, Set-Clipboard

Compress-Archive, Expand-Archive

-Recurse with -Depth

-NoNewLine

-ItemType SymbolicLink

12

PowerShell Direct

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

ホストからゲストへの PSSession

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

PowerShell Remoting 構成不要

ネットワーク接続不要

Enter-PSSession / Invoke-Command

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

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

13

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

Remote Copy

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

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

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

-FromSession

-ToSession

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

15

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

Transcriptingの改善

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

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

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

Script Block のロギング

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

Microsoft-Windows-PowerShell/Operational

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

Administrative Templates -> Windows Components -> Windows PowerShell

16

※ BuildVersion 6.3.9600.17400 以降で利用可能

Script Block のロギング17

※ BuildVersion 6.3.9600.17400 以降で利用可能

DemoNew & Update Cmdlets

18

PowerShell Direct

Remote Copy

Transcript

Desired State Configuration (DSC)

Windows PowerShell Desired State Configuration

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

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

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

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

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

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

19

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

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

Demo Local Configuration (User)

Wait for & Run as Credential

DSC for Linux

Desired State Configuration

22

PackageManager

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

コアシステム

管理用のコマンドレット

PowerShell 上から操作・管理可能

*-Package コマンドレット群

リポジトリの追加が可能

*-PackageProvider

23

うまく動かないときは

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

NuGetプロバイダーの追加25

PowerShellGet

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

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

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

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

Register-PSRepository / Unregister-PSRepository

Get-PSRepogitory / Set-PSRepogitory

26

ローカルリポジトリ

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

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

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

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

お手軽に試す場合は…

NuGet.Server などを利用可能

27

DemoPackage & Module

Management

28

Package Management

PowerShellGet

Local Repository

セキュリティ

JEA (Just Enough Administration)

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

Just-in-Time Admin Access

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

Privileged groups / TTL

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

前述

29

Just Enough Administration

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

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

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

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

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

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

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

30

JIT Admin (PAM)

31

Just-In-Time Administration

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

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

Active Directory Domain Service とMicrosoft Identity Manager を使用

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

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

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

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

DemoSecurity

32

Just Enough Administration

JIT Admin

まとめ

PowerShell 5.0 は着実に進化

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

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

セキュリティの強化

まずは利用してみる!

33

参考資料

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

top related