There's something called "Inventory Max Random Delay", which is a sorta kinda 
hidden setting.  You can adjust it, just not via the console.  My understanding 
of what it is for is to randomize when, for example, someone uses client push 
to say... their entire, newly discovered, every single system discovered in AD. 
 It's so that there isn't a flood of full inventory within 10 minutes in those 
cases.  Of course, if you're a mature installation--it's unlikely that you'll 
have that.  By default it is 240 minutes (4 hours)--we've changed ours to 60.  
To see what it is set to, here's the SQL you'd run in SQL Server Management 
Studio against your cm_sitecode database, just to see what yours it set at: 
(view only, it changes nothing.)  Each primary will have it set. (If you are 
unlucky to have a CAS, it will have it as well; but a CAS has no clients so 
it's not really relevant; but for consistency may want to change it) SELECT 
SD.SiteCode, SCC.ClientComponentName, SCP.Name, SCP.Value1, SCP.Value2, 
SCP.Value3 FROM SC_ClientComponent SCCJOIN SC_SiteDefinition SD ON 
SD.SiteNumber = SCC.SiteNumberJOIN SC_ClientComponent_Property SCP ON 
SCP.ClientComponentID = SCC.IDWHERE SCP.Name like '%Inventory Max Random 
Delay%' To adjust the Max Random Delay, you run the attached vbscript, after 
modifying the SiteCode to match the one you are changing You run it as cscript 
whatever.vbs YourPrimaryServerName The3CharSiteCode  (after changing the 
desiredvalue and sitecode inside).  If you have multiple primaries, you need to 
run it on each one--it's per sitecode.


=============================
 


Take a look at inventoryagent.log.

-----Original Message-----
From: Roland Janus [[email protected]]
Sent: Tuesday, June 23, 2015 05:43 AM Eastern Standard Time
To: [email protected]
Subject: [mssms] hardware inventory not triggered on new client installation

I have that same issue on two 2012 R2 SP1 installations and never noticed that 
before: The schedule for hw inv is set to once a day (regular, not custom).When 
installing a system using OSD the ddr is sent right away, but hardware 
inventory isn’t (software inv is empty).The action is available, so it knows 
that it needs to or at least that it is enabled, I can trigger it manually and 
it works fine then but unless I trigger it manually it just sits there . The 
same happens when installing the client on existing machines. Not on all of 
them but some. (given they are a mess and will be refreshed later on)But as it 
seems to have the policy, why isn’t it triggering it right after the agent 
install or OSD? I’ve never noticed that behavior on previous versions (I think) 
-R  

The information transmitted is intended only for the person or entity to which 
it is addressed
and may contain CONFIDENTIAL material. If you receive this material/information 
in error,
please contact the sender and delete or destroy the material/information.



      On Tuesday, June 23, 2015 5:04 AM, Daniel Ratliff <[email protected]> 
wrote:
   

  #yiv3697595947 -- filtered {panose-1:2 4 5 3 5 4 6 3 2 4;}#yiv3697595947 
filtered {font-family:Calibri;panose-1:2 15 5 2 2 2 4 3 2 4;}#yiv3697595947 
p.yiv3697595947MsoNormal, #yiv3697595947 li.yiv3697595947MsoNormal, 
#yiv3697595947 div.yiv3697595947MsoNormal 
{margin:0cm;margin-bottom:.0001pt;font-size:11.0pt;}#yiv3697595947 a:link, 
#yiv3697595947 span.yiv3697595947MsoHyperlink 
{color:#0563C1;text-decoration:underline;}#yiv3697595947 a:visited, 
#yiv3697595947 span.yiv3697595947MsoHyperlinkFollowed 
{color:#954F72;text-decoration:underline;}#yiv3697595947 
span.yiv3697595947EmailStyle17 {color:windowtext;}#yiv3697595947 
.yiv3697595947MsoChpDefault {}#yiv3697595947 filtered {margin:70.85pt 70.85pt 
2.0cm 70.85pt;}#yiv3697595947 div.yiv3697595947WordSection1 {}#yiv3697595947


On Error Resume Next

'***  Define string variables for device, device Resource ID and user of 
interest

Class_Name =            "SMS_SCI_ClientComp"
Class_ItemName =        "Hardware Inventory Agent"                      ' 
"Software Inventory Agent" for SINV
Class_ItemType =        "Client Component"
Property_Name =         "Hardware Inventory Max Random Delay Minutes"   ' 
"Software Inventory Max Random Delay Minutes" for SINV
Property_SiteCode =     "PR1"                                           ' 
Replace Site Code for Primary Site here
DesiredValue =          60                                              ' 
Desired Value in Minutes

'***  Check parameters - we need the provider server name and the site code

set args=wscript.arguments

If args.Count = 2 then
        SMSProviderServer = UCASE(Wscript.Arguments(0))
        SiteCode = UCASE(Wscript.Arguments(1))
Else
        wscript.Echo "Incorrect command line arguments." & vbCrLf & "Usage: 
cscript /nologo ModifySCFProperty.vbs <smsproviderserver> <sitecode>" & vbCrLf 
& "Example: cscript /nologo ModifySCFProperty.vbs SERVER1 S01" & vbCrLf
        WScript.Quit(1)
End If


'***  Connect to the provider - report the error and terminate on failure

SMSProviderServer = "\\" + SMSProviderServer + "\"
Set ObjSvc = GetObject("winmgmts:" & 
"{impersonationLevel=Impersonate,authenticationLevel=Pkt}!" & SMSProviderServer 
& "root\sms\site_" & SiteCode)

If Err.Number <> 0 Then
        wscript.Echo "Failed to connect to provider server with code: " & 
Err.Number & ".  Aborting!"
        WScript.Quit(2)
End If

'***  Get the desired instance of the class

Set objInst = ObjSvc.Get(Class_Name & ".ItemName='" & Class_ItemName & 
"',ItemType='" & Class_ItemType & "',SiteCode='" & Property_SiteCode &"'")

If Err.Number <> 0 Then
        WScript.Echo "Failed to open desired object with error code " & 
Err.Number & " (" & Err.Description & ").  Aborting!"
        WScript.Quit(3)
End If

'***  Loop through the Properties until we find a match or run out

bFoundProperty = False

For Each objProp in objInst.Props
        If objProp.PropertyName = Property_Name Then
                bFoundProperty = True
                Exit For
        End If
Next

If bFoundProperty = False Then
        WScript.Echo "Desired object was found but property was not found.  
Exiting without making any changes."
        WScript.Quit(4)
End If  

'***  Property found so check to see if existing value matches desired, 
changing it as appropriate

If objProp.Value = DesiredValue Then
        WScript.Echo "Property '" & Property_Name & "' found with desired value 
'" & DesiredValue & "'.  Not making any changes."
        WScript.Quit(0)
Else
        OriginalValue = objProp.Value
        objProp.Value = DesiredValue
        objProp.Put_
        objInst.Put_

        If Err.Number <> 0 Then
                wscript.Echo "Failed to save the desired change with code: " & 
Err.Number & ".  Aborting!"
                WScript.Quit(5)
        Else
                WScript.Echo "Property '" & Property_Name & "' successfully 
changed from '" & OriginalValue & "' to '" & DesiredValue & "'."
        End If
End If

Reply via email to