PowerShell e Utilità di pianificazione: pianificazione dell'inventario

Nel 2014, ho pubblicato un post sul blog chiamato, Come evitare di ricevere richieste di risincronizzazione dell'inventario per macchine virtuali snapshot. Quello che mi è piaciuto di quel post è stato il modo in cui l'utilità di pianificazione è stata utilizzata per pianificare l'inventario ConfigMgr evitando così errori di risincronizzazione ConfigMgr. Quello che non mi è piaciuto di quel post sul blog del 2014 è stato il modo in cui ogni attività TriggerSchedule doveva essere creata a mano. Passando al 2020, mi sono rivolto a PowerShell per risolvere questo problema e automatizzare il processo. Come mai? Stavo testando Server di report di Power BI con Rapporti Enhansoft e parte di questo test ha comportato la creazione di nuovi server Windows 10 insieme a diverse nuove VM. Non volevo creare ogni attività manualmente ogni volta, quindi PowerShell fa tutto il lavoro pesante per me e ora sto condividendo con te come l'ho fatto, insieme allo script, in questo post.

Sfondo

Nel mio post originale, ho collegato ad alcuni post del blog su come forzare l'inventario a una raccolta e a un computer utilizzando il Software di gestione dell'endpoint Recast attrezzo. Questo è fantastico, anche oggi, MA non aiuta con le macchine virtuali in cui viene scattata una snapshot.

qui, a Enhansoft, Hyper-V viene utilizzato per creare snapshot delle macchine virtuali nel nostro laboratorio di test. Lo facciamo nel caso in cui sia necessario ripristinare rapidamente una VM a uno stato noto. Quando ciò accade, l'inventario della VM può non essere sincronizzato con ConfigMgr. In teoria, ConfigMgr forza i computer non sincronizzati a risincronizzarsi e aggiornarsi, ma questa attività può richiedere del tempo. Questo lasso di tempo non è utile per garantire che il tuo inventario sia sempre aggiornato in ConfigMgr.

La nostra soluzione a questo problema, ogni volta che una VM viene riavviata (riavviata), consiste nel forzare il client ConfigMgr a eseguire le seguenti azioni in questo ordine:

  1. Eseguire un rilevamento heartbeat (ciclo di rilevamento dati).
  2. Eliminare l'ultimo hardware completo per forzare il successivo ciclo di inventario hardware a eseguire un inventario completo.
  3. Eliminare i dati di inventario software per forzare il successivo ciclo di inventario software a eseguire un inventario completo.
  4. Eseguire un inventario hardware.
  5. Eseguire un inventario del software.

Poiché non voglio eseguire questa attività manualmente ogni volta, ho creato uno script per tutte le azioni elencate sopra utilizzando WMIC. Quindi ho impostato un'attività pianificata da eseguire ogni volta che una VM si riavvia con un ritardo di 5 minuti. Il ritardo di 5 minuti consente al client ConfigMgr di avviarsi prima che sia costretto a eseguire l'azione di inventario.

Nel post del blog originale, ho creato un'attività pianificata per tutte le azioni. Quando sono andato ad automatizzare questo processo con PowerShell, aveva più senso creare un'attività pianificata per ogni azione elencata sopra. Oltre a queste azioni, volevo anche forzare un inventario completo alle 9:00 ogni giorno su ogni VM. Per mantenere le cose in ordine, ho inserito tutte le attività pianificate in una cartella.

Pianifica inventario ConfigMgr - Utilità di pianificazione

Programma ConfigMgr Inventario

Non sto postando l'intero script qui perché puoi Scarica lo script completo dal sito di Enhansoft e quindi rivederlo. Invece, ti sto mostrando le tre righe più importanti di seguito.

$action = New-ScheduledTaskAction -Esegui 'WMIC.exe' -Argument '/namespace:\\root\ccm percorso sms_client CALL TriggerSchedule “{00000000-0000-0000-0000-00000000001}” /NOINTERACTIVE'
$trigger = New-ScheduledTaskTrigger -Giornaliero -Alle 9:01:01
Register-ScheduledTask -Azione $action -Trigger $trigger -TaskName $FolderName\”HW Inv” -User “System”

La prima riga crea l'attività pianificata. La seconda riga crea il trigger dell'attività pianificata; in questo esempio si verifica alle 9:01:01. La terza riga unisce la prima e la seconda riga ed esegue l'attività pianificata utilizzando l'account di sistema.

Guarda per il ritorno a capo di ogni riga. Inoltre, se lo tagli e incolli nel tuo script, fai attenzione alle virgolette stilizzate (ricci). Le virgolette dovrebbero essere sempre quelle dritte, singole.

Guardando lo screenshot sopra, puoi vedere che una volta eseguito lo script PowerShell, tutte le attività pianificate vengono create e posizionate ordinatamente all'interno della cartella.

Congelamento profondo

L'utilizzo di questo script PowerShell per pianificare l'inventario ConfigMgr è importante anche se si dispone di computer in uso Faronics Deep Freeze. Tuttavia, vorrei apportare alcune modifiche alla sceneggiatura. Innanzitutto, rimuovere le attività pianificate hardware e software di "eliminazione" al riavvio del sistema, ma mantenere le attività pianificate per attivare gli inventari all'avvio del sistema. Inoltre, regolerei l'orario delle 9:00 in modo che si verifichi pochi minuti dopo il ciclo di scongelamento Deep Freeze.

Riepilogo

Alla fine della giornata, queste attività di inventario ConfigMgr pianificate e questo script PowerShell hanno permesso al mio team di risparmiare molto tempo e fatica. Se disponi di un laboratorio di prova, ti consiglio di utilizzare anche questo processo perché garantisce che il tuo inventario venga aggiornato regolarmente. In caso di domande su come pianificare l'inventario ConfigMgr, non esitate 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:

Condividi questo:

Supporto

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

Contatti

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