How can i fix inactive client status ?


How can i fix inactive client status ?

  • We have approximately 1337 workstation inactive status , I created the collection using query .
  • Client push is not enabled in our environment .
  • Do we have any script to fix the issue ? because individually work on each machine and check clientidmanager.log or clientlocation.log will be difficult.
solved 1
Ketan Kamble 8 months 11 Answers 186 views Beginner 0

Answers ( 11 )

  1. Sorry for delayed response , by using Karthikeyan I figured it out that machines are not online for longer time that why they are in inactive state

  2. Hello Ketan Kamble,

    Gentle reminder 2.


  3. Hi,

    Please use ‘ code for all places.


  4. Hi Karthiekyan,

    I am getting in correct syntax near line : Vrs.Name0 as ‘Computer Name’,

    Declare @CollectionID Varchar(8)
    Set @CollectionID = ‘PS100BC4’
    select Vrs.Name0 as ‘Computer Name’
    Vrs.User_Name0 as ‘UserName’,

    am I missing anything ?

  5. We already have this script in place , We have created a scheduled task.

    But this script is not fixing the issues for inactive clients.

    Need some script which i can use only to fix inactive client related isssue.

    • Interesting. Can we dig further?
      Can you validate if you have enabled remediation in the tool? Did you tried remediating a single client and changed the state from “Inactive” to “Active”?
      If yes then what did you do? We can do the same for remaining clients. In addition can you please check what’s the value defined in your script for below:

      AdminShare: Checks if Admin$ and C$ is shared and working correctly on the computer. Fix: True / False.
      ClientProvisioningMode: Checks if Configuration Manager Client is stuck in provisioningmode. Fix: True / False.
      ClientStateMessages: Fix: True / False.
      ClientWUAHandler: Fix: True / False.
      ClientCertificate: Fix: True / False. Checks if the PKI certificate used by ConfigMgr client is stored in the certificate store.
      WMI: Checks if WMI is corrupt. Fix: True / False.

  6. Hi,

    If any clients which is not communicated to SCCM server using any of the below condition then by default sccm server will change the object as inactive from sccm server side. Using that status we can comes to know that object is current active or not.

    default client health settings:
    Hardware inventory < 7 days
    Software inventory < 7 days
    heartbeat discovery <7 days
    status message < 7 days
    policy request < 7 days

    If any of the above one condition is true then SCCM will consider that still object available in network and accessible user. So that object will be consider as active else inactive.

    Given below SQL Query will provide more information about the inactive client reason

    Declare @CollectionID Varchar(8)
    Set @CollectionID = ‘SMS00001’
    Vrs.Name0 as ‘Computer Name’,
    Vrs.User_Name0 as ‘User Name’,
    case when Vrs.client0 = 1 then ‘Installed’
    else ‘NotInstalled’ end as ‘ClientAgentStatus’,
    case when summ.ClientActiveStatus = 0 then ‘Inactive’
    when summ.ClientActiveStatus = 1 then ‘Active’
    end as ‘ClientActiveStatus’,
    case when summ.IsActiveDDR = 0 then ‘Inactive’
    when summ.IsActiveDDR = 1 then ‘Active’
    end as ‘IsActiveDDR’,
    case when summ.IsActiveHW = 0 then ‘Inactive’
    when summ.IsActiveHW = 1 then ‘Active’
    end as ‘IsActiveHW’,
    case when summ.IsActiveSW = 0 then ‘Inactive’
    when summ.IsActiveSW = 1 then ‘Active’
    end as ‘IsActiveSW’,
    case when summ.ISActivePolicyRequest = 0 then ‘Inactive’
    when summ.ISActivePolicyRequest = 1 then ‘Active’
    end as ‘ISActivePolicyRequest’,
    case when summ.IsActiveStatusMessages = 0 then ‘Inactive’
    when summ.IsActiveStatusMessages = 1 then ‘Active’
    end as ‘IsActiveStatusMessages’,
    DATEDIFF ( DAY ,summ.LastPolicyRequest,getdate() ) ‘Last Communicated Day’,
    case when LastHealthEvaluationResult = 1 then ‘Not Yet Evaluated’
    when LastHealthEvaluationResult = 2 then ‘Not Applicable’
    when LastHealthEvaluationResult = 3 then ‘Evaluation Failed’
    when LastHealthEvaluationResult = 4 then ‘Evaluated Remediated Failed’
    when LastHealthEvaluationResult = 5 then ‘Not Evaluated Dependency Failed’
    when LastHealthEvaluationResult = 6 then ‘Evaluated Remediated Succeeded’
    when LastHealthEvaluationResult = 7 then ‘Evaluation Succeeded’
    end as ‘Last Health Evaluation Result’,
    case when LastEvaluationHealthy = 1 then ‘Pass’
    when LastEvaluationHealthy = 2 then ‘Fail’
    when LastEvaluationHealthy = 3 then ‘Unknown’
    end as ‘Last Evaluation Healthy’,
    case when summ.ClientRemediationSuccess = 1 then ‘Pass’
    when summ.ClientRemediationSuccess = 2 then ‘Fail’
    else ”
    end as ‘ClientRemediationSuccess’,
    from V_R_System Vrs
    Left join v_CH_ClientSummary summ on Vrs.ResourceID = summ.ResourceID
    Where Vrs.ResourceID in (select ResourceID from v_FullCollectionMembership fcm where fcm.CollectionID = @CollectionID)
    order by Vrs.Name0


    Best answer
  7. 2 years before this blog was written by Anoop Nair. I implemented it in Jan 2019 and still in place. Takes care of all your problems in just few clicks.
    Suggested to use in Test Infra first.

    Please revert for questions.

Leave an answer

Sorry, you do not have a permission to answer to this question .