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も進化に遅れないように改善していくようなので、どしどしフィードバックしましょう。