Pagina 1 di 1

Valore di registro DWORD: proibisce un eseguibile

Pubblicato: 6 febbraio 2017 - 10:34
di gaelds
Buongiorno,
Ho problemi ad aggiungere un valore DWORD al registro; quando eseguo session-setup ricevo il seguente messaggio:

CRITICAL ValueError: Impossibile convertire i dati nel tipo specificato.


Lo stesso vale per i valori 1 o 0x00000001.

Codice: Seleziona tutto

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

uninstallkey = []

def GetUserName():
    return os.getenv('USERNAME')

def install():
    print('Installation de DisallowRun')

def session_setup():
    utilisateur = GetUserName()
    if(utilisateur == "eleve"):
        registry_set(HKEY_CURRENT_USER,r'Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/','DisallowRun','0x00000001',type=REG_DWORD)
        registry_set(HKEY_CURRENT_USER,r'Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/DisallowRun','1','shutdown.exe',type=REG_SZ)


Re: Registro DWORD

Pubblicato: 6 febbraio 2017 - 10:46
di htouvet

Codice: Seleziona tutto

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

uninstallkey = []

def install():
    print('Installation de DisallowRun')

def session_setup():
    if (get_current_user() == "eleve"):
        registry_set(HKEY_CURRENT_USER,r'Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/','DisallowRun',1,type=REG_DWORD)
        registry_set(HKEY_CURRENT_USER,r'Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/DisallowRun','1','shutdown.exe',type=REG_SZ)

Re: Registro DWORD

Pubblicato: 6 febbraio 2017 - 10:48
di gaelds
Ho appena trovato un'altra sintassi registry_set in un messaggio sulla mailing list wapt e a quanto pare funziona:

Codice: Seleziona tutto

registry_set(HKEY_CURRENT_USER,r'Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/', r'DisallowRun', 1, REG_DWORD)
Anche se il programma shutdown.exe non è ancora bloccato per l'utente studente, c'è un altro problema...

Re: Divieto di un eseguibile

Pubblicato: 6 febbraio 2017 - 11:21
di gaelds
Ah, scusa, i nostri messaggi precedenti devono essersi incrociati, altrimenti ho provato un altro metodo con iCalcs per bloccare l'accesso a shudown.exe.

Codice: Seleziona tutto

def session_setup():
    if (get_current_user() == "eleve"):
        print('interdiction de shutdown.exe pour eleve')
        run(r'takeown /F %windir%\system32\shutdown.exe')
        run(r'icacls %windir%\system32\shutdown.exe /deny eleve:D')
Le righe di comando funzionano in modalità manuale, ma in modalità session-setup non hanno alcun effetto e non producono alcun messaggio di errore.