Slide 1

Slide 1 text

PowerShellの ”これまで” と ”これから” ~ 若干のAzure要素を添えて ~ 2018.12.01 JAZUG札幌支部(きたあず) 第21回勉強会 Takuya Shibata

Slide 2

Slide 2 text

自己紹介 しばた (a.k.a. 素敵なおひげ) Blog : https://blog.shibata.tech/ Twitter : @stknohg CLR/H と きたあず の裏方をやってます 明日まで無職 Microsoft MVP for Cloud and Datacenter Management (2016.07 - ) 2

Slide 3

Slide 3 text

宣伝 3

Slide 4

Slide 4 text

はじめに 30分のセッションなので機能の詳細には触れません。 「PowerShellは何のためのツールなのか?」 という点に絞った話をします。 あと、きたあずなのでAzure PowerShellの話を少し します。 4 きたあずちゃん

Slide 5

Slide 5 text

PowerShellのこれまで 5

Slide 6

Slide 6 text

PowerShell? とりあえずの理解 6

Slide 7

Slide 7 text

(これまでの)PowerShellとは 以前の登壇資料より ※現在この記述はありません 7

Slide 8

Slide 8 text

(これまでの)PowerShellとは シェル スクリプト言語 Windows Management Framework(WMF) の一部 8 Windows の 管理 と 自動化

Slide 9

Slide 9 text

PowerShellの歴史 2006 2006年11月、PowerShell 1.0リリース ・・・ ・・・中略・・・ 2016 2016年8月、GitHubにオープンソースとして公開される • 公開時の最新リリースは PowerShell 6.0 Alpha 9 2018 2018年1月、PowerShell Core 6.0リリース • WindowsだけではなくLinuxやmacOSで動作するクロスプラットフォームなアプリケーションに 2018 2018年9月、PowerShell Core 6.1リリース • 2018年12月現在、最新バージョンは 6.1.1 9

Slide 10

Slide 10 text

10 PowerShellの歴史 PowerShell 1.0 PowerShell 6.0 Desktop Edition Core Edition PowerShell 5.1 Editionなし Windows Linux Mac PowerShell 6.1 Core Edition Core Edition Core Edition Core Edition Core Edition Core Edition

Slide 11

Slide 11 text

2つのPowerShell 11 Windows PowerShell (powershell.exe) ✓PowerShell 1.0 ~5.1 ✓Desktop Edition ✓Windows専用 ✓.NET Framework PowerShell Core (pwsh.exe / pwsh) ✓PowerShell 6.0 ~ 6.1 ✓Core Edition ✓Windows, Linux, macOS ✓.NET Core ※1 厳密にはNano Server向けのPowerShell 5.1もPowerShell Coreに含まれるのですが、ここではわかりやすさのために除外しています ※1

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

PowerShellのこれから 13

Slide 14

Slide 14 text

(いまの)PowerShellとは 14 https://docs.microsoft.com/ja-jp/powershell/scripting/powershell-scripting より

Slide 15

Slide 15 text

(いまの)PowerShellとは シェル スクリプト言語 Windows Management Framework(WMF) の一部 15 あらゆるインフラ の 管理 と 自動化

Slide 16

Slide 16 text

これからのPowerShellにおける”管理” Windowsだけではなくあらゆるインフラの管理基盤を 目指している 「PowerShell for every system!」 目下各種パブリッククラウド、仮想化基盤への対応が中心 Microsoftが、というよりは各ベンダーやコミュニティの動きを見て の私見 LinuxやmacOS単体マシンの管理は正直微妙… OSの管理方法の違い PowerShellを使う必然性の低さ コミュニティよる積み上げがまだ無い 16

Slide 17

Slide 17 text

17 Azure : Azure PowerShell ✓ https://docs.microsoft.com/ja-jp/powershell/azure/overview AWS : AWS Tools for PowerShell ✓ https://aws.amazon.com/jp/powershell/ Azure Stack : PowerShell for Azure Stack ✓ https://docs.microsoft.com/ja-jp/azure/azure-stack/azure-stack-powershell-install Google Cloud : CLOUD TOOLS FOR POWERSHELL ✓ https://cloud.google.com/powershell/ VMware : PowerCLI ✓ https://code.vmware.com/web/dp/tool/vmware-powercli/

Slide 18

Slide 18 text

18 Digital Transformation ここ最近のカンファレンスでのキーワード

Slide 19

Slide 19 text

https://www.youtube.com/watch?v=zy4fDSdrM7M

Slide 20

Slide 20 text

https://github.com/psconfeu/2018/blob/master/Jeffrey%20Snover/Keynote_psconfeu_2018.pdf

Slide 21

Slide 21 text

https://github.com/psconfeu/2018/blob/master/Jeffrey%20Snover/Keynote_psconfeu_2018.pdf

Slide 22

Slide 22 text

これからのPowerShellにおける”自動化” デジタルトランスフォーメーションを実現するための 自動化 Windowsだけの時代ではない PowerShell Team曰く「ヘテロジニアスな世界に対応する。」 デジタルトランスフォーメーション、とは? Microsoftの見ているものと我々の見ているものは異なるかも? PowerShellでなければならないということではない 22

Slide 23

Slide 23 text

Azure と PowerShell ※2018.12.01時点での情報となります 23

Slide 24

Slide 24 text

2つのAzure PowerShell 24 Azure Service Management (Azure) Cloud Service 旧ポータル Azure.* モジュール Azureプリフィックス .NET Core対応なし Azure Resource Manager (AzureRm / AzureRm.NetCore) Resource Manager 現ポータル AzureRm.* モジュール AzureRmプリフィックス .NET Core対応あり

Slide 25

Slide 25 text

これからの “Az” モジュール AzureRm、AzureRm.NetCoreモジュールを統合 Windows PowerShell 5.1 と PowerShell Core 6.0 ~ 6.1で動作 モジュール名は AzureRM.* から Az.* に コマンドレット名のプリフィックスが AzureRm から Az に 25 # 例えば Connect-AzureRmAccount なら Connect-AzAccount Connect-AzAccount # Azの各種モジュールを検索 Get-Module -Name Az* -ListAvailable

Slide 26

Slide 26 text

これからの “Az” モジュール 互換性維持のための Enable-AzureRmAlias / Disable-AzureRmAlias 26 # Enable-AzureRmAlias で従来のコマンドレット名をエイリアスに追加 Enable-AzureRmAlias # Disable-AzureRmAlias で追加したエイリアスを削除 Disable-AzureRmAlias # -Module指定で対象モジュールを選択、-Scope指定で設定を永続化 Enable-AzureRmAlias -Module Az.Websites -Scope CurrentUser

Slide 27

Slide 27 text

Azure Cloud Shell 27

Slide 28

Slide 28 text

Azure Cloud Shell 28

Slide 29

Slide 29 text

29 Azure Cloud Shell 右図は https://azure.microsoft.com/ja-jp/blog/powershell-comes-to-azure-cloud-shell/ より

Slide 30

Slide 30 text

Azure Cloud Shell ポータルにあるアレ ブラウザ上のシェル https://shell.azure.com/ Docsやスマートフォンアプリでも使える シェルの利用料金は無料 データの永続化に5GBのVHDを使用するためその費用はかかる Bash か PowerShell Core を選択可能 どちらもUbuntuコンテナが実体 PowerShellには “Az” モジュールがインストール済み Clould Shell独自のモジュール(PSCloudShellUtility)もある 30

Slide 31

Slide 31 text

まとめ 31

Slide 32

Slide 32 text

これからのPowerShellが目指すところ 1. “管理”ツールとしてのPowerShell クロスプラットフォームなインフラ管理 2. “自動化”ツールとしてのPowerShell デジタルトランスフォーメーションの実現 32

Slide 33

Slide 33 text

Azure PowerShell Azure PowerShellはこれまでの AzureRm / AzureRm.NetCore モジュールから Az モジュールへ 33 Az AzureRm AzureRm.NetCore

Slide 34

Slide 34 text

Thank You!