Jump to content
EduGeek EdSec 2026 is Go! 27th Oct in Derby! Join us for a day of EdTech security focused talks, networking, and an evening social ×

Recommended Posts

Posted

Hey,

 

I installed SCCM and pushed the client out and it installed on all machines. But the install had a problem so I went through again with a new SCCM install. Now when trying to push the client out, nothing happens. The console reports that the client is installed, but I have a seperate collection that only populates with 'v0 or higher' of the client, and this only lists 33 computers.

 

I know I'm not explaining this very well, so I've attached a screenshot to help further explain.

 

SCCM.png

 

It shows:

 

1) 300 clients listed in the all systems. Most of these have the client installed according to this screen, only machines that haven't been on lately don't

2) Only 33 clients are in the collection I made specially for only machines that have the client

3) The query for the custom collection - this is the query as demoed on CBT Nuggets video, and it properly worked on my first SCCM install.

 

I've tried the normal methods of refreshing the screen.

 

Anybody got any ideas?

Posted
As an update, I've just tried pushing out the client through the GPO method which was successful but still these do not show up in the custom container.
Posted

Okaaaaay.

 

Seems that the clients already believe they've sent the latest information to the server, probably because the old SCCM and new SCCM have the same computer name and site code. What is working is running a forced hardware inventory. It's telling the client "I don't care what you have already given me, I want it again" - this then seems to resync things.

 

However, the problem lies in that I have ~300 to force a hardware inventory, and the only method I can find to do it with is this script:

 

'Reset SMS Hardware Inventory Action to force a full HW Inventory Action 
sInventoryActionID = "{00000000-0000-0000-0000-000000000001}"


' Get a connection to the "root\ccm\invagt" namespace (where the Inventory agent lives) 
Dim oLocator
Set oLocator = CreateObject("WbemScripting.SWbemLocator")


Dim oServices
Set oServices = oLocator.ConnectServer( , "root\ccm\invagt")


' Delete the specified InventoryActionStatus instance 
oServices.Delete "InventoryActionStatus.InventoryActionID=""" & sInventoryActionID & """"


'Pause 3 seconds to allow the action to complete. wscript.sleep 3000


'######################################


'Run a SMS Hardware Inventory
Set cpApplet = CreateObject("CPAPPLET.CPAppletMgr")
Set actions = cpApplet.GetClientActions
For Each action In actions
If Instr(action.Name,"Hardware Inventory") > 0 Then 
action.PerformAction
End if
Next

 

This script works fine as a local admin user, or a network admin user, but when allocating it to all machines via GPO I get a permission denied error on this line: action.PerformAction

 

So, it may be that this script needs tweaking, it may be that this script won't work and I need to find another method, but can somebody please help?!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...