Archives For Quest Kace

Di NotifyKace ne abbiamo già parlato un paio di volte in passato. Tutto è nato da una migrazione dell’appliance e relativa necessità di verificare che gli agent fossero correttamente installati e comunicanti con essa. Nel frattempo NotifyKace è cresciuto, si è evoluto e ha dato maggiori informazioni, permettendomi anche di richiamarlo facilmente in fase di login al dominio (inizialmente) o GPO (oggi). Ti racconto le ultime novità introdotte, così che anche tu possa sostituirlo a quello che forse hai in uso attualmente, ammesso che calzi a pennello la nuova soluzione adottata.

Kace: una rispolverata a NotifyKace.vbs (0.5) e uso delle GPO

Parti dalle basi

Se non hai idea di cosa sto parlando, ti invito a leggere l’articolo originale scritto un anno fa circa, è ancora valido e ti insegna alcuni trucchi per gestire i tuoi agenti Quest Kace, tutto sommato è ciò su cui baso lo sviluppo di NotifyKace:

Kace: un alert in caso di client mancante o inventario troppo vecchio

Ciò detto

Si può passare alla nuova versione dello script VBS, arrivata alla 0.5, che integra una funzione per l’invio della mail di allerta, un nuovo controllo riguardo l’esistenza del database di inventario e la rimozione delle esclusioni hostname perché oggi, a differenza di ieri, uso una GPO per arrivare direttamente sulle macchine interessate, lo script non viene quindi eseguito su endpoint che non devono avere l’agente Quest a bordo.

Il tutto si traduce con questo:

Della GPO per l’esecuzione programmata ne parliamo tra poco, nel frattempo i passaggi che più possono interessarti sono quelli relativi all’invio della comunicazione (a mezzo a posta elettronica), ora eseguito tramite funzione dedicata Call MailtoKacelog(Destination, DestinationCC, DestinationBCC, MailBody, Subject) e la verifica dell’esistenza del file di inventario (che puoi rinominare temporaneamente per verificare che lo script funzioni in maniera corretta):

'Test esistenza %ProgramData%\Quest\Kace\kinventory.db
If (oFSO.FileExists(sDirectoryPath & "\kinventory.db")) Then
'MsgBox("Debug: kinventory.db found " & strComputerName)

Il MsgBox commentato è lasciato lì volutamente nel caso in cui tu volessi vedere a video un popup di debug a conferma dell’esistenza del file; in uno script di produzione non ha invece senso lasciarlo senza commento. Ciò detto, null’altro cambia ma rimane più snello e pulito, con il rilevamento di indirizzo IP e ulteriori dettagli integrati nella funzione di MailtoKacelog.

Esecuzione programmata

Che poi è un po’ il succo del discorso che più cambia rispetto al passato. L’evoluzione della verifica consiste nella sua “rimozione” dalla fase di login, portandola invece all’interno dell’Utilità di pianificazione di Windows. L’operazione è costituita da due passaggi: il primo ti permetterà di copiare il file dello script all’interno dei tuoi PC, il secondo consisterà nell’inserimento dell’operazione programmata, che potrà essere poi eseguita secondo tue esigenze.

Copia del file

Crea una nuova GPO (o modificane una esistente che riguarda Kace) e naviga in Computer ConfigurationPreferences Windows SettingsFiles → Aggiungi un file da copiare sulla destinazione (che equivale al PC raggiunto dalla GPO), è qui che dovrai dirgli dove andare a recuperare il file VBS e in che cartella finale copiarlo. Ti propongo il riassunto catturato dalla GPO che stiamo attualmente utilizzando:

Kace: una rispolverata a NotifyKace.vbs (0.5) e uso delle GPO 1

Il file NotifyKace.vbs si trova in una share di rete raggiungibile da ogni nostro PC, verrà quindi copiato all’interno della cartella %ProgramData%\Quest, destinazione già presente sulle macchine proprio perché creata e quotidianamente utilizzata dall’agente Quest. Da qui si potrà certamente eseguire manualmente il controllo, oppure procedere con la seconda parte, quella della programmazione dell’operazione automatica.

Operazione programmata tramite Utilità di pianificazione

La seconda parte della GPO è quella che puoi creare e mettere in funzione navigando Computer ConfigurationPreferences Windows SettingsControl Panel SettingsScheduled Tasks → Crea un nuovo Scheduled Task (At least Windows 7) chiamato come meglio credi (nel mio caso è KACE check) e fagli eseguire un programma, puntandolo ovviamente a %ProgramData%\Quest\NotifyKace.vbs con i privilegi elevati e l’attivazione quotidiana all’orario che preferisci (nel mio caso le 12:00):

Kace: una rispolverata a NotifyKace.vbs (0.5) e uso delle GPO 2

In conclusione

Salvo errori, la configurazione del tuo nuovo controllo è terminata. Applica la GPO alle unità organizzative che contengono i PC del tuo dominio, attendi quindi che questa si propaghi e che inizi a svolgere il suo mestiere. Fai qualche test su macchine non in produzione, accertati che tutto funzioni correttamente, gioca con il file di inventario (magari rinominandolo in modo da non farlo rilevare al VBS e farti inviare così la mail di allerta per database non trovato), poi procedi con tutto il resto del parco macchine.

In caso di dubbi o anomalie, l’area commenti è a tua totale disposizione.

Buon lavoro :-)

Condividi l'articolo con i tuoi contatti:

Tu intervieni mettendo a posto un problema davvero molto banale ma che –se lasciato irrisolto– risulta essere alquanto fastidioso. Il problema sembra dipendere da una chiave di registro che in alcuni casi viene toccata e modificata da prodotti di terze parti, intervento che di per sé non è catastrofico, più che altro sgradito ed evitabile.

Se Windows decide di aprire una finestra di Esplora Risorse all'avvio 1

Ho trovato diversi thread in merito nel forum della Community di Microsoft, uno in particolare è quello che ha acceso la lampadina risolvendo poi “l’arcano mistero“, lo trovi anche tu all’indirizzo answers.microsoft.com/en-us/windows/forum/windows_10-files-winpc/file-explorer-opening-on-startup-in-win10/0abb4e16-747f-4f2d-ab2a-81c2e88d76f9, è quello di Fernando Valdivia (9/7/2017 3:19:54 AM, in pagina 2):

Se Windows decide di aprire una finestra di Esplora Risorse all'avvio

Si tratta in pratica di andare a controllare la chiave di registro HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon accertandosi che il valore Userinit corrisponda al classico C:\Windows\system32\userinit.exe o, se si tratta di un client sul quale è installato l’agente Quest Kace (come nel mio caso), che contenga allora C:\Windows\system32\KUsrInit.exe. Se all’interno del valore tu dovessi trovare la somma dei due casi, uno dei due ospiti diventa automaticamente sgradito e colpevole dell’apertura della finestra Esplora Risorse (senza che tu l’abbia chiesta) dopo l’accesso al sistema. Ti basterà ripristinare il corretto valore di chiave per tornare a vivere sereno (e senza la seccatura di dover chiudere finestre non desiderate).

Buon lavoro.

×

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato ai post "a bruciapelo"!
Condividi l'articolo con i tuoi contatti:

TeamViewer è uno strumento tutto sommato fantastico e universalmente riconosciuto per essere un giusto partner nell’assistenza remota verso PC diversamente non raggiungibili. In passato brillante per il suo modo di saltare a piè pari le limitazioni imposte dai firewall o dai NAT di rete, oggi cerca di fare bella mostra di sé per alcune finezze e servizi accessori (come la giovane assistenza remota su iOS 11+) che conquistano altre fette di mercato.

Kace: TeamViewer Remote Host Switch 3

TeamViewer è anche lo strumento utilizzato per fare assistenza remota in ufficio e, nel corso del tempo, ho costruito una serie di script che mi hanno facilitato la vita nella gestione delle sue autorizzazioni e comportamenti. Attivazione o disattivazione del popup di conferma al collegamento da parte dell’utente finale, blocco o sblocco (quindi disattivazione o attivazione) della creazione password a video (quella specificata sotto il tuo ID), possibilità di inibire il collegamento via internet lasciando solo quello da rete locale. Un piccolo coltellino svizzero in VBS, da richiamare comodamente da riga di comando in base alle esigenze.

Qualche giorno fa ho “tradotto” uno di quegli script in istruzioni per Kace. In particolare parlo dello script che abilita o disabilita l’accesso con conferma al TeamViewer di qualsiasi macchina (x86/x64) controllata all’interno del dominio / parco macchine gestito da Kace. Se la conferma di accesso è abilitata la disabilita, diversamente la abilita.

Lo script

Eseguito come Local System, si basa su due Task, si tratta rispettivamente di quello per un sistema installato a 64 bit, l’altro a 32. Basta controllare se esiste una chiave di registro partendo dalle voci di registro x64 (le Wow6432Node) e variare un valore in base alla condizione attuale, quindi passare al Task 2 nel caso si avesse a che fare con un Windows x86, a 32 bit.

Ti riporto qui di seguito i passaggi che ho salvato nel mio script.

Task 1

Verify

Verifica che la chiave di registro HKLM\SOFTWARE\Wow6432Node\TeamViewer\AccessControl esista, e che il valore AC_Server_AccessControlType sia impostato a 3 (il popup di conferma al collegamento remoto, che compare a video dell’utente finale quando ci si è autenticati dall’altro lato), tradotto quindi con:

Verify that HKLM\SOFTWARE\Wow6432Node\TeamViewer\AccessControl!AC_Server_AccessControlType is equal to “3”

Kace: TeamViewer Remote Host Switch

On Success

In caso di successo, dovrai terminare il processo relativo al servizio di TeamViewer, il client di TeamViewer stesso e modificare quel valore di chiave prima di poter riavviare il servizio di TeamViewer. Tradotto, si ottiene quindi:

Kill the process “TeamViewer_Service.exe”
Kill the process “TeamViewer.exe”
Set “HKLM\SOFTWARE\Wow6432Node\TeamViewer\AccessControl!AC_Server_AccessControlType” to “0”
Restart service “TeamViewer”

Dove lo 0 equivale a un lasciapassare che non richiede conferma alcuna da parte dell’utente finale, in pratica si va a emulare quella condizione di limbo (che permette la connessione senza conferma) di quando ci si trova nella schermata di login di Windows (CTRL+ALT+CANC).

Remediation

La Remediation serve come faultback, permettendoti quindi di riportare la situazione allo stadio precedente, perché il primo passaggio (quello di Verify, nda) ha evidentemente rilevato che il valore di AC_Server_AccessControlType era impostato su qualcosa di diverso dal 3. Quindi non farai altro che terminare il processo relativo al servizio di TeamViewer, il client di TeamViewer stesso e ritoccare quel valore di chiave prima di poter riavviare il servizio dell’applicazione. Traduco:

Kill the process “TeamViewer_Service.exe”
Kill the process “TeamViewer.exe”
Set “HKLM\SOFTWARE\Wow6432Node\TeamViewer\AccessControl!AC_Server_AccessControlType” to “3”
Restart service “TeamViewer”

Kace: TeamViewer Remote Host Switch 1

La procedura su sistemi a 64 bit è completa. Salvo errori, questa parte sarà già funzionante, a prescindere dallo stato d’uscita dello script in console (potrebbe anche dirti di aver fallito, ma mente, dall’altro lato la modifica è stata eseguita e potrai metterla subito alla prova).

Task 2

Verify

Non pensare che io lo faccia apposta, ma nulla cambia rispetto a prima. Il Task 2 serve esclusivamente nel caso in cui il primo fallisca, perché evidentemente non ci si trova davanti a una installazione di Windows a 64 bit. Questo primo passaggio pensa perciò a verificare che la chiave di registro HKLM\SOFTWARE\TeamViewer\AccessControl esista, e che il valore AC_Server_AccessControlType sia impostato a 3 (il popup di conferma al collegamento remoto, che compare a video dell’utente finale quando ci si è autenticati dall’altro lato), tradotto quindi con:

Verify that “HKLM\SOFTWARE\TeamViewer\AccessControl!AC_Server_AccessControlType” is equal to “3”

On Success

Anche in questo caso, se la ricerca ha successo, dovrai terminare il processo relativo al servizio di TeamViewer, il client di TeamViewer stesso e modificare quel valore di chiave prima di poter riavviare il servizio di TeamViewer. Tradotto, si ottiene quindi:

Kill the process “TeamViewer_Service.exe”
Kill the process “TeamViewer.exe”
Set “HKLM\SOFTWARE\TeamViewer\AccessControl!AC_Server_AccessControlType” to “0”
Restart service “TeamViewer”

Remediation

Con la Remedetion chiudi il cerchio e anche le operazioni di ambo i Task, riportando la situazione a quella considerata standard, prevedendo che sia l’utente a darti l’autorizzazione al collegamento al suo PC, senza che tu possa entrarci senza controllo alcuno:

Kill the process “TeamViewer_Service.exe”
Kill the process “TeamViewer.exe”
Set “HKLM\SOFTWARE\TeamViewer\AccessControl!AC_Server_AccessControlType” to “3"
Restart service “TeamViewer”

Lo script è utile per casi di emergenza nel caso in cui tu stia lavorando sul PC dell’utente senza presidio dall’altro lato (tipicamente quando ti lascia a fare il tuo lavoro e si allontana per una pausa, un tempo variabile non sempre ben definito), e tu ne perda il controllo per un qualsivoglia motivo, chiudendoti quindi la porta alle spalle (e senza le chiavi di casa). Non andrebbe mai utilizzato come passe-partout all’insaputa dell’utente.

Buon lavoro.

Condividi l'articolo con i tuoi contatti:

Un passo indietro: nei primi giorni di novembre ho pubblicato un articolo dedicato a un nuovo VBScript sviluppato per tenere d’occhio le installazioni degli agenti Kace nella rete aziendale, così da ricevere delle notifiche (mail) in caso di mancate installazioni o inventari non aggiornati. Trovi tutto qui:

Kace: un alert in caso di client mancante o inventario troppo vecchio

Cosa è cambiato rispetto al mese scorso? Quest (società separatasi da Dell nel 2016) ha rilasciato l’aggiornamento di Kace 8.0.318, il quale porta con sé anche il bundle di agenti 8.0.152. Questi ultimi, contrariamente al passato, si installeranno nella cartella %ProgramFiles%\Quest (%ProgramFiles(x86)%\Quest sui sistemi a 64 bit) anziché %ProgramFiles%\Dell. Il mio script, se distribuito sul tuo dominio, inizierà a inviarti delle notifiche per mancata installazione client, poiché anche il percorso nella %ProgramData% è variato (da %ProgramData%\Dell\KACE a %ProgramData%\Quest\KACE).

NotifyKace.vbs: nuova versione per gli agenti 8

Nello script pubblicato tra i miei Gist, avevo già previsto una banale variabile contenente la directory da monitorare, basterà variare quella per tornare a far funzionare il meccanismo, senza ulteriori falsi positivi (ne avrai ancora, di falsi positivi, se il client non avrà ancora ricevuto l’aggiornamento dell’agent alla versione 8.0.152, mettiti il cuore in pace). Ho lasciato stare il vecchio script (che si ferma così alla versione 0.2rev1) e ne ho salvato un altro (la 0.3), che trovi qui:

Per tutto il resto c’è MasterCard puoi consultare il vecchio articolo, tenendo presente che tutto resta identico ad eccezione delle cartelle del software (modifica Dell con Quest e il gioco è sempre fatto).

Buon lavoro!

Condividi l'articolo con i tuoi contatti:

In seguito a una migrazione della virtual appliance di Kace, alcuni dei client dislocati sul territorio hanno perso “la retta via di casa“, non comunicando più correttamente con la console del software di Quest. Per questo motivo, dato che tutti eseguivano almeno uno script di logon, ho deciso di inserire un richiamo a un VBScript che ho sviluppato (prendendo spunto da moltissime fonti, riportate nei credits dello script, nda) e che si occupa di verificare che l’agente Kace sia installato (fondamentale) ein caso lo fosseche l’inventario ultimo non sia più vecchio di 10 giorni.

Kace: un alert in caso di client mancante o inventario troppo vecchio

A oggi i risultati sono stati molto positivi, abbiamo visto spuntare fuori diverse macchine sulle quali è poi bastato connettersi via prompt (niente che non possa essere eseguito da un PsExec) per mettere a posto le cose (te lo spiego più tardi).

La logica di funzionamento

Il principio dello script è semplice e si basa su un comportamento attuale dell’agente di Kace. Se questo è installato, vuol dire che tra i servizi attivi della macchina dovrà esserci Konea, nome assegnato già da Dell prima che Quest ereditasse il prodotto. Se hai l’agente Kace installato sulla tua macchina e vuoi fare un banale controllo, prova a lanciare un sc query Konea via prompt dei comandi, dovresti ottenere un risultato simile:

NOME_SERVIZIO: konea
 TIPO : 10 WIN32_OWN_PROCESS
 STATO : 4 RUNNING
 (STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
 CODICE_USCITA_WIN32 : 0 (0x0)
 CODICE_USCITA_SERVIZIO : 0 (0x0)
 PUNTO_CONTROLLO : 0x0
 INDICAZIONE_ATTESA : 0x0

Detto ciò, si passa alla seconda verifica: un inventario sufficientemente aggiornato anche per coloro che magari non accendono il PC per qualche giorno (penso alle ferie nei periodi estivi o invernali, o magari a breve trasferte lavorative anche offline). Ho pensato quindi che 10 giorni fosse un corretto intervallo di tempo massimo, oltre il quale devo allarmare qualcuno affinché faccia un controllo sulla console.

Dato che in alcuni casi è necessario ignorare determinate macchine sulle quali ci si autentica con le proprie credenziali, lo script prevede anche delle esclusioni in base al nome macchina,ciò implica però che tu vada a utilizzare una nomenclatura ben precisa (altrimenti ti toccherà inserire una miriade di nomi diversi).

Lo script

Ho notato che l’agente di Kace aggiorna il file kinventory.db ogni volta che comunica il suo inventario completo. Per questo motivo, lo prendo come punto di riferimento e mi accerto che l’ultima data di modifica del file non sia più vecchia dell’intervallo stabilito (intervallo che tu, secondo una diversa esigenza o ragionamento, puoi chiaramente modificare).

Se anche questo controllo passa indenne, nessun problema. In caso contrario, spedirò una mail a un singolo destinatario o un gruppo di HelpDesk che possa far partire i controlli necessari.

Tradotto in codice (anche non elegante, non ottimizzato e chissà cos’altro ancora), questo è il risultato:

Cosa c’è da sapere, cosa dovrai modificare

I punti modificabili all’interno dello script sono diversi, alcuni necessari, altri meno (nel senso che puoi lasciarli invariati rispetto al mio suggerimento), andiamo con ordine.

  • sDirectoryPath = "C:\ProgramData\Dell\Kace": salvo modifiche da parte di Quest, la cartella dove risiede il DB di inventario è questa, e vale per Windows 7 o superiore. Se ci saranno modifiche in futuro, aggiornerò lo script e l’articolo, puoi starne certo.
  • iDaysOld = 10: modificando quel 10, modificherai i giorni oltre i quali allarmarsi per un possibile disallineamento dell’agente Kace rispetto alla console. Credo che il mio sia un giusto intervallo, ma ogni realtà è diversa, così come ogni esigenza.
  • exclusions = Array( "WIN7TEST", _: per ogni riga, potrai specificare una parte di nome che –nel caso in cui dovesse far parte dell’hostname– verrà ignorata, facendo chiudere in automatico lo script. Nello script di esempio pubblicato su Gist (quello che vedi poco sopra), ho pensato a macchine virtuali (o fisiche) che contengano nel loro nome WIN7TEST o WIN10TEST. Cambia quei nomi con ciò che ti interessa ignorare, altrimenti non curarti di questa porzione di codice e vai avanti.
  • Destination = "tuonome@contoso.com": ogni campo Destination (ce ne sono due, nda) dovrà contenere l’indirizzo di posta di chi riceverà la mail di alert in caso di problemi. Sostituisci quindi “tuonome@contoso.com” con un indirizzo di posta esistente e sensato.
  • objMessage.From = "Alert Kace <kacealert@contoso.com>: un po’ come sopra, anche se questo è in realtà l’indirizzo del mittente che invierà la mail. Può essere anche fittizio, ma occhio ai controlli antispam del tuo client di posta.
  • "smtp.contoso.com": sostituiscilo con l’indirizzo del tuo server SMTP, possibilmente interno alla tua rete.
ATTENZIONE: Nel caso in cui tu non avessi un SMTP interno alla tua rete aziendale, dovrai passare per un provider esterno. In questo caso, potresti dover utilizzare un’autenticazione per spedire posta. Dai un’occhiata alla pagina paulsadowski.com/wsh/cdo.htm per sapere come modificare lo script e procedere (oppure chiedi aiuto nell’area commenti del mio blog).

Fai molta attenzione. Come anticipato, ci sono due campi per Destination, objMessage.From e smtp.contoso.com. Lo script, salvo errori, ti consegnerà comodamente in Inbox delle mail di questo tipo:

Tocca ora a te collegarti alle macchine tramite prompt dei comandi e procedere con le opportune operazioni. Ti riepilogo brevemente in cosa potresti imbatterti.

Kace: amptools

Spostati nella cartella di installazione del Kace (C:\Program Files (x86)\Dell\KACE per i sistemi a 64 bit, C:\Program Files\Dell\KACE per quelli a 32) e procedi verificando la configurazione del tuo agente Kace. Questa è memorizzata nel file amp.conf che si trova nella %ProgramData%, ma puoi facilmente ottenerla lanciando il comando amptools get:

C:\Program Files (x86)\Dell\KACE>amptools get
[2017-11-06.09:05:23][AMPTools:AgentConfig::LogAll ] Agent Configuration Values
[2017-11-06.09:05:23][AMPTools:AgentConfig::LogAll ] KACE Agent version 7.2.10 Jun 5 2017
[2017-11-06.09:05:23][AMPTools:AgentConfig::LogAll ] ------------------------------------------------
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] debug: true
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] host: kace.contoso.com
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] weburl: https://kace.contoso.com
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] webport: 443
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] serverversion: 7.2.101
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] max download speed: unlimited
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] companyname: Contoso Corp.
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] splashtext: KACE Systems Management Appliance is verifying your system configuration and managing software updates. Please Wait...
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] processtimeout: 14400000
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] filetimeout: 86400
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] sslrequired: TRUE
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] verifyssl: FALSE
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] koneaport: 443
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] servercompress: TRUE
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] disablebootupsplash: FALSE
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] disableloginsplash: FALSE
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] disablewaitforbootuptasks: FALSE
[2017-11-06.09:05:24][AMPTools:AgentConfig::LogAll ] disablewaitforlogintasks: FALSE

Assicurati che i campi host e weburl siano corretti e, nel caso non lo fossero, procedi secondo un ragionamento semplice:

  • se la versione dell’agente è antecedente la 7, dovrai disinstallarlo, quindi installare la versione più recente, questo a causa di una incompatibilità con console esposte in HTTPS e porte diverse da quelle utilizzate in passato.
  • Se la versione è successiva alla 7, ti basterà lanciare una semplice riconfigurazione.

Disinstallazione

Senza muoverti dalla cartella nella quale ti trovi via prompt dei comandi, esegui un amptools uninstall all-kuid per rimuovere l’agente e pulire ogni configurazione.

C:\Program Files (x86)\Dell\KACE>amptools uninstall all-kuid
[2017-11-06.12:49:31][AMPTools:StopIfNeeded ] [Stopping Service]
Stopping ..
AMPWatchDog stopped successfully
[2017-11-06.12:49:31][AMPTools:StopKonea ] [Stopping konea]
[2017-11-06.12:49:31][AMPTools:StopKonea ] Service "konea" stopped.
Stopping ..
AMPAgent stopped successfully
AMPWatchDog already stopped
DeleteSvcWithName:AMPWatchDog uninstalled.
[2017-11-06.12:49:45][AMPTools:RemoveKonea ] [Stopping konea]
[2017-11-06.12:49:45][AMPTools:RemoveKonea ] Service "konea" uninstalled.
Removing KUID from registryRemove the entire data directory

A questo punto, lancia l’installazione del pacchetto MSI in maniera silente. L’agente, non appena installato, contatterà nuovamente la console e invierà il suo inventario aggiornato. Nell’esempio di seguito, tengo conto di un’installazione dell’agente eseguita da una cartella locale del PC (l’agente è stato precedentemente copiato), nulla ti vieta di lanciarla da un’unità di rete che dovrà però essere accessibile anche da prompt dei comandi:

msiexec /i ampagent-7.2.10-x86_kace.contoso.com.msi /quiet /qn /norestart

Ti ricordo che, nel caso ti sfuggisse o non lo sapessi affatto, potrai specificare l’indirizzo del tuo Kace direttamente nel nome del pacchetto MSI, così da evitare che venga richiesto a video. Ti basterà posporre l’URL al nome pacchetto, subito prima dell’estensione. Guarda tu stesso l’esempio poco sopra: il pacchetto originale si chiamava ampagent-7.1.62-x86.msi, modificandolo in ampagent-7.1.62-x86_kace.contoso.com.msi, questo proverà immediatamente a contattare kace.contoso.com per inviare il suo inventario.

L’operazione dura un paio di minuti circa. A quel punto vedrai comparire il PC nella tua console Kace, e potrai cancellare il pacchetto MSI dalla cartella locale del PC (ammesso tu l’abbia copiato prima).

Riconfigurazione

La riconfigurazione è cosa assai più semplice, perché non richiede che un solo comando da eseguire via prompt, senza necessità di disinstallare alcunché. Anche se l’agente non è aggiornato rispetto a quello distribuito da console, ma è già compatibile con le nuove porte usate dal servizio Konea, penserà lui stesso ad aggiornarsi quando sarà nuovamente collegato al tuo Kace.

Sempre da prompt dei comandi (e dalla cartella di installazione dell’agente Kace) lancia un amptools resetconf host=kace.contoso.com (sostituendo ovviamente l’URL con quello della tua console), il servizio verrà così riavviato e partirà utilizzando il nuovo indirizzo fornito:

C:\Program Files (x86)\Dell\KACE>amptools resetconf host=kbox.contoso.com
[2017-11-08.09:23:16][AMPTools:AgentTools::PerformRese] Resetting config file C:\ProgramData\Dell\KACE\amp.conf
[2017-11-08.09:23:16][AMPTools:AgentTools::PerformRetr] Removing previous certificate (if it exists): C
[2017-11-08.09:23:16][AMPTools:AgentTools::StopIfNeede] [Stopping Service]
Stopping ..
AMPWatchDog stopped successfully
Stopping ...
OfflineScheduler stopped successfully
[2017-11-08.09:23:36][AMPTools:KoneaTools::StopKonea ] [Stopping konea]
[2017-11-08.09:23:36][AMPTools:KLaunchClient::Launch ] KLaunchClient::Launch()
[2017-11-08.09:23:36][AMPTools:KLaunchClient::DumpStat] Launch State: Command="C:\Program Files (x86)\Dell\KACE\konea.exe" Arguments="-stop" WorkingDir="" Timeout=14400000 ShouldDetach=0 ShowWindow=0 Redirect_stdout=1 Redirect_stderr=0 Desktop=winsta0\default Using Wait_Override=0
[2017-11-08.09:23:36][AMPTools:KLaunchUtils::DoesToken] DoesTokenHaveLSAPriviledges returning: 0
[2017-11-08.09:23:36][AMPTools:KLaunchClientImpl::Laun] KLaunchClientImpl::Launch() DoesCurrentProcessHaveLSAPriviledges = false
[2017-11-08.09:23:36][AMPTools:KLaunchClientImpl::Laun] KLaunchClientImpl::LaunchNoSession()
[2017-11-08.09:23:36][AMPTools:KLaunchClientImpl::Setu] KLaunchClientImpl::SetupStartInfo *Don't CreateStdPipe StdIn Pipe (disabled)
[2017-11-08.09:23:36][AMPTools:KLaunchClientImpl::Laun] KLaunchClientImpl::LaunchNoSession - CreateProcess returned successfully
[2017-11-08.09:23:36][AMPTools:KLaunchClientImpl::Read] KLaunchClientImpl::ReadStdPipe End of ReadStdPipe method
[2017-11-08.09:23:36][AMPTools:KLaunchClientImpl::Proc] KLaunchClientImpl::ProcessResults - End
[2017-11-08.09:23:36][AMPTools:KoneaTools::StopKonea ] Service "konea" stopped.
[2017-11-08.09:23:36][AMPTools:AgentTools::StartIfNeed] [Starting Service]
OfflineScheduler started successfully
AMPWatchDog started successfully
[2017-11-08.09:23:36][AMPTools:KoneaTools::StartKonea ] [Starting konea]
[2017-11-08.09:23:36][AMPTools:KLaunchClient::Launch ] KLaunchClient::Launch()
[2017-11-08.09:23:36][AMPTools:KLaunchClient::DumpStat] Launch State: Command="C:\Program Files (x86)\Dell\KACE\konea.exe" Arguments="-start" WorkingDir="" Timeout=14400000 ShouldDetach=0 ShowWindow=0 Redirect_stdout=1 Redirect_stderr=0 Desktop=winsta0\default Using Wait_Override=0
[2017-11-08.09:23:36][AMPTools:KLaunchUtils::DoesToken] DoesTokenHaveLSAPriviledges returning: 0
[2017-11-08.09:23:36][AMPTools:KLaunchClientImpl::Laun] KLaunchClientImpl::Launch() DoesCurrentProcessHaveLSAPriviledges = false
[2017-11-08.09:23:36][AMPTools:KLaunchClientImpl::Laun] KLaunchClientImpl::LaunchNoSession()
[2017-11-08.09:23:36][AMPTools:KLaunchClientImpl::Setu] KLaunchClientImpl::SetupStartInfo *Don't CreateStdPipe StdIn Pipe (disabled)
[2017-11-08.09:23:36][AMPTools:KLaunchClientImpl::Laun] KLaunchClientImpl::LaunchNoSession - CreateProcess returned successfully
[2017-11-08.09:23:36][AMPTools:KLaunchClientImpl::Read] KLaunchClientImpl::ReadStdPipe End of ReadStdPipe method
[2017-11-08.09:23:36][AMPTools:KLaunchClientImpl::Proc] KLaunchClientImpl::ProcessResults - End
[2017-11-08.09:23:36][AMPTools:KoneaTools::StartKonea ] Service "konea" started.

In conclusione

Se dovessero servirti (o sei semplicemente curioso) trovi le opzioni da riga di comando degli “amptools” nella documentazione prodotto, ma dovrai avere un’utenza registrata per poterla consultare: support.quest.com/kace-systems-management-appliance/kb/146458.

Salvo errori o modifiche non eseguite, tutto dovrebbe funzionare a pieno regime, consentendoti di riportare sulla terra ferma le macchine che navigano altrove perché senza una rotta certa. Certo inizialmente potresti avere molte segnalazioni e ti sembrerà di aver fatto una stupidata e che forse “occhio non vede, cuore non duole” è un gran proverbio, ma pensandoci a mente fredda forse mi ringrazierai :-)

In caso di dubbi, o se volessi dare ulteriori suggerimenti in merito, l’area commenti è sempre a tua totale disposizione.

Buon lavoro!

Condividi l'articolo con i tuoi contatti: