以前から気になっていた「Script Browser for Windows PowerShell ISE」のv1.0が先日リリースされました。パチパチ~
早速インストールしてみたところ、Windows 7 64bitのクライアントPCはWindows Management Framework(以後、WMF)のバージョンが古いためインストールできませんと怒られました。
怒られて分かった事は、PowerShellを使っているはずなのにWMFをよく理解していなかった事。
今回は、Windows Management FrameworkのおさらいとWMF 4.0へのアップグレードについてをメモ。
WMF 4.0を実行してはいけない環境があるので注意したいところですね。
Script Browser for Windows PowerShell ISEのシステム要件
「Script Browser for Windows PowerShell ISE」 v1.0のシステム要件は下記の通り。- Supported operating system: Windows 7, Windows 8, Windows Server 2008 R2, Windows Server 2012, or Windows Server 2012 R2
- Microsoft .NET Framework version 4.5 or a later version
- Windows Management Framework 3.0 or a later version
- Windows Search Service
更新プログラムの適用状態が最新でもWMFは2.0のため、WMF 3.0または4.0へアップグレードをする必要があります。
Windows Management Framework とは?v4.0とは?
Windows Management Frameworkとは、Windowsのシステム管理フレームワークです。皆さんが大好きなPowerShellやPowerShell ISE(アイス)は、WMFにバンドルされている機能です。
WMFをアップグレードする事で、新しいPowerShellが利用できる=新しいコマンドレットが実行できるようになります。
現時点で最新のWMF 4.0は、Windows 8.1、Windows Server 2012 R2に標準搭載されているシステム管理フレームワークです。
Windows Management Framework 4.0 is now available - Windows PowerShell BlogWMF 4.0では、次の機能を使用する事が出来ます。
- Windows PowerShell
- Windows PowerShell Integrated Scripting Environment (ISE)
- Windows PowerShell Web Services(Management OData IIS Extension)
- Windows Remote Management(WinRM)
- Windows Management Infrastructure(WMI)
- Server Manager WMI provider
- Windows PowerShell Desired State Configuration (DSC)
WMF 4.0 をインストール
Windows 7 標準のWMF バージョンは2.0、WMF 4.0をインストールする事でWindows 8.1、Windows Server 2012 R2相当(同等)の管理フレームワークが実装されます。インストールに当たり、注意点がいくつかありました。非常に重要な内容です。
- Microsoft .NET Framework 4.5が必要です
- インストール対象は下記の通り。
Windows 8には、更新プログラムをインストールする事は出来ません! - Windows 7 SP 1
- Windows Server 2008 R2 SP 1
- Windows Server 2012
- Windows Embedded Standard 7
- 【不可】
以下のアプリケーションを実行しているサーバーは WMF 4.0 を実行出来ません!
※Windows Management Framework 4.0の[詳細]部を確認すると、「現時点では」と明記されており、2014/04/20時点で改善されているかは分かっていません。 - System Center 2012 Configuration Manager (SP1 を除く)
- System Center Virtual Machine Manager 2008 R2 (SP1 を含む)
- Microsoft Exchange Server 2007
- Windows Small Business Server 2011 Standard
- 【可】
以下のアプリケーションを実行しているサーバーは WMF 4.0 を実行出来ます - Microsoft Exchange Server 2013 Service Pack 1
- Microsoft Exchange Server 2010 SP3 および 更新プログラムのロールアップ 5
- Microsoft SharePoint Server 2013 Service Pack 1
- Microsoft SharePoint Server 2010 および 2014 年 2 月の累積的な更新プログラム
私も所有している本の著者「山内 良」さんのブログにも似たような環境で「はまってしまった」との記事がありました。
System Center 2012 RTM > VMM と WMF 3.0 はまだ NG - 山市良のえぬなんとかわーるど利用環境のポリシー上特に制限されていないのであれば、OSを最新状態にしてからWMF 4.0をインストールしましょう。
Windows Management Framework 4.0 - Download CenterWindows 7 Professional SP 1にWMF 4.0をインストールした限り、OSの再起動を求められる以外注意すべき点はありませんでした。
インストール後のバージョンをチェック
WMF 4.0をインストールする前後の$PSVersionTableを比較してみました。PowerShellのバージョンが上がっているだけでなく、CLR(Common Language Runtime)やBuild、PowerShellの互換バージョンも変更されています。
Name | WMF 2.0 | WMF 4.0 |
CLRVersion | 2.0.50727.5477 | 4.0.30319.18444 |
BuildVersion | 6.1.7601.17514 | 6.3.9600.16406 |
PSVersion | 2.0 | 4.0 |
WSManStackVersion | 2.0 | 3.0 |
PSCompatibleVersions | {1.0, 2.0} | {1.0, 2.0, 3.0, 4.0} |
SerializationVersion | 1.1.0.1 | 1.1.0.1 |
PSRemotingProtocolVersion | 2.1 | 2.2 |
インストールすることで、WinRMは2.0から3.0へ変更されています。
上の表と見比べると、PS-Management スタックのバージョンとWinRM スタックのバージョンが一致していますね。
WinRMは、リモート管理用の WS-Management プロトコルを実装していますからその点でスタックのバージョンが一致しているのではないか?と予想してます。※違うかもしれないけど・・・
Name | WMF 2.0 | WMF 4.0 |
OS | 6.1.7601 | 6.1.7601 |
SP | 1.0 | 1.0 |
Stack | 2.0 | 3.0 |
Windows リモート管理のバージョン - technet
「Script Browser for Windows PowerShell ISE」を使いたい方は、まずはPowerShellのバージョンをチェック
WMF 4.0 インストール後、「Script Browser for Windows PowerShell ISE」のインストールが出来るようになります。「Script Browser for Windows PowerShell ISE」を使いたい方は、まずはPowerShellのバージョン等を調べてみましょうね!
余談:PowerShellのバージョンって切り替え出来るのね
今回の内容を調べている途中に知った事、それはPowerShellのバージョンを切り替え出来る事。PowerShellのヘルプを見ればわかる事ですけど、-versionのパラメータをつけることで2.0として起動できます。
PowerShell 2.0で起動したい場合は下記のようになります。
>PowerShell -Version 2.0実行後、$PSVersionTableを実行すると違いがすぐに分かります。