Download - PowerShell 5.0 で広がる運用管理の世界
![Page 1: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/1.jpg)
PowerShell 5.0 で広がる運用管理の世界Interact × Cloud Samurai Roadshow 2015 年 7月 (2015.07.11)
Kazuki Takai – System Center User Group Japan
![Page 2: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/2.jpg)
自己紹介
高井一輝 (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 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/3.jpg)
本日の内容
本日の内容 (お話しすること)
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 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/4.jpg)
セッションのゴール
PowerShell と周辺のテクノロジーを組み合わせることで、何ができるかをイメージできる
PowerShell を (より) 使ってみたくなる
4
![Page 5: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/5.jpg)
はじめる前に
このセッションでは Preview 版の製品、テクノロジーについて記載しています
2015/07 時点の情報をベースにしています
今後のリリースで機能や動作が変更、削除される可能性があります
主に、Windows PowerShell 5.0 について記載します
厳密には、PowerShell 5.0 の新機能ではないものも含まれています
Windows Server 2016 の新機能に紐づく個々のコマンドレットについては(ほとんど) 記載しません
5
![Page 6: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/6.jpg)
本日の環境
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 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/7.jpg)
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 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/8.jpg)
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 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/9.jpg)
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 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/10.jpg)
PowerShell 5.0 の新機能
PackageManagement を使用したソフトウェアのインストール
PowerShellGet を使用したモジュールの管理
クラスの定義
デバッグ関連の機能追加(拡充)
DSC関連の機能追加
OData エンドポイントからコマンドレットを生成
監査/ロギング機能の強化
ネットワークスイッチ管理のためのコマンドレット追加
ZIPファイルの操作
シンボリックリンク関連の機能強化
文字列から構造化オブジェクトを生成
etc...
10
![Page 11: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/11.jpg)
本日紹介する機能
標準コマンドレットの拡充
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 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/12.jpg)
標準コマンドレットの拡充
運用管理面で便利なコマンドレッド、スイッチの追加および機能の拡張
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 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/13.jpg)
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 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/14.jpg)
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 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/15.jpg)
Remote Copy
PSSession経由でアイテムのコピーが可能
Sessionは事前に確立しておく必要あり (New-PSSession)
Copy-Item コマンドレットの追加パラメータを使用
-FromSession
-ToSession
SSH (SCP) のような使い方が可能に!
15
![Page 16: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/16.jpg)
監査/ロギング機能の強化
Transcriptingの改善
ファイル名自動生成機能 (保存先フォルダーのみ指定)
コマンド実行時刻の自動記録が可能
外部コマンドの出力を記録可能
Script Block のロギング
全てのスクリプトブロックをイベントログへ記録
Microsoft-Windows-PowerShell/Operational
グループポリシーで有効化
Administrative Templates -> Windows Components -> Windows PowerShell
16
※ BuildVersion 6.3.9600.17400 以降で利用可能
![Page 17: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/17.jpg)
Script Block のロギング17
※ BuildVersion 6.3.9600.17400 以降で利用可能
![Page 18: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/18.jpg)
DemoNew & Update Cmdlets
18
PowerShell Direct
Remote Copy
Transcript
![Page 19: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/19.jpg)
Desired State Configuration (DSC)
Windows PowerShell Desired State Configuration
サーバーの構成と管理を行うための機能
操作 (構築) 手順ではなく、状態を記述することでサーバーを自動構成
DSC によるサーバーの構成手順
PowerShell で構成後のサーバーの状態を定義
PowerShell コードから構成データが含まれる MOF ファイルを生成
MOF ファイルを使用してサーバーを構成
19
![Page 20: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/20.jpg)
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 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/21.jpg)
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 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/22.jpg)
Demo Local Configuration (User)
Wait for & Run as Credential
DSC for Linux
Desired State Configuration
22
![Page 23: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/23.jpg)
PackageManager
リポジトリベースのパッケージ管理システム
コアシステム
管理用のコマンドレット
PowerShell 上から操作・管理可能
*-Package コマンドレット群
リポジトリの追加が可能
*-PackageProvider
23
![Page 24: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/24.jpg)
うまく動かないときは
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 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/25.jpg)
NuGetプロバイダーの追加25
![Page 26: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/26.jpg)
PowerShellGet
PowerShell のモジュールや DSC リソースを管理するための仕組み
リポジトリからモジュールやリソースをダウンロードしてインストール
*-Module / *-DscResource コマンドレット群
リポジトリの追加や変更が可能
Register-PSRepository / Unregister-PSRepository
Get-PSRepogitory / Set-PSRepogitory
26
![Page 27: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/27.jpg)
ローカルリポジトリ
内部の (管理された) リポジトリを使用可能
パッケージをホスト (ダウンロード) 可能なサーバー
パッケージ情報をフィードする仕組み
上記 2点を満たすサーバーであれば、リポジトリとして利用可能
お手軽に試す場合は…
NuGet.Server などを利用可能
27
![Page 28: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/28.jpg)
DemoPackage & Module
Management
28
Package Management
PowerShellGet
Local Repository
![Page 29: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/29.jpg)
セキュリティ
JEA (Just Enough Administration)
実行可能な操作やアクセス可能なオブジェクトを制限
Just-in-Time Admin Access
MIM (Microsoft Identity Manager) と連携して、必要なときのみ権限を付与
Privileged groups / TTL
ロギング・監査機能の強化
前述
29
![Page 30: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/30.jpg)
Just Enough Administration
利用可能なコマンドレットを制限する仕組み
事前に、専用のエンドポイントを作成
エンドポイントに対して、利用可能なコマンドレットやパラメータを設定
作業時は、エンドポイントに接続して操作
New-PSSessionなどのコマンドレットで、-ConfigurationNameを指定
エンドポイント環境内では、事前の構成に従って、実行可能なコマンドレットや指定可能なパラメータが制限される
構成には DSCの xJEAリソースを使用 (すると、簡単に設定可能)
30
![Page 31: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/31.jpg)
JIT Admin (PAM)
31
Just-In-Time Administration
必要な時だけ、期限を区切って特権を取得することで、よりセキュアに
ワークフローへの組み込みなども可能
Active Directory Domain Service とMicrosoft Identity Manager を使用
普段利用しているドメインアカウントからは権限を削除
リクエストに応じて、MIM が動的に権限を付与 (セキュリティグループへ追加)
あらかじめ設定された、またはリクエストされた TTL を経過すると、Kerberos チケットが失効
特権取得のリクエストに PowerShell を使用可能
![Page 32: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/32.jpg)
DemoSecurity
32
Just Enough Administration
JIT Admin
![Page 33: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/33.jpg)
まとめ
PowerShell 5.0 は着実に進化
DSCの利用範囲/適用範囲が拡大
ソフトウェア/モジュールのインストール簡易化
セキュリティの強化
まずは利用してみる!
33
![Page 34: PowerShell 5.0 で広がる運用管理の世界](https://reader035.vdocuments.site/reader035/viewer/2022081801/55ceffd2bb61eb976b8b468c/html5/thumbnails/34.jpg)
参考資料
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