“WARNING: Failed to load reporting information from Win32_ComputerSystem with hr = 80041010 and WARNING: Failed to load reporting information from Win32_BiosProperties with hr = 80041010”.

Capture

So I naturally tried to access Win32_ComputerSystem WMI class using a Wbemtest but I was getting an Invalid class error

 

Capture

Capture

Capture

Capture

Capture

This looked like a corrupt WMI repository.
use CMD to run command
net stop winmgmt
select Yes or Y
sc config winmgmt start= disabled
cd %windir%\system32\wbem
for /f %s in (‘dir /b *.dll’) do regsvr32 /s %s
for /f %s in (‘dir /b *.mof’) do mofcomp %s
wmiprvse /regserver
sc config winmgmt start= auto

give it a few minutes to complete then restart server.

VBS script can also be used this cover the entire C:\ drive

Create a RebuildWMI.vbs file then copy and paste the following script give it a good 15 minutes.

set osh = createobject(“wscript.shell”)
set fso = createobject(“scripting.filesystemobject”)

ret = osh.run(“sc stop iphlpsvc”,0,true)
ret = osh.run(“sc config winmgmt start= disabled”)
ret = osh.run(“sc stop winmgmt”,0,true)

bp = osh.popup(“Service stop returned ” & ret & “. Continue?” & vbcrlf & vbcrlf & “Ensure that WMI has stopped before continuing”,,”Continue?”,33)
if bp <> 1 then wscript.quit

if fso.folderexists(“c:\windows\system32\wbem\repository.old”) then
fso.deletefolder(“c:\windows\system32\wbem\repository.old”)
end if

if fso.folderexists(“c:\windows\system32\wbem\repository”) then
set rfol = fso.getfolder(“c:\windows\system32\wbem\repository”)
rfol.name = “repository.old”
end if

set rfol = fso.getfolder(“c:\windows\system32\wbem”)

for each fil in rfol.files
if right(lcase(fil.name),4) = “.dll” then
osh.run “regsvr32 /s “”” & fil.path & “”””,0,true
end if
next

ret = osh.run(“sc config winmgmt start= auto”)
ret = osh.run(“sc start winmgmt”,0,true)

bp = osh.popup(“Service start returned ” & ret & “. Continue?” & vbcrlf & vbcrlf & “Ensure that WMI has started before continuing”,,”Continue?”,33)
if bp <> 1 then wscript.quit

set rfol = fso.getfolder(“c:\”)

recur rfol

Msgbox “WMI rebuild complete. Reboot server”

sub recur(fol)
on error resume next
if lcase(fol.name) <> “system volume information” and lcase(fol.name) <> “recycler” and lcase(fol.name) <> “boot” and lcase(fol.name) <> “$recycle.bin” then
for each fil in fol.files
if right(lcase(fil.name),4) = “.mof” or right(lcase(fil.name),4) = “.mfl” then
osh.run “mofcomp “”” & fil.path & “”””,1,true
end if
next
for each sfol in fol.subfolders
recur sfol
next
end if
end sub
Run the script at every prompt give a good 15 minutes before it completes the process

have a look at windowsupdate.log file again and it should be sweet with no errors

 

 

SCCM Device Collections with Workgroup Servers or Workstations

For all Workgroup Windows Servers and workstation I used this queries below, the key thing is I queried the variable found in the resource Explorer Domain Role and Operating system Name & version %server% or %Workstation%.

The domain Role attribute class value classifies the status of the devices there are 5 classes please see list below.

Computer System – Domain Role

0              Standalone Workstation

1              Member Workstation

2              Standalone Server

3              Member Server

4              Backup Domain Controller

5              Primary Domain Controller

I have used SMS_G_System_COMPUTER_SYSTEM.DomainRole. The attribute class is Computer System and the attribute is Domain Role for Workgroup devices are Standalone Server but I also used SMS_R_System.OperatingSystemNameandVersion like to isolate the collection type with a %server% or %workstation% wildcard.

Capture

All Workgroup Windows Servers (Works)

select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceID = SMS_R_System.ResourceId where SMS_R_System.OperatingSystemNameandVersion like “%Server%” and SMS_G_System_COMPUTER_SYSTEM.DomainRole in (2)

All Workgroup Windows Workstation (Works)

select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceID = SMS_R_System.ResourceId where SMS_R_System.OperatingSystemNameandVersion like “%workstation%” and SMS_G_System_COMPUTER_SYSTEM.DomainRole in (2)

Application installation is failing in OSD task sequence SCCM2012 R2 CU4

Issue: When deploying applications in an Image deployment Task Sequence in SCCM 2012R2 CU4,

ConfigMgr looks at the old revisions of applications when deploying and consequently fails a deployment.

This issue should have been resolved post release of SCCM 2012 SP1, however i have found it is still being experienced at SCCM 2012 R2 CU4.

This may be resolved by an upgrade to SCCM 2012 R2 SP1 since the documentation for 2012 R2 SP1 talks about it however, this is not certain

Application Management
——————————————————————————–
When you revise an application, the new revision now inherits all dependencies from the previous revision.
Reference:
What’s New in System Center 2012 R2 Configuration Manager SP1
https://technet.microsoft.com/library/mt131422.aspx#BKMK_OSD

2 workarounds in place that are known to fix the issue:

Workaround is to delete all the older revisions of an application.
OR
Disable the install software in the existing task sequence, save it and re-enable it.