如何从命令提示符或 powershell 检查 Windows 是否已激活?

如何从命令提示符或 powershell 检查 Windows 是否已激活?

如果我想检查 Windows 是否已激活,但又懒得深入菜单系统,或者我使用的 Windows 版本没有桌面体验(例如 Server Core),我该如何仅使用命令行来检查激活状态?

答案1

纯粹的 PowerShell 解决方案是:

Get-CimInstance SoftwareLicensingProduct -Filter "Name like 'Windows%'" | 
where { $_.PartialProductKey } | select Description, LicenseStatus

这将给你如下输出:

Description                                 LicenseStatus
-----------                                 -------------
Windows(R) Operating System, OEM_DM channel             1

如果LicenseStatus为1,表示系统永久激活。

这样做的好处是,您可以通过指定-ComputerName参数轻松检查 RemoteMachines。

Get-CimInstance SoftwareLicensingProduct -Filter "Name like 'Windows%'" -ComputerName RemoteComp | 
where { $_.PartialProductKey } | select Description, LicenseStatus

但我必须说这slmgr /xpr更快而且更清晰。

答案2

在 Windows 10 或 Windows Server 2016/2019 上,要使用命令提示符(或 powershell)显示激活状态,请打开您首选的命令行工具并输入以下命令

slmgr /xpr

将显示一个对话框,指示操作系统的激活状态。如果操作系统尚未激活,则对话框将显示它处于“通知模式”

命令提示符打开对话框表明 Windows 处于通知模式。

如果 Windows 成功激活,对话框将显示“永久激活”状态(如下所示),或者如果使用限时批量许可证激活,则会显示激活即将到期的时间。

命令提示符打开对话框表明 Windows 已永久激活。

在旧版本的 Windows(例如 Windows 7)中,消息对话框将类似,但文本可能会略有不同。

在完成向导之前,通过使用 Shift + F10 启动命令提示符,此方法还可用于检查开箱即用体验 (OOBE) 向导期间的激活状态。

答案3

  • 为了避免弹出窗口和
  • 将 Windows 版本/激活状态存储在变量中
  • 用于cscript运行slmgr.vbs并将其包装在批处理文件中
  • for /f使用循环解析输出

:: Q:\Test\2019\04\07\SU_1422368.cmd
@Echo off&SetLocal EnableExtensions EnableDelayedExpansion
Set "WinVerAct="

For /f "tokens=*" %%W in ('
    cscript /Nologo "C:\Windows\System32\slmgr.vbs" /xpr
') Do Set "WinVerAct=!WinVerAct! %%W"
if Not defined WinVerAct ( 
    Echo:No response from slmgr.vbs
    Exit /B 1
)
Echo Windows Version Activation Status:
Echo:"%WinVerAct:~1%"

示例输出:

> Q:\Test\2019\04\07\SU_1422368.cmd
Windows Version Activation Status:
"Windows(R), Professional edition: Der Computer ist dauerhaft aktiviert."

包装 slmgr.vbs 的单行 PowerShell 脚本:

$WinVerAct = (cscript /Nologo "C:\Windows\System32\slmgr.vbs" /xpr) -join ''

答案4

您还可以

SELECT LicenseStatus FROM SoftwareLicensingProduct

作为 WMI 查询,其中值为:

0=Unlicensed
1=Licensed
2=OOBGrace
3=OOTGrace
4=NonGenuineGrace
5=Notification
6=ExtendedGrace

相关内容