Fix WMI Service Not Starting/SCCM Client failing to install due to WMI errors

I used this fix when the SCCM client wouldn’t install on a Windows 7 client, it was failing to start the Windows Magagement Instrumentation service.

1. Log onto Windows 7 with an administrator account, click Start, type services.msc in the Start Search box and press Enter.

2. In the right pane of the Service console, locate and right-click Windows Management Instrumentation, and then select Stop to stop the service.

3. Start Windows Explorer, and then locate the %SystemRoot%\System32\Wbem\Repository folder.

4. Backup and delete all the files in the %SystemRoot%\System32\Wbem\Repository folder.

5. Restart the computer.

The files that were deleted will be re-created when the computer restarts.

Note: The Windows Management Instrumentation service starts automatically when you restart the computer.

If the issue persists, please re-register WMI DLL files and re-compile WMI mof files to check if the issue can be resolved. Here are the detailed steps:

1. Disable and stop the Windows Management Instrumentation service.

2. Right-click Command Prompt and select Run as Administrator.

3. In the Command Prompt, type cd %windir%\system32\wbem and press Enter.

4. Type for /f %s in (‘dir /b *.dll’) do regsvr32 /s %s and press Enter to re-register WMI DLL files.

5. After completed, type for /f %s in (‘dir /b *.mof’) do mofcomp %s and press Enter to re-compile WMI mof files.

6. After that, type the command wmiprvse /regserver and press Enter.

7. Start the Windows Management Instrumentation service and change the Startup Type back to Automatic.


Powershell Pop Up File Selector

Function Get-FileName($initialDirectory)
{   
 [System.Reflection.Assembly]::LoadWithPartialName(“System.windows.forms”) |
 Out-Null

 $OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
 $OpenFileDialog.initialDirectory = $initialDirectory
 $OpenFileDialog.filter = “All files (*.*)| *.*”
 $OpenFileDialog.ShowDialog() | Out-Null
 $OpenFileDialog.filename
} #end function Get-FileName

# *** Entry Point to Script ***

$thefile = Get-FileName -initialDirectory “c:fso”
Write-host $thefile

Create shortcuts with Powershell

$TargetFile = “<path to exe>”
$ShortcutFile = “$env:Public\Desktop\<name of shortcut>.lnk” #replace url with location it should be placed
$WScriptShell = New-Object -ComObject WScript.Shell
$Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
$Shortcut.TargetPath = $TargetFile
$Shortcut.Save()