I miei due script di esecuzione ConfigMgr preferiti

Lavoro molto nell'inventario e nello spazio di reporting di ConfigMgr e aiuto anche molte persone a risolvere i problemi relativi all'inventario e ai report. In questo post del blog, condivido con voi due dei miei script di esecuzione ConfigMgr preferiti che sono molto utili quando si tratta di risolvere questi tipi di problemi. Uno aiuta quando è necessario forzare un inventario hardware completo e l'altro è ottimo quando è necessario forzare una nuova scansione degli aggiornamenti software.

All'inizio di questo mese, forse ricorderete, ho pubblicato un post sul blog chiamato, Esegui script è la migliore funzionalità in SCCM. Al suo interno, ti ho mostrato come ho utilizzato la funzione Esegui script in ConfigMgr/SCCM per disattivare un firewall da remoto. Nel post di oggi, ti mostro, ancora una volta, perché penso che la funzione Esegui script sia la migliore!

ConfigMgr Esegui script: i migliori

Forza un inventario completo – ConfigMgr Esegui script

Succede tutto il tempo. ConfigMgr mostra dettagli obsoleti per l'inventario hardware. Come mai? Il più grande colpevole non è la configurazione corretta di ConfigMgr per sfruttare l'inventario hardware aumentando la dimensione massima del MIF a 50 MB. C'è una soluzione semplice per questo problema e la copro nel mio post, Come aumentare la dimensione massima dei file di informazioni di gestione (MIF). Tuttavia, una volta aumentata la dimensione massima del file, è necessario forzare un inventario hardware completo su alcuni (o forse tutti) i client ConfigMgr. Sfortunatamente, questo è un effetto collaterale del mancato aumento della dimensione MIF quando ConfigMgr è stato costruito per la prima volta.

Prima della funzione Esegui script, era possibile forzare un inventario completo creando un pacchetto e un programma, distribuendolo in una raccolta e infine aggiungendo i computer a tale raccolta. Ha funzionato, ma ci è voluto del tempo. Quando stai risolvendo un problema, non vuoi aspettare, quello che potrebbe sembrare per sempre, che le cose accadano.

Non mi piace aspettare, quindi ho creato una soluzione alternativa al pacchetto e alla soluzione del programma. Qualche tempo fa, ti ho mostrato, in un altro dei miei post sul blog, come ripristinare tutti gli elementi dell'inventario utilizzando un'attività pianificata, Come evitare di ricevere richieste di risincronizzazione dell'inventario per macchine virtuali snapshot. Di recente, ho aggiornato i comandi WMIC elencati in quel post del blog su PowerShell e ho aggiunto questo nuovo script alla mia console ConfigMgr. Di seguito la sceneggiatura.

$comp=”host locale”

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

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

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

$FleCollectionInventoryID = '{00000000-0000-0000-0000-00000000010}'

Get-WmiObject -NomeComputer $comp -Spazio dei nomi 'Root\CCM\INVAGT' -Classe 'InventoryActionStatus' -Filtro “InventoryActionID='$HardwareInventoryID'” | Rimuovi-WmiObject

Get-WmiObject -NomeComputer $comp -Spazio dei nomi 'Root\CCM\INVAGT' -Classe 'InventoryActionStatus' -Filtro “InventoryActionID='$SoftwareInventoryID'” | Rimuovi-WmiObject

Get-WmiObject -NomeComputer $comp -Spazio dei nomi 'Root\CCM\INVAGT' -Classe 'InventoryActionStatus' -Filtro “InventoryActionID='$HeartbeatID'” | Rimuovi-WmiObject

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

Inizio-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 proposito, più avanti in questo post, ti dico dove puoi ottenere rapidamente questo script e lo script di nuova scansione dell'aggiornamento software. Ti mostro anche dove puoi trovare i passaggi su come aggiungerli alla tua console ConfigMgr tramite la funzione Esegui script.

Cosa fa questo script di esecuzione ConfigMgr?

Innanzitutto, pulisce tutto l'inventario precedente, quindi forza il client ConfigMgr a eseguire un inventario completo. Successivamente, attiva ciascuno degli articoli dell'inventario dal più veloce al più lento. Ciò significa che Heartbeat Discovery (ovvero il ciclo Discovery Data Collection sul computer client ConfigMgr) e l'inventario hardware vengono restituiti entro pochi minuti e l'inventario software rimanente richiede ore, se non giorni, per essere restituito.

Forza gli aggiornamenti del software per eseguire nuovamente la scansione dello script di esecuzione di ConfigMgr

I risultati della scansione di Software Update (SU) sono messaggi basati sullo stato e talvolta questi messaggi basati sullo stato vengono persi. Se il messaggio viene perso, quando il client ConfigMgr esegue la scansione di SU all'ora pianificata successiva, il client NON restituisce lo stato corrente, mai! L'unica eccezione è se lo stato cambia (cosa che non accade quasi mai) altrimenti non viene più inviato nulla.

Potrebbe non essere mai necessario forzare una nuova scansione degli aggiornamenti software, a meno che non sia necessario scavare a fondo per determinare il motivo per cui lo stato SU mostrato in ConfigMgr non corrisponde a quanto elencato sul computer stesso. La buona notizia è che la maggior parte dei passaggi per la risoluzione dei problemi (a volte senza che tu lo sappia) risolve questo problema. Se non lo fanno, questo script è per te!

Ecco la mia soluzione a questo problema:

$SCCMUpdatesStore = Nuovo oggetto -ComObject Microsoft.CCM.UpdatesStore

$SCCMUpdatesStore.RefreshServerComplianceState()

Cosa fa questo script di esecuzione ConfigMgr?

Questo brevissimo script PowerShell aggiorna i messaggi basati sullo stato di tutti gli aggiornamenti software e restituisce i risultati a ConfigMgr.

Come si aggiungono questi due script alla console ConfigMgr?

Innanzitutto, ecco un file Zip con entrambi gli script di seguito.

ConfigMgr Esegui script

In secondo luogo, le istruzioni dettagliate su come utilizzare la funzione Esegui script sono trattate nel mio post, Esegui script è la migliore funzionalità in SCCM.

ConfigMgr Esegui script - Esegui script

Secondo me, questi due script sono due dei più importanti che devi avere nella tua libreria di script ConfigMgr. Credimi quando dico che aiutano molto con la risoluzione dei problemi! Se hai domande su questi script PowerShell, impostati come script di esecuzione ConfigMgr, non esitare a contattarmi @GarthMJ.

Scopri come Right Click Tools sta cambiando il modo in cui vengono gestiti i sistemi.

Aumenta immediatamente la produttività con la nostra Community Edition limitata e gratuita.

Inizia oggi con Right Click Tools:

Supporto

  • Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Contatti

  • Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Inviando questo modulo, comprendi che Recast Software può elaborare i tuoi dati come descritto nel Recast Software politica sulla riservatezza.

it_ITItalian