Meus dois scripts de execução favoritos de ConfigMgr

Eu faço muito trabalho no espaço de inventário e relatórios ConfigMgr e também ajudo muitas pessoas a solucionar problemas que envolvem inventário e relatórios. Nesta postagem do blog, compartilho com vocês dois dos meus scripts de execução ConfigMgr favoritos, que são muito úteis quando se trata de solucionar esses tipos de problemas. Um ajuda quando você precisa forçar um inventário de hardware completo e o outro é ótimo quando você precisa forçar uma nova varredura das atualizações de software.

No início deste mês, você deve se lembrar, publiquei uma postagem no blog chamada, Executar scripts é o melhor recurso em SCCM. Dentro dele, mostrei como usei o recurso Run Scripts em ConfigMgr / SCCM para desligar um firewall remotamente. No post de hoje, mostro, mais uma vez, porque acho o recurso Run Scripts o melhor!

Scripts de execução ConfigMgr - os melhores

Forçar um inventário completo - ConfigMgr Executar script

Isso acontece o tempo todo. ConfigMgr está mostrando detalhes desatualizados para inventário de hardware. Porque? O maior culpado não é configurar corretamente o ConfigMgr para alavancar o inventário de hardware aumentando o tamanho máximo do MIF para 50 MB. Há uma solução fácil para esse problema e eu a abordo em minha postagem, Como aumentar o tamanho máximo dos arquivos de informações de gerenciamento (MIF). Depois de aumentar o tamanho máximo do arquivo, no entanto, você precisa forçar um inventário completo de hardware em alguns (ou talvez todos) seus clientes ConfigMgr. Infelizmente, este é um efeito colateral de não aumentar o tamanho do MIF quando o ConfigMgr foi construído pela primeira vez.

Antes do recurso Executar Scripts, você poderia forçar um inventário completo criando um pacote e programa, implantando-o em uma coleção e, finalmente, adicionando o (s) computador (es) a essa coleção. Isso funcionou, mas demorou. Quando você está solucionando um problema, não quer esperar, o que pode parecer uma eternidade, que as coisas aconteçam.

Não gosto de esperar, então criei uma solução alternativa para o pacote e a solução do programa. Há algum tempo, mostrei a você, em outra postagem do meu blog, como redefinir todos os itens de inventário usando uma tarefa agendada, Como evitar o recebimento de solicitações de nova sincronização de inventário para VMs de instantâneo. Recentemente, atualizei os comandos WMIC listados naquela postagem do blog para o PowerShell e adicionei esse novo script ao meu console ConfigMgr. Abaixo está o script.

$comp = ”localhost”

$HardwareInventoryID = '{00000000-0000-0000-0000-000000000001}'

$SoftwareInventoryID = '{00000000-0000-0000-0000-000000000002}'

$HeartbeatID = '{00000000-0000-0000-0000-000000000003}'

$FileCollectionInventoryID = '{00000000-0000-0000-0000-000000000010}'

Get-WmiObject -ComputerName $comp -Namespace 'Root \ CCM \ INVAGT' -Classe 'InventoryActionStatus' -Filter “InventoryActionID = '$HardwareInventoryID'” | Remove-WmiObject

Get-WmiObject -ComputerName $comp -Namespace 'Root \ CCM \ INVAGT' -Classe 'InventoryActionStatus' -Filter “InventoryActionID = '$SoftwareInventoryID'” | Remove-WmiObject

Get-WmiObject -ComputerName $comp -Namespace 'Root \ CCM \ INVAGT' -Classe 'InventoryActionStatus' -Filter “InventoryActionID = '$HeartbeatID'” | Remove-WmiObject

Get-WmiObject -ComputerName $comp -Namespace 'Root \ CCM \ INVAGT' -Classe 'InventoryActionStatus' -Filter “InventoryActionID = '$FileCollectionInventoryID'” | Remove-WmiObject

Start-Sleep -s 5

Invoke-WmiMethod -computername $comp -Namespace root \ CCM -Class SMS_Client -Name TriggerSchedule -ArgumentList $HeartbeatID

Invoke-WmiMethod -computername $comp -Namespace root \ CCM -Class SMS_Client -Name TriggerSchedule -ArgumentList $HardwareInventoryID

Invoke-WmiMethod -computername $comp -Namespace root \ CCM -Class SMS_Client -Name TriggerSchedule -ArgumentList $SoftwareInventoryID

Invoke-WmiMethod -computername $comp -Namespace root \ CCM -Class SMS_Client -Name TriggerSchedule -ArgumentList $FileCollectionInventoryID

A propósito, mais adiante neste post, digo onde você pode obter rapidamente esse script e o script de nova varredura da atualização de software. Também mostro onde você pode encontrar as etapas sobre como adicioná-los ao console ConfigMgr por meio do recurso Executar Scripts.

O que este script de execução ConfigMgr faz?

Primeiro, ele limpa todo o inventário anterior, então força o cliente ConfigMgr a realizar um inventário completo. Em seguida, ele aciona cada um dos itens de estoque do mais rápido para o mais lento. Isso significa que o Heartbeat Discovery (também conhecido como ciclo de coleta de dados de descoberta no computador cliente ConfigMgr) e o inventário de hardware são devolvidos dentro de alguns minutos, e o inventário de software restante leva horas, senão dias, para retornar.

Forçar atualizações de software para verificar novamente ConfigMgr Executar script

Os resultados da verificação de atualização de software (SU) são mensagens baseadas no estado e, às vezes, essas mensagens baseadas no estado são perdidas. Se a mensagem for perdida, quando o cliente ConfigMgr fizer a varredura para SU na próxima hora agendada, o cliente NÃO retornará ao estado atual - nunca! A única exceção é se o estado mudar (o que quase nunca acontece), caso contrário, nada será enviado novamente.

Talvez você nunca precise forçar uma nova varredura das atualizações de software, a menos que precise se aprofundar ao determinar por que o status do SU mostrado em ConfigMgr não corresponde ao que está listado no próprio computador. A boa notícia é que a maioria das etapas de solução de problemas (às vezes sem você saber) resolve esse problema. Caso contrário, este script é para você!

Esta é minha solução para este problema:

$SCCMUpdatesStore = New-Object -ComObject Microsoft.CCM.UpdatesStore

$SCCMUpdatesStore.RefreshServerComplianceState ()

O que este script de execução ConfigMgr faz?

Este script PowerShell muito curto atualiza as mensagens baseadas no estado de todas as atualizações de software e retorna os resultados para ConfigMgr.

Como você adiciona esses dois scripts ao console ConfigMgr?

Primeiro, aqui está um arquivo Zip com os dois scripts abaixo.

ConfigMgr Executar Scripts

Em segundo lugar, as instruções passo a passo sobre como usar o recurso Executar Scripts são abordadas em minha postagem, Executar scripts é o melhor recurso em SCCM.

ConfigMgr Executar Scripts - Executar Script

Em minha opinião, esses dois scripts são os mais importantes que você precisa ter em sua biblioteca de scripts ConfigMgr. Acredite em mim quando digo que eles ajudam muito na solução de problemas! Se você tiver alguma dúvida sobre esses scripts do PowerShell, configure como scripts de execução ConfigMgr, sinta-se à vontade para entrar em contato comigo @GarthMJ.

Veja como Right Click Tools está mudando a forma como os sistemas são gerenciados.

Aumente imediatamente a produtividade com o nosso limitado e gratuito, Community Edition.

Comece com Right Click Tools hoje:

Suporte

  • Este campo é para fins de validação e não deve ser alterado.

Contato

  • Este campo é para fins de validação e não deve ser alterado.

Ao enviar este formulário, você entende que o Recast Software pode processar seus dados conforme descrito no Recast Software Política de Privacidade.

pt_BRPortuguese