How to Diagnose and Fix a Broken WMI Database | WMIC - "os - Alias not found"

Author avatarSuresh
16 October, 2024
How to Diagnose and Fix a Broken WMI Database | WMIC - "os - Alias not found"

Fix PlatformException(NO_DATA_READ, No data read from wmic command, null, null) issue


If you're facing issues with Windows Management Instrumentation (WMI), your system may experience problems such as failed scripts, applications, or services. These issues often arise from a corrupted WMI repository. Fortunately, the WMI Diagnosis Utility can help you troubleshoot and repair the database.

In this blog, we'll walk you through the steps to identify and repair a broken WMI database.

What is WMI?

Windows Management Instrumentation (WMI) is a core Windows management feature that provides system administrators access to management information and allows them to configure system settings. A corrupted WMI repository can cause system instability, resulting in failed services and errors during normal operation.

If you working on Flutter desktop app and getting errror like below, than also you can try this solution

"PlatformException(NO_DATA_READ, No data read from wmic command, null, null)"

Step-by-Step Guide to Diagnose and Fix WMI

1. Verify the WMI Repository

The first step is to confirm whether the WMI repository is broken or corrupted. You can use the following command to verify the status:

winmgmt /verifyrepository

If the result shows as inconsistent, this means the WMI repository is corrupted, and you should proceed to the next steps to repair it.

2. Salvage the Repository

Try to repair the repository by using the salvage command:

winmgmt /salvagerepository

This command will attempt to rebuild the repository without losing any data. After running it, verify the repository again:

winmgmt /verifyrepository

If the repository is successfully repaired, the result should show consistent. If not, proceed to fully rebuild the WMI repository.

3. Rebuild the WMI Repository

If salvaging fails, follow these steps to fully rebuild the repository:

Step 3.1: Stop the WMI Service

Before making any changes to the repository, you need to stop the WMI service. Open a Command Prompt as an Administrator and run the following commands:

net stop winmgmt

Step 3.2: Rename or Remove the WMI Repository Folder

Navigate to the following folder: 

C:\Windows\System32\wbem\repository ~

Rename or delete the repository folder. This step is crucial as it clears the corrupted repository files.

Step 3.3: Restart the WMI Service

Once you have renamed or removed the repository folder, restart the WMI service by running:

net start winmgmt

4. Recompile the WMI MOF Files

The next step is to rebuild the necessary WMI files. In the Command Prompt as an Administrator, navigate to the wbem directory:

C:\Windows\System32\wbem

Run the following command to compile all the .mof files in this directory:

for /f %s in ('dir /b *.mof') do mofcomp %s

This process may take a minute or two, as it recompiles the WMI Managed Object Format (MOF) files.

5. Recompile the MFL Files

After recompiling the MOF files, run this command to recompile the .mfl files located in the en-us folder:

for /f %s in ('dir /b en-us\*.mfl') do mofcomp en-us\%s

6. Reboot Your Server

Finally, reboot your server to complete the repair process. Once the system restarts, your WMI repository should be working properly.

Issue with Flutter Flutter_udid plugin

If you are facing this issue in flutter flutter_udid plugin for not getting udid in window then you can verify by run command :

wmic csproduct get UUID

if working then you will get this uuid
if working then you will get this uuid
if have any issue with alias then getting this error
if have any issue with alias then getting this error

In case just follow above steps, you wil get the solution.