Windowsのライセンス認証の状態をコマンドプロンプトでリモートで確認するコマンドに関する情報です。
大量にWindowsサーバを構築する場合に、一台、一台確認してライセンス認証状態を確認するのは大変です。
Windowsの場合、リモートデスクトップで接続することになると思いますが、確認作業などはリモートからできるようになるとかなり便利です。
参考にした情報がこちら
https://www.titanwolf.org/Network/q/d651b7bf-97b9-4a1f-996f-3b838a8423f5/y
回答-1 検証済み
0 arrow_circle_up 0 arrow_circle_down
for /f "tokens=3 delims=: " %%a in (
'cscript //nologo "%systemroot%\system32\slmgr.vbs" /dli ^| find "License Status:"'
) do set "licenseStatus=%%a"if /i "%licenseStatus%"=="Licensed" (
do something
) else (
do something
)
しかし、slmgrからの出力は完全にローカライズされています。英語ロケールでのみ機能します。
英語情報になりますが、「cscript //nologo "%systemroot%\system32\slmgr.vbs" /dli 」のところが使えます。
回答-2
何らかの理由で、MCNDスクリプトがif / i行を実行する前に終了しました代わりにこれを行いました:
cscript //nologo "%systemroot%\system32\slmgr.vbs" /dli 2>nul | find "License Status:" | find "Licensed" >nul
IF %ERRORLEVEL% == 0 (
EXIT /b 0
) ELSE (
EXIT /b 1
)
実際に自宅のパソコンで実行した結果です。
>cscript //nologo "%systemroot%\system32\slmgr.vbs" /dli
名前: Windows(R), Core edition
説明: Windows(R) Operating System, OEM_DM channel
プロダクト キーの一部: ****
ライセンスの状態: ライセンスされています
Windowsはコマンド操作を知っておくと色々と便利です。