はじめに
AWSのWindows AMIを違うVPC内に立てたら、急遽「Windowsはライセンス認証されていません」という表示が出てしまいました。
その解決策を備忘録として残したいと思います。
事象
下記のように、EC2を別のVPC内に立てたら、「Windowsはライセンス認証されていません」が表示されました。
解決策
「Windows」→「Windows Powershell」の「管理者として実行」を押下します。
下記のコマンドを入力します。
PS C:\> Import-Module "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1"
PS C:\> Add-Routes
PS C:\> Set-Activationsettings
PS C:\> cscript "${env:SYSTEMROOT}\system32\slmgr.vbs" /ato
すると、「Windowsがライセンス認証されています」と変更され、無事に解決できました。
バッチで対応
AutoScaling時に、Windowsライセンス認証失敗事象がもし発生してしまったら、非常に困るので、そのためにバッチを作成いたしました。
まずはps1を作成しました。
Windows_lisence_Activation.ps1
Import-Module "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1"
Add-Routes
Set-Activationsettings
cscript "${env:SYSTEMROOT}\system32\slmgr.vbs" /ato
echo "Success" | Out-File Windows_lisence.log
続いてbatを作成します。
Windows_lisence_Activation.bat
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "C:\XXXXXXXX\Windows_lisence_Activation.ps1 -Verb runas"
参考資料