47

Click here to load reader

Windows PowerShell 5.0 と Windows Server vNext の管理

Embed Size (px)

Citation preview

Page 1: Windows PowerShell 5.0 と Windows Server vNext の管理

Windows PowerShell 5.0 とWindows Server vNextの管理System Center User Group Japan 第11回勉強会 (2014.12.13)

高井一輝

Page 2: Windows PowerShell 5.0 と Windows Server vNext の管理

はじめに

本日のセッションスライドは SlideShareで公開しています

2

Page 3: Windows PowerShell 5.0 と Windows Server vNext の管理

自己紹介

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

3

Page 4: Windows PowerShell 5.0 と Windows Server vNext の管理

本日の内容とゴール

内容

PowerShell 5.0 の紹介

WMF 5.0 / PowerShell 5.0 Preview の新機能紹介

Demoを中心に

セッションのゴール

PowerShell 5.0 の新機能 / vNextで標準搭載される機能が何となく分かる

PowerShell 5.0 の検証を始めてみる(始めたくなる / 始められる)

4

Page 5: Windows PowerShell 5.0 と Windows Server vNext の管理

はじめる前に

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

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

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

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

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

5

Page 6: Windows PowerShell 5.0 と Windows Server vNext の管理

本日の環境

Windows Server 2012 R2 on Microsoft Azure

with Windows Management Framework 5.0 Preview November 2014

Windows Server vNext (Technical Preview) on Windows Azure

Get-ExecutionPolicy ## (Default: RemoteSigned)

Enable-PSRemoting -Force

Set-Item WSMan:¥localhost¥Client¥TrustedHosts -Value *

## (Network Profile) Private Network

6

Page 7: Windows PowerShell 5.0 と Windows Server vNext の管理

Pre-configuration

7

Page 8: Windows PowerShell 5.0 と Windows Server vNext の管理

(改めて)PowerShellとは

Windows で利用可能な新しい標準のシェル / スクリプト言語

Windows Server 2008 R2 以降で標準搭載

コマンドプロンプトよりも高度な処理 / 制御が可能

WSH よりもスクリプトの記述が容易

Character-based User Interface

テキストベースではなくオブジェクトベース

パイプラインを流れるのはオブジェクト

豊富なコマンドレット

8

Page 9: Windows PowerShell 5.0 と Windows Server vNext の管理

PowerShell のメリット

Windows 標準で利用可能

GUIより詳細な設定が可能

スクリプトを利用することで、効率化/自動化が可能

9

Page 10: Windows PowerShell 5.0 と Windows Server vNext の管理

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 vNextに標準搭載予定

10

Page 11: Windows PowerShell 5.0 と Windows Server vNext の管理

Windows Server vNextの PowerShell

PowerShell 5.0

Windows Management Framework 5.0

デフォルトでインストール、有効化

11

Page 12: Windows PowerShell 5.0 と Windows Server vNext の管理

2012 R2 vs vNext

12

Page 13: Windows PowerShell 5.0 と Windows Server vNext の管理

WMF 5.0 Preview November 2014

2014/12/10 現在、以下の OSに対応

Windows 8.1

Windows Server 2012 R2

Windows Server 2012

KB3006193 をインストールすることで利用可能

Windows Server 2012 の場合は、KB2894867

以下の環境にはインストールしないこと

System Center 2012 Configuration Manager (not including SP1)

Windows Small Business Server 2011 Standard

13

Page 14: Windows PowerShell 5.0 と Windows Server vNext の管理

PowerShell 5.0 の新機能 (1/2)

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

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

クラスの定義

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

DSC関連の機能追加

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

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

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

14

Experimental

Experimental

Experimental

Experimental

Stable

Stable

Experimental

Stable

Experimental

※ 12/13 現在

Page 15: Windows PowerShell 5.0 と Windows Server vNext の管理

PowerShell 5.0 の新機能 (2/2)

ZIPファイルの操作

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

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

15

Stable

Experimental

Stable

※ 12/13 現在

Page 16: Windows PowerShell 5.0 と Windows Server vNext の管理

OneGet

リポジトリベースのパッケージ管理システム(のようなもの)

コアシステム (OneGet Core)

管理用のコマンドレット (OneGet PowerShell Module)

PowerShell 上から操作・管理可能

*-Package コマンドレット群

リポジトリの追加が可能

*-PackageProvider

16

Page 17: Windows PowerShell 5.0 と Windows Server vNext の管理

DemoDiscover and Install Software with OneGet

17

Page 18: Windows PowerShell 5.0 と Windows Server vNext の管理

OneGet

WMF 5.0 Preview Nov 2014 においては、初めに以下コマンドレットが必要

Get-PackageProvider –Name NuGet –ForceBootstrap

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

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

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

18

Page 19: Windows PowerShell 5.0 と Windows Server vNext の管理

PowerShellGet

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

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

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

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

Register-PSRepository / Unregister-PSRepository

Get-PSRepogitory / Set-PSRepogitory

19

Page 20: Windows PowerShell 5.0 と Windows Server vNext の管理

DemoDiscover and Install Modules with PowerShellGet

20

Page 21: Windows PowerShell 5.0 と Windows Server vNext の管理

クラスの定義

クラス及びユーザー定義型を PowerShell 言語としてサポート

class 及び enumキーワードの追加

コンストラクタ、メソッド、プロパティなどを記述

基本的には他のオブジェクト指向言語と同様

想定用途

DSCリソースを PowerShell で記述する、など

21

Page 22: Windows PowerShell 5.0 と Windows Server vNext の管理

DemoDevelop with Classes

22

Page 23: Windows PowerShell 5.0 と Windows Server vNext の管理

デバッグ関連の機能追加

Break ALL [すべて中断]

操作を行った段階で(ブレークポイント外でも)実行を中断

Ctrl + Break (Console)

Ctrl + B or [Debug] Menu (ISE)

23

PowerShell 4.0 PowerShell 5.0

Page 24: Windows PowerShell 5.0 と Windows Server vNext の管理

デバッグ関連の機能追加

リモートホストのスクリプトをデバッグ可能

PSEditコマンドがリモート対応

リモートホストに接続した状態で PSEditを実行すると、ローカル ISE 上でリモートスクリプトをオープンし編集、デバッグが可能

24

Page 25: Windows PowerShell 5.0 と Windows Server vNext の管理

DemoRemote Debugging

25

Page 26: Windows PowerShell 5.0 と Windows Server vNext の管理

DSC 関連の機能追加

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

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

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

インテリセンスがより賢く

DSC Local Configuration Manager 向けの Meta-Configuration Attribute

DSC Configuration の分割記述

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

複数コンピューター間でのリソース依存関係の記述

26

その前に

Page 27: Windows PowerShell 5.0 と Windows Server vNext の管理

Desired State Configuration (DSC)

Windows PowerShell Desired State Configuration

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

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

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

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

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

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

27

Page 28: Windows PowerShell 5.0 と Windows Server vNext の管理

DSC の Configuration28

Configuration WebServerConfig{

Node web01{

WindowsFeature FTPRole{

Name = "Web-FTP-Server"Ensure = "Present"IncludeAllSubFeature = $true

}}

} WebServerConfigStart-DscConfiguration -Wait -Path .¥WebServerConfig

Page 29: Windows PowerShell 5.0 と Windows Server vNext の管理

DSC リソース29

Archive Environment File Resources A

Group Log Package Resources B

Process Registry Role Resources C

Script Service User Resources D

Windows PowerShell Desired State Configuration

Built-In Resources Custom Resources

Page 30: Windows PowerShell 5.0 と Windows Server vNext の管理

DSC 関連の機能追加

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

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

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

インテリセンスがより賢く

DSC Local Configuration Manager 向けの Meta-Configuration Attribute

DSC Configuration の分割記述

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

複数コンピューター間でのリソース依存関係の記述

30

※一部の機能は、Preview では Pull モードのみをサポート

Page 31: Windows PowerShell 5.0 と Windows Server vNext の管理

DSC 関連の機能追加

追加のリソース

PowerShellGet などからダウンロード、インストール

Azure DSC Extension

Azure VMで DSCを利用したい場合に利用

WMF 5.0 Preview Nov 2014 対応バージョン : Azure DSC Extension 1.5

Release history for the Azure DSC Extension

http://blogs.msdn.com/b/powershell/archive/2014/11/20/release-history-for-the-azure-dsc-extension.aspx

31

Page 32: Windows PowerShell 5.0 と Windows Server vNext の管理

DemoDesired State Configuration

32

Page 33: Windows PowerShell 5.0 と Windows Server vNext の管理

OData Endpointからコマンドを生成

OData エンドポイントのサービス情報から、PowerShell のコマンドレットを生成

New-<EntitiyType>

Get-<EntityType>

Set-<EntityType>

Remove-<EntityType>

Invoke-<EntityType>

33

Page 34: Windows PowerShell 5.0 と Windows Server vNext の管理

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

Transcriptingの改善

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

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

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

Script Block のロギング

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

Microsoft-Windows-PowerShell/Operational

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

Administrative Templates -> Windows Components -> Windows PowerShell

34

※ BuildVersion 6.3.9600.17400 以降で利用可能

Page 35: Windows PowerShell 5.0 と Windows Server vNext の管理

Script Block のロギング35

※ BuildVersion 6.3.9600.17400 以降で利用可能

Page 36: Windows PowerShell 5.0 と Windows Server vNext の管理

DemoLogging and Auditing

36

Page 37: Windows PowerShell 5.0 と Windows Server vNext の管理

ネットワークスイッチ管理

スイッチ管理用のコマンドレットを追加

スイッチのグローバル設定

ホスト名、バナー、etc…

VLAN 設定

L2ポート設定

NetworkSwitch モジュール

認定ロゴ取得済みの L2 スイッチが必要

37

Page 38: Windows PowerShell 5.0 と Windows Server vNext の管理

ZIPファイルの操作

ZIP ファイルの展開と ZIP形式での圧縮が可能

Compress-Archive

Expand-Archive

38

Page 39: Windows PowerShell 5.0 と Windows Server vNext の管理

DemoCompress / ExpandZIP Archives

39

Page 40: Windows PowerShell 5.0 と Windows Server vNext の管理

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

New-Item コマンドレットの ItemTypeで SymbolicLinkを指定可能

フォルダーであれば、Junction も指定可能

Remove-Item で削除する場合は注意

SymbolicLinkや Junction を指定して Remove-Item -Force すると、中身ごと消える

リンクだけ消したい場合は cmd /c rmdirで

40

Page 41: Windows PowerShell 5.0 と Windows Server vNext の管理

DemoCreate / Delete SymbolicLink

41

Page 42: Windows PowerShell 5.0 と Windows Server vNext の管理

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

文字列をパースして構造化オブジェクトを生成

ある程度規則性のある文字列

アノテーション済みのデータ(サンプル)

ConvertFrom-String -TemplateFile

42

Page 43: Windows PowerShell 5.0 と Windows Server vNext の管理

DemoExtract and ParseStructured Objects

43

Page 44: Windows PowerShell 5.0 と Windows Server vNext の管理

その他

JEA (Just Enough Administration)

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

Just-in-Time Admin Access

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

Privileged groups / TTL

PowerShell DSC for Linux

DSCリソースと Linux側の対応 (OMI) があれば PowerShell 4.0 でテスト可能

Centralized DSC Error Reporting

未実装!

44

Page 45: Windows PowerShell 5.0 と Windows Server vNext の管理

まとめ

PowerShell 5.0 は着実に進化

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

環境管理上は検討が必要

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

まずは利用してみる!

45

Page 46: Windows PowerShell 5.0 と Windows Server vNext の管理

参考資料

Windows Management Framework 5.0 Preview November 2014

https://www.microsoft.com/en-us/download/details.aspx?id=44987

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/

PowerShell Advent Calendar 2014

https://atnd.org/events/59220

46

Page 47: Windows PowerShell 5.0 と Windows Server vNext の管理

ご清聴ありがとうございました

47