ニュース

VBScript廃止に備えよ! Windowsライセンス認証の自動化はslmgr.vbsではなくPowerShellで

Microsoftが新モジュール「OSLicense」の利用を呼び掛け

公式ブログ「Windows IT Pro Blog」

 米Microsoftは9月10日(現地時間)、公式ブログ「Windows IT Pro Blog」で、Windowsのライセンス認証を自動化するスクリプトを「PowerShell」へ移行するよう呼び掛けた。ライセンス認証の自動化には「slmgr.vbs」が広く用いられているが、「VBScript」はすでに非推奨となっており、将来のWindowsからは削除される予定。そうなれば、「slmgr.vbs」に依存した自動化も動かなくなってしまう。

 「VBScript」の廃止は、以下の3段階で進められている。

  • 現在の段階:オンデマンド機能(FOD)として提供され、既定で有効
  • 次の段階:既定で無効になる。移行が完了するまでは、機能を使い続けるには有効化する必要がある
  • 最終段階:Windowsから削除され、「slmgr.vbs」も利用できなくなる

 既定で無効になるのは2027年ごろと案内されているが、2027年まで大丈夫と考えず、今から「VBScript」への依存を少しずつ減らしていくのが望ましい。

 「slmgr.vbs」に代わる手段としては、「OSLicense」と呼ばれる「PowerShell」モジュールが推奨されている。このモジュールは、以下の環境で利用可能。動作には「Windows PowerShell 5.1」が必要だ。

 このモジュールを使えば、Windowsのライセンス情報を取得したり、ライセンス認証を構成したりできるほか、OS、「Active Directory」ベース、KMS(キー管理サービス)、サブスクリプションの各ライセンスを管理するコマンドが用意されている。たとえば、代表的な操作は以下のように置き換えられる。

VBScriptPowerShell
Windowsのライセンス認証slmgr.vbs /atoInvoke-OSLicense -ActivateOnline
プロダクトキーのインストールslmgr.vbs /ipk <キー>Invoke-OSLicense -InstallProductKey <キー>
ライセンスの状態の表示slmgr.vbs /dlvGet-OSLicenseInfo

 同社は、スクリプトや「Runbook」(おもにAzureで使われる自動化の仕組み)、タスクシーケンス、展開ツールなどから「slmgr」「cscript」「wscript」「.vbs」への依存を洗い出し、テスト環境で置き換えを試してから展開するよう推奨している。すべての「slmgr.vbs」呼び出しを一度に置き換える必要はなく、組織にとって重要なワークフローから移行を始めればよい。とにかく、早めに準備を進めるのが肝要だ。