Fabio Costa - ConfigMgr Blog

Profissional System Center

Forçando ações do cliente do Configuration Manager (HW Inv, SW Inv, DDR e outras)

No meu último post mostrei uma forma de criarmos Collections para auxiliar em tarefas administrativas no Configuration Manager 2012 e posteriores onde o objetivo era de trazer as máquinas que nunca reportaram inventário de hardware ou com um número maior de 7 dias, inventário de software e outros.

Agora vou mostrar como podemos criar um pacote para auxiliar na remediação destas máquinas. Vamos utilizar o WMIC para iniciar algumas ações no cliente do Configuration Manager 2012 e posteriores.

 

RESUMO: A ideia é termos algumas Collections que são atualizadas de formas dinâmicas através de queries e pacotes para remediações de alguns itens conhecidos.

 

1 – Vamos criar um Pacote com o nome de “Client Troubleshooting” nesse caso não há necessidade de enviar para os Distribution Points pois teremos apenas command-line dos Sistemas Operacionais.

ClientTShootPKG

2 – Agora temos que criar os “Programs” podemos fazer conforme o print abaixo:

ClientTShootPKG-Prog

Detalhes:

Aqui vou explicar uma lógica para o “Trigger Hardware Inventory”.

– Primeiro criei um Program chamado “Force a FULL HW Inventory on next HW-Inv Schedule” com o Command-Line “WMIC /namespace:\\root\ccm\invagt path inventoryActionStatus where InventoryActionID=”{00000000-0000-0000-0000-000000000001}” DELETE /NOINTERACTIVE”, com o item Run “Hidden” para que não apareça para o usuário e na opção Program Can Run “Whether or not a user is logged on” para que seja executado independente de usuário logado no computador, por último habilitando também a opção de “Suppress program notifications”.

Obs. o comando WMIC citado acima vai deletar a entrada de final 001 que faz referência ao Inventário de Hardware para o cliente SCCM, assim quando for realizado um novo ciclo do inventário de Hardware ele não vai encontrar o valor e vai iniciar um Inventário de Hardware FULL.

ForceFULLHW

– Agora vamos criar um segundo Program chamado “Trigger Hardware Inventory” com a seguinte command-line “WMIC /namespace:\\root\ccm path sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-000000000001}” /NOINTERACTIVE” e com as mesmas caracteristicas do Program acima.

TriggerHW

– Depois de criado o Program “Trigger Hardware Inventory” vamos associar ao primeiro “Force a FULL HW Inventory on next HW-Inv Schedule” conforme a tela abaixo

TriggerHW-FirstProgram

– Com essa associação forçamos sempre a exclusão do valor de inventário no WMI, garantindo que ao realizarmos o Trigger será um novo inventário FULL. Isso porque muitas vezes temos problemas ao executar o inventário de hardware DELTA. Por isso criei uma Collection com máquinas com inventário de Hardware NULL ou com mais de 7 dias.

Obs. o comando WMIC citado acima vai fazer uma chamada para execução do Inventário de Hardware para o cliente SCCM.

3 – Realizar o Deploy do Package “Client Troubleshooting” e Program “Trigger Hardware Inventory” para a Collection “All Clients missing Hardware Inventory last 7 Days or Null”

ClientTShootPKG-Prog

Deploy2

Abaixo as configurações deste Deployment

Deploy3

Aqui a Collection e Deployment associado

Coll1

A query utilizada na Collection é a seguinte:

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 left join SMS_G_System_WORKSTATION_STATUS on SMS_G_System_WORKSTATION_STATUS.ResourceId = SMS_R_System.ResourceId where SMS_R_SYSTEM.Client=1 AND (DATEDIFF(dd, SMS_G_System_WORKSTATION_STATUS.LastHardwareScan,GetDate()) > 7 OR SMS_G_System_WORKSTATION_STATUS.LastHardwareScan is NULL)

 

No exemplo demonstrado acima, fiz para o Inventário de Hardware podemos realizar o mesmo procedimento para o Inventário de Software.

Clique no link ClientTroubleshooting_v1 para realizar o download do Package “Client Troubleshooting” comentado nesse post. Mais abaixo tenho uma tabela para mostrar a associação do Program x Collection.

Deployment

Conforme comentado no inicio do post, link para automatizar a criação de Collection no SCCM 2012: Script em PowerShell para automatizar a criação de Collections para o Configuration Manager 2012

Collections

Obrigado pela visita…