Windows Management Framework 5.0 (WMF5.0) の ロードマップが PowerShell Team から公開されました。
一方で Windows 10 にはすでに WMF5.0 が載っています。では、その違いは何なのかについて軽く触れておきます。
9/4 追記
ぎりぎり 8/31 に WMF5.0 Production Preview がでました。
Windows 10 ビルド10240 にあった DSC 周りのバグも修正されています。
利用可能OSは次の通りです。.NET 4.5以上 をいれれば動くのでぜひどうぞ!
- Windows Server 2012 R2
- Windows Server 2012
- Windows 2008 R2 SP1
- Windows 8.1
- Windows 7 SP1
12/20 追記
WMF5 RTM がリリースされました。最新情報はこちらをどうぞ。
目次
Windows 10 には WMF5.0 が搭載されている
気づいた方も多いように、Windows 10 には WMF 5.0 が搭載されており、当然PowerShell 5.0 が利用できます。
$PSVersionTable
バージョンは、5.0.10240.16384 と 「Windows 10のビルドバージョン」 10240 が見て取れます。
Name Value ---- ----- PSVersion 5.0.10240.16384 WSManStackVersion 3.0 SerializationVersion 1.1.0.1 CLRVersion 4.0.30319.42000 BuildVersion 10.0.10240.16384 PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} PSRemotingProtocolVersion 2.3
WMF5.0 April Preview と Windows 10 の違い
さて、この Windows 10 の PowerShell 5.0 はWMF5.0 April Preview と違う点がいくつかあります。目につくところだけ触れておきます。
PSReadline の搭載
PSRealLine が PowerShell Core に取り込まれたことによる機能追加がまず気づくところです。
PSReadline による目に見える変化は2点あります。ほかにも強化点があるのですが、まぁいいです。
- PowerShell コンソールでのシンタックスハイラックス
- PowerShell コンソールでのインテリセンス表示
実際にモジュールを見てみると、
Get-Module
この通りですね。
ModuleType Version Name ExportedCommands ---------- ------- ---- ---------------- Manifest 3.1.0.0 Microsoft.PowerShell.Management {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Content...} Manifest 3.1.0.0 Microsoft.PowerShell.Utility {Add-Member, Add-Type, Clear-Variable, Compare-Object...} Script 1.1 PSReadline {Get-PSReadlineKeyHandler, Get-PSReadlineOption, Remove-PSReadlin...
Windows 8.1 に WMF5.0 を当てても PSRealtine が有効にならないことに気づいた人はWindows 10 にあげられると幸せになれるでしょう。
ConsoleHost.exe の更新
ほかにも、Windows 10 で ConsoleHost.exe が更新されて Ctrl + v による貼り付けができるようになりました。 cmd.exe だけじゃないのです。
cmd.exe も PowerShell.exe も両方 ConsoleHost.exe の上で動いているので改善を享受できるのです。やったね!
Windows 10 は RTM?
WMF 5.0 の RTM が 2015年 Q4 なのに Windows 10 には WMF5.0 が載ってるのはどういうことなのかというのが先のロードマップに載っています。
Production Preview (PP) が、2015年8月を目標に公開されるようです。そして、RTM が 2015年Q4 を目標に公開されるとあります。
Production Preview はあまり聞きなれない言葉ですが、これまでの Preview とは以下の違いがあるとしています。
WMF 5.0 Production Preview will differ from previous previews of WMF 5.0 in the following ways:
- WMF 5.0 RTM リリース後も3カ月間フルサポートされます。「フルサポート」とは、本番環境を妨げる原因を調査し、必要に応じてワークアラウンドを提供するという意味としています
- PPの機能はすべて Production Ready。つまり本番で利用可能としています。Experimental な実装は含まないとあります
- PPインストール前に、これまでのWMF プレビューリリースはアンインストールが必要としています。(Windows 10 はそのままあげていいようですが)
そして、Windows 10 の搭載しているWMF 5.0 は PP ともRTMと表現されていません。その違いは何なのでしょうか。
Windows 10 の WMF5.0
Windows 10 の PowerShell 5.0.10240.16384 は、Windows 10 に搭載された他Windowsコンポーネントと同様にサポートされるとあります。
そして RTM での PowerShell と同じコードベースであり、RTMではフィードバックによるズレとバグ修正などを含む予定のようです。
つまり、本番で利用してもいい製品レベルだが、RTMではよりバグも少なくなるようですね。
実際、Windows 10 ではDSC 周りでバグが残っており、ヘルプ周りもヘルプが表示されていないものが数多くあります。
help Get-Module
ぴゃっ、説明全くないです。
NAME Get-Module SYNTAX Get-Module [[-Name] <string[]>] [-FullyQualifiedName <ModuleSpecification[]>] [-All] [<CommonParameters>] Get-Module [[-Name] <string[]>] -CimSession <CimSession> [-FullyQualifiedName <ModuleSpecification[]>] [-ListAvaila ble] [-Refresh] [-CimResourceUri <uri>] [-CimNamespace <string>] [<CommonParameters>] Get-Module [[-Name] <string[]>] -ListAvailable [-FullyQualifiedName <ModuleSpecification[]>] [-All] [-Refresh] [<C ommonParameters>] Get-Module [[-Name] <string[]>] -PSSession <PSSession> [-FullyQualifiedName <ModuleSpecification[]>] [-ListAvailabl e] [-Refresh] [<CommonParameters>] ALIASES gmo REMARKS Get-Help cannot find the Help files for this cmdlet on this computer. It is displaying only partial help. -- To download and install Help files for the module that includes this cmdlet, use Update-Help. -- To view the Help topic for this cmdlet online, type: "Get-Help Get-Module -Online" or go to https://go.microsoft.com/fwlink/?LinkID=141552.
ロードマップから予想できること
ロードマップ詳細待ちですが、RTM が 2015年Q4 ということは、Windows Server 2016 のリリースに向けてのリリースを考えてるんでしょうかねぇ。
過去には、2014年10月に WMF 4.0 の Rolling Update 1更新を Windows Update から配信しています。
Windows 10 も RTM までは、Production Preview を Windows Update で配信するといいですね。
まとめ
Windows 10 は進化するOS です。PowerShell 5.0 も進化に遅れないように改善していくようなので、どしどしフィードバックしましょう。