PowerShellとPowerShell Core、知っておくべきこと

マイクロソフト 発表した 2018年1月10日のPowerShell Core 6.0の一般提供開始。

PowerShell Coreは、Microsoft Windowsに付属するコマンドラインシェルおよびスクリプト言語であるPowerShellの新しいバージョンです。

PowerShell Coreのリリースにより、PowerShellエディションの数が2に増えました。 Microsoftのすべての最新バージョンのWindowsオペレーティングシステムと新しいPowerShell Coreに統合されている10年前のPowerShellがあります。

マイクロソフトは、PowerShell CoreをPowerShellの進化形と見なしています。前者はクロスプラットフォームアプリケーションとして利用でき、後者はWindowsでのみ利用できます。

powershell core 6.0

PowerShell Coreのクロスプラットフォームの性質は、作成したスクリプトがサポートされているすべてのオペレーティングシステムで実行されることを意味します。 WindowsでPowerShell Coreスクリプトを記述し、サポートされているMac OS XまたはLinuxデバイスで使用できます。 ARMデバイスには、実験的な(サポートされていない)バージョンもあります。

MicrosoftはPowerShell Coreに積極的に取り組んでいます。一方、PowerShellは、Windowsバージョンの拡張サポートと比較できる最良の状態にあります。マイクロソフトはPowerShellに機能を追加する予定はありませんが、重要なバグ修正とセキュリティ更新をリリースします。

ただし、現在、Windows PowerShellに新しい機能を導入する計画はありません。つまり、Windows PowerShellでは回帰のリスクが非常に低いため、既存のワークロードの安定したプラットフォームとして信頼できます。

PowerShell Coreは、Windowsにサイドバイサイドでインストールされます。つまり、PowerShell Coreは、WindowsデバイスではWindows PowerShellに影響を与えません。

powershell 6.0.0

PowerShell Core 6.0は、PowerShell 5.1ほど強力ではありません。その主な理由の1つは、PowerShellが.NET Frameworkと.NET Standardにアクセスできるのに対し、PowerShell Coreは機能が少ない.NET Coreと.NET Standardにアクセスできることです。

Windows PowerShellで利用可能な一部のテクノロジは、.NET Coreではサポートされていません。 Microsoftは、一部のテクノロジは将来のリリースで復活する可能性があるが、すべてのテクノロジに当てはまるわけではないと指摘しています。

同社は、PowerShellワークフロー、PowerShellスナップイン、WMlv1コマンドレット、および望ましい状態構成リソースの実行について具体的に言及しています。の PowerShell 6.0の重大な変更 ドキュメントに詳細が記載されています。

PowerShellとPowerShell Coreの違い

パワーシェルPowerShellコア
バージョン1.0から5.16.0
プラットフォームWindowsのみ(クライアントとサーバー)Windows、Mac OS、Linux
依存。ネットフレームワーク.Net Core
使用法.Net Frameworkランタイムに依存.Net Coreランタイムに依存
として発売powershell.exepwsh.exe(Windows)、pwsh(MacおよびLinux)
$ PSVersionTable.PSEditionデスクトップに設定コアに設定
ポリシーの更新重大なバグ修正のみすべての更新(機能、バグ)

PowerShell Coreのダウンロード