<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1678611822423757&amp;ev=PageView&amp;noscript=1">

PowerShell Core とは?

Adam Bertram| June 14 2019

| IT insights, PowerShell

Screen Shot 2019-05-30 at 12.27.19 PM

PowerShell が最初に登場したのは、10年以上前の2006年でした。Jeffrey Snover によって考案され、Microsoft Windows 用に配布したスクリプト言語は、やがて自動化とスクリプティングの場面で多用されるようになり、古い VBScript にとって代わるスクリプト言語の代表として位置づけられるようになりました。

これまでの経緯

登場したときから PowerShell 5.0 まで、PowerShell は技術的には Windows PowerShell であり、Windows でしか利用できないものでした。Windows PowerShell は、Windows .NET フレームワーク上で動作し、Windows 管理フレームワークパッケージの一部として厳しい要件をつけてバンドルされていました。そこへ、2017年、PowerShell 5.1 “Core” バージョンの概念と共に登場しました。

Windows PowerShell "Core" 5.1は、完全な .NET フレームワークではなく .NET Core 上で実行され、Windows Server 2016 Nano Serverにバンドルされています。PowerShell は、PowerShell 5.1以降、前と同じではなくなりました。2018年の PowerShell のリリースに伴い、Windows PowerShell は積極的に開発されなくなり、新しい PowerShell である PowerShell Core 6.0 が発表されました。

PowerShell Core で何が変わったか

PowerShell Core は新世代の PowerShell として登場しました。PowerShell Core に関して、2つの大きな発表がありました。PowerShell Core はオープンソースであり、LinuxMacOS、そしてWindows上で動作することが可能なクロスプラットフォームです。PowerShell は、もはやWindowsシステムだけに対応するものではなく、開発者は自分の環境のほぼすべてのオペレーティングシステム上で走るスクリプトを書くことができます。

PowerShell には、今は、Windows PowerShell PowerShell Core の2つの形式があります。管理者は、どうすれば PowerShell Core に移行できるか慌てて対応策を考えようとするかもしれませんが、Microsoft では、移行を可能な限りスムーズにしようと、Windows PowerShell と並行して実行できるように Core を開発しました。ただし、PowerShell Core は、Windows PowerShell とまったく機能同等にはなっていません。Windows PowerShellで使用できるコマンドで、PowerShell Core では使用できないものもたくさんあります。ですが、Jim Birley のツイッターで、PowerShell Core 7.0 では、Windows PowerShell とのコンパチビリティが最大90%になると発表されました。

もう1つの注目すべき変更点は、PowerShell powershell.exe pwsh.exe になり、サイドバイサイドインストールが可能になったことです。また、PowerShell Core Docker をネイティブにサポートしているので、アドオン・モジュールがなくても Docker コンテナを理解することができます。

PowerShell Core 6.0 で SSH をサポート

多くの管理者から SSH のサポートが求められており、Microsoft は以前から PowerShell/SSH の実装に取り組んできました。PowerShell Core 6.0 で、PowerShell Remoting Protocol (PSRP) が従来の WinRm ベースの実装に加えて、SSH をサポートするようになりました。つまり、Enter-PSSession New-PSSession のようなコマンドレットで、SSH を使用した認証が可能になったということです。リモートセッションは、PowerShell OpenSSH ベースのサーバーを宛先としたサブシステムとして登録すれば、問題なく動作します。

現在、PowerShell Core バージョン6.2 ですが、大きな機能アップグレードは行われておらず、メンテナンスサイクルに入っているようです。PowerShell は今はオープンソースになっているので、バグフィックスや PowerShell への新機能追加は、コミュニティに依拠することになります。

PowerShell を使って自動化する方法

Topics: IT insights, PowerShell

Default HTML block

コメントをどうぞ

メールアドレスは公開されません。アスタリスクマーク*のついたフィールドは必須項目です。

THIS POST WAS WRITTEN BY Adam Bertram

Adam Bertram is a 20-year veteran of IT. He’s currently an automation engineer, blogger, independent consultant, freelance writer, author, and trainer. Adam focuses on DevOps, system management, and automation technologies as well as various cloud platforms. He is a Microsoft Cloud and Datacenter Management MVP and efficiency nerd that enjoys teaching others a better way to leverage automation.

無料試用版

無料試用版をお気軽にお試しください。

無料試用版を試す

コンタクト

ご質問、ご意見をお寄せください。

連絡先

ブログの定期メール便

ブログを定期的にメール配信いたします。