Checking your Windows activation status is important if you want to confirm that your copy of Windows is properly licensed. Whether you have recently installed Windows 11, upgraded from Windows 10, changed your hardware, or encountered an activation error, knowing your current activation status can help you determine what to do next.
Fortunately, you do not always need to open the Settings app to find this information. PowerShell lets you check Windows activation details by running a few commands. You can use it to determine whether Windows is activated, review the license status, check the activation expiration period when applicable, and identify potential licensing issues.
In this guide, we will walk through several ways to get Windows activation status using PowerShell.
Get Windows Activation Status Using PowerShell

To get Windows activation status using PowerShell, follow these steps:
- Open Windows PowerShell or Terminal from the Start menu.
- Select Run as administrator if you need to perform administrative licensing checks.
- Run Get-CimInstance -ClassName SoftwareLicensingProduct to retrieve Windows licensing information.
- Check the LicenseStatus value for the Windows edition installed on your PC.
- Use slmgr.vbs /xpr to check whether Windows activation is permanent or has an expiration date.
- Review the results and troubleshoot any activation errors if necessary.
These commands help you identify the activation state without navigating through multiple Windows Settings pages.
Step 1: Open PowerShell on Your Windows PC
First, you need to open PowerShell, which is Microsoft’s command-line environment for managing Windows settings, system information, and administrative tasks.
Click the Start button or press the Windows key on your keyboard. Type PowerShell into the search box and look for Windows PowerShell in the results. If you are using Windows 11, you can also open Windows Terminal, which may launch PowerShell as its default command-line shell.
Right-click the application and select Run as administrator if you want to perform administrative checks or make licensing-related changes later. If Windows displays a User Account Control prompt, click Yes to continue.
You should now see a PowerShell window with a command prompt where you can enter commands. Keep this window open because you will use it for the following steps.
Step 2: Retrieve Windows Licensing Information
Once PowerShell is open, your next task is to retrieve the licensing information associated with your Windows installation.
Copy the following command and paste it into PowerShell:
Get-CimInstance -ClassName SoftwareLicensingProduct
Press Enter to execute it. PowerShell will query the Windows licensing information available through the Windows Management Instrumentation infrastructure and display the results.
However, the output may contain information about several Microsoft products, including entries that are unrelated to your active Windows installation. Therefore, you should not assume that the first result represents your Windows activation status.
To narrow the results to entries with a Windows product name and an available license status, run this command instead:
Get-CimInstance -ClassName SoftwareLicensingProduct | Where-Object { $_.Name -like ‘*Windows*’ -and $_.LicenseStatus -ne $null } | Select-Object Name, Description, LicenseStatus
This command filters the licensing records and displays the product name, description, and license status. Review the product names carefully to identify the Windows edition you are running.
Step 3: Check Whether Windows Is Activated
Now that you have retrieved the licensing information, you can check the LicenseStatus value to determine the activation state.
For a clearer result, run the following command in PowerShell:
Get-CimInstance -ClassName SoftwareLicensingProduct | Where-Object { $_.PartialProductKey -and $_.Name -like ‘*Windows*’ } | Select-Object Name, LicenseStatus
The command filters the results to Windows licensing records that have a partial product key. This helps reduce unrelated entries, although it does not guarantee that every displayed record is the active Windows license.
The LicenseStatus property uses numeric values to represent different licensing conditions. A value of 1 means the license is licensed, which generally indicates successful activation for the relevant Windows licensing record. A value of 0 means the record is unlicensed.
Other values can indicate different licensing conditions. For example, 2 means the license is in an initial grace period, 3 means it is in an additional grace period, 4 indicates a non-genuine grace period, 5 indicates a notification state, and 6 indicates an extended grace period.
Do not rely on the number alone if multiple Windows licensing records appear. Confirm that the record corresponds to your installed edition and interpret the result alongside the activation expiration check in the next step.
Step 4: Check Whether Windows Activation Is Permanent
Another useful way to check Windows activation is to determine whether the current activation has an expiration date.
In PowerShell, enter the following command:
slmgr.vbs /xpr
Press Enter and wait for the Windows Script Host dialog box to appear. This dialog reports the activation expiration status for the relevant Windows installation.
If the message says The machine is permanently activated, Windows has a permanent activation status for that installation. This is common with many consumer Windows licenses.
If the dialog displays an expiration date, the activation may be time-limited. This can happen with certain volume licensing arrangements, including installations activated through organizational licensing services.
Keep in mind that permanent activation does not mean your Windows license can be transferred freely to another computer. Transfer rights depend on the type of license you own and its applicable terms.
Step 5: Display the Windows Activation Status in a Simple Format
If you prefer a shorter output instead of reviewing multiple licensing properties, you can use PowerShell to display a simplified status message.
Run this command:
$license = Get-CimInstance -ClassName SoftwareLicensingProduct | Where-Object { $_.PartialProductKey -and $_.Name -like ‘*Windows*’ } | Select-Object -First 1
Next, run:
if (license.LicenseStatus-eq1)”Windowslicenserecordislicensed.”elseif(null -eq $license) { “No matching Windows license record was found.” } else { “Windows license status code: (license.LicenseStatus)” }
The first command stores a matching Windows licensing record in a variable named $license. The second command checks the status value and prints a readable message.
If the record is licensed, PowerShell displays a confirmation message. If it cannot find a matching record, it reports that no matching record was found. Other values are displayed as status codes so you can investigate them further.
This is a convenient approach for quick checks, but remember that selecting the first matching record may not always identify the correct Windows edition when several records are returned. For a more reliable result, review the product name and description before drawing a conclusion.
Step 6: Use the Windows Activation Troubleshooter if Necessary
If your Windows license appears unlicensed or Windows reports an activation error, you should investigate the issue before making changes to your system.
Open the Settings app by pressing Windows + I. In Windows 11, navigate to System > Activation. In Windows 10, open Update & Security > Activation.
Review the activation status and any error message displayed on the page. If Windows offers an Activation troubleshooter, select it and follow the on-screen instructions. The troubleshooter may help resolve certain activation problems, particularly after a significant hardware change.
You should also confirm that your PC is connected to the internet and that you have installed the correct Windows edition for your license. For example, a license for Windows Home generally will not activate Windows Pro.
If your computer belongs to an organization, contact your IT administrator if the activation depends on a company licensing server or organizational account.
Step 7: Verify the Results Using Another PowerShell Command
For an additional licensing check, you can use the Software Licensing Management Tool, commonly called slmgr.vbs.
Enter the following command in PowerShell:
slmgr.vbs /dli
This command opens a dialog displaying basic license information, such as the license name, description, and partial product key when available.
For more detailed licensing information, run:
slmgr.vbs /dlv
The detailed dialog may include the activation ID, application ID, extended license information, and other licensing properties. The information shown depends on your Windows edition and licensing configuration.
These commands provide a useful second check when you are unsure how to interpret the output from Get-CimInstance.
Avoid sharing screenshots of detailed licensing information publicly. Although a partial product key is not the same as a complete product key, licensing details are best kept private.
FAQs
1. Can I check Windows activation status using PowerShell without administrator privileges?
Yes, you can generally retrieve Windows licensing information using Get-CimInstance from a standard PowerShell session. Some licensing operations may require elevated permissions, so running PowerShell as an administrator can help when troubleshooting access-related issues.
2. Which PowerShell command is best for checking Windows activation?
The Get-CimInstance -ClassName SoftwareLicensingProduct command lets you inspect Windows licensing records and their status values. For a quick check of whether activation is permanent or has an expiration date, use slmgr.vbs /xpr.
3. What does LicenseStatus 1 mean in PowerShell?
A LicenseStatus value of 1 means the particular licensing record is licensed. Check the product name and description to ensure the record belongs to your installed Windows edition before concluding that Windows is activated.
4. Why does PowerShell show multiple Windows licensing records?
Windows can contain several licensing records associated with different products, editions, or licensing components. Use filtering and review the product names, descriptions, and partial product keys to identify the relevant Windows record.
5. Can PowerShell activate Windows?
PowerShell can help you run Windows licensing commands and investigate activation issues. However, successful activation requires a valid digital license, product key, or supported organizational activation method. Running a command alone cannot provide a legitimate license if your device does not have one.
6. What should I do if Windows is not activated?
Open Settings > System > Activation in Windows 11 or Settings > Update & Security > Activation in Windows 10. Check the displayed error, run the activation troubleshooter if available, verify your internet connection, and confirm that your license matches your installed Windows edition.
Final Words
Checking Windows activation status using PowerShell is a practical way to understand your system’s licensing condition without navigating through several menus. The Get-CimInstance command helps you inspect Windows licensing records, while slmgr.vbs /xpr tells you whether activation is permanent or subject to expiration.
For the most accurate results, review the product name, LicenseStatus, and activation expiration information together.
If the results are unclear or Windows reports an activation error, confirm the status through the Activation page in Settings.