Kace: TeamViewer Remote Host Switch

| |

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.

L'articolo potrebbe non essere aggiornato

Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)

Gioxx's Wall

Se hai correzioni o suggerimenti puoi lasciare un commento nell'apposita area qui di seguito o contattarmi privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! Satispay / PayPal / Buy Me A Coffee / Patreon

Condividi l'articolo con i tuoi contatti: