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のクロスプラットフォームの性質は、作成したスクリプトがサポートされているすべてのオペレーティングシステムで実行されることを意味します。 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 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.1 | 6.0 |
プラットフォーム | Windowsのみ(クライアントとサーバー) | Windows、Mac OS、Linux |
依存 | 。ネットフレームワーク | .Net Core |
使用法 | .Net Frameworkランタイムに依存 | .Net Coreランタイムに依存 |
として発売 | powershell.exe | pwsh.exe(Windows)、pwsh(MacおよびLinux) |
$ PSVersionTable.PSEdition | デスクトップに設定 | コアに設定 |
ポリシーの更新 | 重大なバグ修正のみ | すべての更新(機能、バグ) |