以下の内容はhttps://tech.guitarrapc.com/entry/2015/08/30/072333より取得しました。


PowerShell 5.0 と Windows10 と RTM のリリースについて

Windows Management Framework 5.0 (WMF5.0) のロードマップがPowerShell Teamから公開されました。

https://blogs.msdn.com/b/powershell/archive/2015/08/06/windows-management-framework-wmf-5-0-roadmap.aspx

一方でWindows 10にはすでにWMF5.0が載っています。では、その違いは何なのかについて軽く触れておきます。

9/4 追記

ぎりぎり8/31にWMF5.0 Production Previewがでました。

https://blogs.msdn.com/b/powershell/archive/2015/08/31/windows-management-framework-5-0-production-preview-is-now-available.aspx

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がリリースされました。最新情報はこちらをどうぞ。

https://tech.guitarrapc.com/entry/2015/12/19/083842

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に取り込まれたことによる機能追加がまず気づくところです。

https://github.com/lzybkr/PSReadLine

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が載ってるのはどういうことなのかというのが先のロードマップに載っています。

https://blogs.msdn.com/b/powershell/archive/2015/08/06/windows-management-framework-wmf-5-0-roadmap.aspx

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

https://connect.microsoft.com/PowerShell/Feedback




以上の内容はhttps://tech.guitarrapc.com/entry/2015/08/30/072333より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14