Esegui exe come amministratore in una sessione utente

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Bloccato
atrio
Messaggi: 3
Iscrizioni: 2 febbraio 2017 - ore 16:38

3 febbraio 2017 - 17:56

Buongiorno,

Vorrei distribuire la versione host di TeamViewer versione 12 con assegnazione automatica al mio account online.

Per fare ciò, distribuisco il file MSI e il file di configurazione TeamViewer_Settings.reg utilizzando lo strumento WAPT. Durante la distribuzione con l'account di sistema del servizio WAPT, il PC non è connesso a Internet (proxy trasparente basato su un account Windows AD). Internet è attivo sul PC solo quando è aperta una sessione utente. Il client host di TeamViewer stabilisce quindi una connessione con i server TeamViewer su Internet e viene "personalizzato": la licenza viene attivata e il file "AssignmentData.json" viene generato nella directory di TeamViewer "C:\Programmi (x86)\TeamViewer".

L'editore di TeamViewer descrive una procedura per assegnare l'ID TeamViewer di un PC a un account online TeamViewer. Per farlo, è necessario eseguire l'utilità "TeamViewer_Assignment.exe" con determinati argomenti.

Sfortunatamente, il file "AssignmentData.json" viene generato con attributi molto limitati, con accesso in lettura solo per il gruppo Administrators locale sul PC.

Se eseguo l'utilità "TeamViewer_Assignment.exe" in "def install()" del pacchetto wapt, non ho alcuna connessione Internet -> non viene generato alcun file "AssignmentData.json", ecc.

Se eseguo l'utilità "TeamViewer_Assignment.exe" in "session_setup", è necessario che un account amministratore sia connesso affinché tutto funzioni. Questo è problematico perché tutti i miei utenti sono "utenti".

Non ho alcuna conoscenza di programmazione Python; sto consultando la documentazione della community e traendo ispirazione dai modelli di pacchetti esistenti. Ho trovato una soluzione alternativa per eseguire l'utilità "TeamViewer_Assignment.exe" come amministratore all'interno di una sessione utente.

È possibile? Se sì, come, oppure hai un altro metodo da suggerire?

Grazie.

Di seguito sono riportati i file sorgente del mio pacchetto (l'utilità "TeamViewer_Assignment.exe" si trova nella directory temporanea):

Codice: Seleziona tutto

from setuphelpers import *

uninstallkey = []

destdir = makepath('c:\\wapt\\temp')

def install():
    print('installing atr-teamviewer-host12')
    copytree2('temp',destdir,onreplace=default_overwrite_older)
    install_msi_if_needed('TeamViewer_Host-xxxxxxxxxx.msi',killbefore=['teamviewer.exe'])


def session_setup():
    install_exe_if_needed("%s\TeamViewer_Assignment.exe" % destdir,silentflags='-apitoken 1234567-xxxxxxxxxxxxxxxxxxxx -datafile "${ProgramFiles}\TeamViewer\AssignmentData.json"',accept_returncodes=[0,1],timeout=30)


def uninstall():
    print "Remove directory content %s" % destdir
    remove_tree(destdir)
Ultima modifica di atriou il 09 feb 2017 - 11:51, modificato 1 volta.
Aedenth
Messaggi: 15
Registrazione: 19 settembre 2016 - 09:26

6 febbraio 2017 - 9:02

Buongiorno,

Probabilmente puoi farlo creando un'attività pianificata tramite wapt che viene eseguita una volta all'avvio come amministratore, utilizzando schtasks.

Codice: Seleziona tutto

run(schtasks /create /tn <TaskName>/TR <TaskRun>/SC fois /St <HH:MM>[/sd <StartDate>] [/it] [/ru {[<Domain> \] <User>[/rp <Password>] | Système}] [/ s <Computer>[/u [<Domain> \] <User>[/p <Password>]]]
Doc Schtasks: https://technet.microsoft.com/fr-fr/lib ... #BKMK_once
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

6 febbraio 2017 - 23:53

Potrebbe essere più semplice autorizzare le vostre workstation a connettersi a TeamViewer?

Che tipo di autenticazione utilizzate? NTLM? Kerberos? Qualcos'altro?
atrio
Messaggi: 3
Iscrizioni: 2 febbraio 2017 - ore 16:38

9 febbraio 2017 - 12:05

Non ho ancora avuto tempo di testare l'attività pianificata.

I nostri utenti si autenticano alle loro workstation tramite Microsoft Active Directory (livello funzionale 2008, credo), utilizzando l'autenticazione Kerberos.

Invierò un messaggio al supporto di TeamViewer per capire perché il file "AssignmentData.json" viene generato con attributi molto limitati (solo accesso in lettura per il gruppo Administrators locale sul PC).
Bloccato