Hi,
this script repairs and recreates the WMI Repository of a Windows. For example, this occurs sometimes if you clone a Windows machine with an installed SCCM/SMS Client. The typical error in this case is “Failed to open to WMI namespace ‘\\.\root\CCM\SoftwareUpdates\DeploymentAgent’ (8007045b)”
Lasts start. Start a Powershell console as Administrator. Stop all services. Sometimes other services depends on the WMI Service and does not accept a stop request. Therefore you cannot stop the WMI service. TrendMicro Office is such a service. You have to kill them by TaskManager.
# Stop WMI
# Only if SCCM/SMS Client is installed. Stop ccmexec.
Stop-Service -Force ccmexec -ErrorAction SilentlyContinue
Stop-Service -Force winmgmt
(Re)Register WMI binary components
[String[]]$aWMIBinaries=@("unsecapp.exe","wmiadap.exe","wmiapsrv.exe","wmiprvse.exe","scrcons.exe")
foreach ($sWMIPath in @(($ENV:SystemRoot+"\System32\wbem"),($ENV:SystemRoot+"\SysWOW64\wbem"))){
if(Test-Path -Path $sWMIPath){
push-Location $sWMIPath
foreach($sBin in $aWMIBinaries){
if(Test-Path -Path $sBin){
$oCurrentBin=Get-Item -Path $sBin
Write-Host " Register $sBin"
& $oCurrentBin.FullName /RegServer
}
else{
# Warning only for System32
if($sWMIPath -eq $ENV:SystemRoot+"\System32\wbem"){
Write-Warning "File $sBin not found!"
}
}
}
Pop-Location
}
}
Reregister WMI Managed Objects
Continue reading Windows: Powershell script to fix and repair WMI →