Pagina 1 di 1

[RISOLTO] Creazione di un pacchetto per modificare il registro di Windows

Pubblicato: 20 febbraio 2020 - 10:59
di Meno
Buongiorno

Vorrei utilizzare Wapt per implementare una modifica a una chiave nel registro di Windows relativa alle impostazioni di Outlook su determinati PC

Il mio file .reg di base si presenta così:

Codice: Seleziona tutto

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover]
"ExcludeExplicitO365Endpoint"=dword:00000001
Quindi ho creato due file batch come segue:

Il primo modo è installare la chiave (AntiPopup.bat):

Codice: Seleziona tutto

@echo off
REG ADD HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover /f /v ExcludeExplicitO365Endpoint /t REG_DWORD /d "00000001"
Il secondo è rimuovere la chiave (RemoveAntiPopup.bat)

Codice: Seleziona tutto

@echo off
REG DELETE HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoDiscover /v ExcludeExplicitO365Endpoint /f
Inizialmente ho testato i file batch in una macchina virtuale e hanno funzionato senza problemi

Tuttavia, una volta creato il pacchetto WAPT con il seguente setup.py:

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    print('AntiPopup.bat: Execute...')
    run(r'AntiPopup.bat')

def uninstall():
    print('RemoveAntiPopup.bat: Execute...')
    run(r'RemoveAntiPopup.bat')
L'installazione procede senza errori, ma la chiave non viene creata nella VM.

Pensando che potesse esserci un problema con l'applicazione di un file batch, ho convertito i file batch in file exe con diritti di amministratore.

Ho testato i file eseguibili direttamente nella VM: creano ed eliminano la chiave correttamente

Ho creato il file setup.py come segue:

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    print('AntiPopup.exe: Execute...')
    run(r'AntiPopup.exe')

def uninstall():
    print('RemoveAntiPopup.exe: Execute...')
    run(r'RemoveAntiPopup.exe')
E qui si verifica lo stesso problema di prima: il pacchetto funziona correttamente senza errori, ma il file .exe non si applica, come se non fosse in esecuzione

Puoi aiutarmi per favore? Ho parecchi piccoli pacchetti come questo da creare.

Grazie in anticipo

### Informazioni richieste###
Server che esegue Debian 9
Macchina di amministrazione Windows 10 Pro (1909)
Versione del server WAPT: 1.8.1
Versione dell'agente WAPT: 1.8.1.6740
Versione di installazione WAPT: 1.8.1.6740
Versione di distribuzione WAPT: 1.8.1.6740
Stato del database: OK (1.7.6.6)

Re: Creazione di un pacchetto per modificare il registro di Windows

Pubblicato: 20 febbraio 2020 - 13:46
di agauvrit
Ciao,

è più semplice con la funzione giusta: https://www.wapt.fr/fr/doc/wapt-create- ... gistry-key

Alexandre

Re: Creazione di un pacchetto per modificare il registro di Windows

Pubblicato: 20 febbraio 2020 - 14:02
di Meno
Per un principiante che sta imparando Python, questo tipo di semplice file setup.py è adatto?

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *
 
registry_setstring(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Office\\16.0\\Outlook\\Autodiscover",'ExcludeExplicitO365Endpoint','00000001', type=REG_DWORD)

Re: Creazione di un pacchetto per modificare il registro di Windows

Pubblicato: 20 febbraio 2020 - 14:11
di agauvrit
Ho appena ricevuto un rimprovero dal mio collega: è una chiave HKCU, quindi non può essere modificata nel contesto di sistema, ma solo nel contesto utente! (Grazie, Simon)

La risposta corretta è:

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    pass

def uninstall():
    pass
    
def session_setup():
    registry_setstring(HKEY_CURRENT_USER, r"SOFTWARE\Microsoft\Office\16.0\Outlook\Autodiscover",'ExcludeExplicitO365Endpoint',1, type=REG_DWORD)
Per capire come funziona session_setup(): https://www.wapt.fr/fr/doc/wapt-create- ... ambiente

Per prima cosa devi installare il pacchetto > quindi eseguire il comando

Codice: Seleziona tutto

wapt-get session-setup ALL
sulla workstation per eseguire la funzione session_setup

Alessandro

Re: Creazione di un pacchetto per modificare il registro di Windows

Pubblicato: 20 febbraio 2020 - 14:17
di Meno
Grazie mille per le informazioni e mi scuso per aver causato un rimprovero. :?

Va bene per il comando `wapt-get session-setup ALL`; è facile da eseguire tramite GPO.

Quindi, se si trattasse di una chiave HKLM? Come dovrebbe essere il file setup.py?

Re: Creazione di un pacchetto per modificare il registro di Windows

Pubblicato: 20 febbraio 2020 - 17:47
di agauvrit
Per HKLM > contesto di sistema

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = []

def install():
    registry_setstring(HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Office\16.0\Outlook\Autodiscover",'ExcludeExplicitO365Endpoint',1, type=REG_DWORD)
    

Re: Creazione di un pacchetto per modificare il registro di Windows

Pubblicato: 21 febbraio 2020 - 09:17
di Meno
Fantastico!

Grazie mille per tutte queste informazioni.