Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PowerShell CoreからPowerShell 7に至る道 - Ver.1.1

PowerShell CoreからPowerShell 7に至る道 - Ver.1.1

2019年7月27日に行われたCLR/H #109 ~夏だ一番初心祭り~で発表したスライドです。

デモで使用したコードは
https://github.com/stknohg/PowerShellSamples/tree/master/community/interact2019

https://github.com/stknohg/PowerShellSamples/tree/master/community/clrh109
にアップしています。

Takuya Shibata

July 27, 2019
Tweet

More Decks by Takuya Shibata

Other Decks in Technology

Transcript

  1. Takuya Shibata (@stknohg) - クラスメソッド株式会社 - AWS事業本部 コンサルティング部 - ソリューションアーキテクト

    - CLR/H と きたあず の裏方です - Microsoft MVP for Cloud and Datacenter Management (2016 -) - PowerShellおじさん 4 自己紹介
  2. 6 アジェンダ 1. PowerShellの歴史 2. PowerShell Core の誕生 3. PowerShell

    Core 6.x 4. PowerShellの目指すところ 5. PowerShell 7 に至る道 6. まとめ
  3. 10 PowerShellの歴史 – その1 PowerShell 1.0 Desktop Edition Core Edition

    5.1 Windows Linux Mac 2.0 3.0 4.0 5.0 2006年 2009年 2012年 2013年 2015年 2016年
  4. 12 .NET Coreの誕生 .NET Coreを雑に表現すると、真のクロスプラット フォームを目論んだ.NET Frameworkの再実装 (大いに私見・偏見があります) • 機能的には.NET

    Frameworkのサブセット • WindowsだけでなくLinuxやmacOSも対象 • 2016年に.NET Core 1.0がリリース • 2019年7月現在.NET Core 2.2が最新
  5. 13 原初のPowerShell Core Nano ServerのPowerShell • PowerShell 5.1 Core Edition

    • .NET Core 1.0-rc2 (らしい…GitHubのコミットログより) • 闇に消えた黒歴史 この頃はまだPowerShell Coreの 呼び名は無い
  6. 16 ふたつのPowerShell Windows PowerShell • PowerShell 1.0 ~ 5.1 •Desktop

    Edition •Windows only •.NET Framework PowerShell Core • PowerShell 6.0 ~ 6.2 + Nano Server の PowerShell 5.1 •Core Edition •Windows, Linux, macOS •.NET Core (powershell.exe) (pwsh.exe | pwsh)
  7. 17

  8. 18 Windows PowerShell と PowerShell Core PowerShell Core対応プラットフォーム • Windows

    7/8.1/10 • Windows Server 2008R2/2012/2012R2/2016/2019 • Windows Server Semi-Annual Channel (SAC) • macOS 10.12+ • Ubuntu 16.04/18.04 • Debian 9 • CentOS 7 • Red Hat Enterprise Linux (RHEL) 7 • Fedora 28 • openSUSE 42.3 以下はコミュニティサポートのみ • Arch Linux • Raspbian (ARM32) • Kali Linux • Alpine • その他Linuxディストリビューション
  9. 19 Windows PowerShell と PowerShell Core Windows PowerShell対応プラットフォーム OS PowerShell

    2.0 PowerShell 3.0 PowerShell 4.0 PowerShell 5.0 PowerShell 5.1 Window 7 SP1 Windows Server 2008 R2 SP1 インストール 済み 〇 (更新可) 〇 (更新可) 〇 (更新可) 〇 (更新可) Windows 8 Windows Server 2012 非推奨 インストール 済み 〇 (更新可) 〇 (更新可) 〇 (更新可) Windows 8.1 Windows Server 2012 R2 非推奨 - インストール 済み 〇 (更新可) 〇 (更新可) Windows 10 (初期リリース~Ver.1511) 非推奨 - - インストール 済み 〇 (更新可) Windows 10 (Ver.1607~) Windows Server 2016 Windows Server 2019 非推奨 - - - インストール 済み
  10. 20 PowerShellの歴史 – その2 PowerShell 1.0 PowerShell Core 6.0 Desktop

    Edition Core Edition PowerShell 5.1 Editionなし Windows Linux Mac PowerShell Core 6.2 Core Edition Core Edition Core Edition Core Edition Core Edition Core Edition
  11. 22 PowerShell Core 6.0 PowerShell Coreとして最初のリリース 多くの新機能、破壊的変更 • プログラム名の変更 (pwsh)

    • PowerShell Remoting over SSH • エンコーディング回り(BOM無しUTF-8が既定に) • エイリアスの見直し • & によるバックグラウンドジョブ • etc, etc, etc…
  12. 23 PowerShell Core 6.0 廃止された機能 • Snap-inの廃止 • Workflowの廃止 •

    WMI v1 Cmdletsの廃止 • トランザクションの廃止 • .NET Core非サポート機能の廃止 • etc, etc…
  13. 24 PowerShell Core 6.1 主にパフォーマンス改善 幾つかの新機能と互換性向上 • .NET Core 2.1化

    • Windowsにおける互換性の向上 • ThreadJob • Markdown Cmdlets • etc…
  14. 26 宣伝 詳しくは私の個人ブログかDevelopers.IOを見てね! • しばたテックブログ • PowerShell Core 6.0 新機能まとめ

    • PowerShell Core 6.0 破壊的変更まとめ • PowerShell Core 6.1 新機能・破壊的変更まとめ • Developers.IO • PowerShell Core 6.2 新機能・破壊的変更まとめ
  15. 33 PowerShellの目指すところ クロスプラットフォームになったPowerShell • シェルでありスクリプト言語でもある • Windows Management Framework (WMF)

    1. クロスプラットフォームなインフラ管理 2. デジタルトランスフォーメーションを実現 するための自動化
  16. 34 クラウド管理ツールとしてのPowerShell AWS : AWS Tools for PowerShell • https://aws.amazon.com/jp/powershell/

    Azure : Azure PowerShell • https://docs.microsoft.com/ja-jp/powershell/azure/overview 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 : VMware PowerCLI • https://code.vmware.com/web/dp/tool/vmware-powercli/
  17. 35 クラウド管理ツールとしてのPowerShell AWS : AWS Lambda • 2018年9月よりPowerShell Coreサポート Azure

    : Azure Functions (V2) • 2019年4月よりPowerShell Coreサポート (ただしPublic Preview)
  18. 39 次のPowerShellは ”PowerShell 7” 次のリリースでメジャーバージョンアップ • PowerShell Core 7 でなく

    PowerShell 7 • Coreの文言が外される • Windows PowerShellの置き換えを目指す • .NET Core 3.0を基盤に • .NET Core 3.0リリース後にGA予定
  19. 41 PowerShellの歴史 – その3 PowerShell 1.0 PowerShell Core 6.x Desktop

    Edition Core Edition PowerShell 5.1 Editionなし Windows Linux Mac PowerShell 7 Core Edition Core Edition Core Edition Core Edition Core Edition Core Edition
  20. 42 まだ見えていない道 以下の点はまだ決まっておらず、これからに期待 • 具体的なリリース日 • いつWindowsに標準搭載されるのか? • 最終目標だが時期は決まっていない •

    Windows PowerShellはディスコンするのか? • そもそもPowerShell 2.0すらディスコンしていない… • PowerShell DSCの将来はどうなるのか? • Azure Policy Guest Configurationが後継?
  21. 44 まとめ 1. .NET Coreの登場によりPowerShell Coreの原型 が生まれた 2. オープンソース、クロスプラットフォームな アプリケーションとしてPowerShell

    Core 6.xが リリースされた 3. 次のPowerShellは「PowerShell 7」 Windows PowerShellの置き換えを目指し、 Coreの文言が取り除かれることになった 4. PowerShell 7は.NET Core 3.0のリリース後に リリース予定(具体的な日程はまだ。乞うご期待!)
  22. 45