Página 1 de 1

Lista de teclas de USUARIO "S-1-5-21..." como hacerlo

Publicado: 12 de diciembre de 2022 - 10:09
por el Servicio de Información
Hola a todos,

estoy intentando obtener las claves de USUARIO "S-1-5-21..." en 'HKEY_USERS' pero no sé cómo hacerlo. ¿

Podrían ayudarme?

Re: Listado de claves de USUARIO "S-1-5-21..." como hacerlo

Publicado: 12 de diciembre de 2022 - 10:17
por el Servicio de Información
El objetivo es gestionar el bloqueo de la sesión del usuario y más

Re: Listado de claves de USUARIO "S-1-5-21..." como hacerlo

Publicado: 12 de diciembre de 2022 - 11:29
por el Servicio de Información
Bueno, ya lo he encontrado todo. Si ves alguna mejora, estoy atento

Código: Seleccionar todo

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

uninstallkey = []

veille="600"

def install():

    print("creation du tableau utilisateurs")
    cles = run_powershell("reg query HKEY_USERS")
    print("creation du tableau utilisateur OK")

    print("traitement des lignes")
    for i in cles:
        if len(i) == 57:
            racine = i[0:10]
            user = i[11:57]
            print("user traité "+user)
            if racine == "HKEY_USERS":
                print("modification des clés de registre")
                registry_setstring(HKEY_USERS, r''+user+'\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaveActive", "1", type=REG_SZ)
                registry_setstring(HKEY_USERS, r''+user+'\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaverIsSecure", "1", type=REG_SZ)
                registry_setstring(HKEY_USERS, r''+user+'\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaveTimeOut", veille, type=REG_SZ)
                registry_setstring(HKEY_USERS, r''+user+'\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "SCRNSAVE.EXE", "C:\WINDOWS\system32\scrnsave.scr", type=REG_SZ)

    registry_setstring(HKEY_USERS, r'.DEFAULT\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaveActive", "1", type=REG_SZ)
    registry_setstring(HKEY_USERS, r'.DEFAULT\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaverIsSecure", "1", type=REG_SZ)
    registry_setstring(HKEY_USERS, r'.DEFAULT\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaveTimeOut", veille, type=REG_SZ)
    registry_setstring(HKEY_USERS, r'.DEFAULT\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "SCRNSAVE.EXE", "C:\WINDOWS\system32\scrnsave.scr", type=REG_SZ)

Re: Listado de claves de USUARIO "S-1-5-21..." como hacerlo

Publicado: 12 de diciembre de 2022 - 14:39
por el Servicio de Información
Corrección realizada en la búsqueda de usuarios

Código: Seleccionar todo

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

uninstallkey = []

veille="600"



def install():

    print("creation du tableau utilisateurs")
    cles = run_powershell("reg query HKEY_USERS")
    print(cles)
    print("creation du tableau utilisateur OK")

    print("traitement des lignes")
    for i in cles:

        i2 = i.split("\\")
        print("tableau split")
        print(i2)

        print("-----verification des variables")
        racine=i2[0]

        if racine != '':
            if "_Classes" not in i:
                user=i2[1]
                print(racine)
                print(user)

                if len(user) > 10:
                    print("user traité "+user)

                    if racine == "HKEY_USERS":
                        print("modification des clés de registre")
                        registry_setstring(HKEY_USERS, r''+user+'\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaveActive", "1", type=REG_SZ)
                        registry_setstring(HKEY_USERS, r''+user+'\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaverIsSecure", "1", type=REG_SZ)
                        registry_setstring(HKEY_USERS, r''+user+'\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaveTimeOut", veille, type=REG_SZ)
                        registry_setstring(HKEY_USERS, r''+user+'\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "SCRNSAVE.EXE", "C:\WINDOWS\system32\scrnsave.scr", type=REG_SZ)
                        print(r"Fin du traitement de l'utilisateur "+user)

    print("Fin des modifications utilisateurs")

    print("Modification des valeurs default user")
    registry_setstring(HKEY_USERS, r'.DEFAULT\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaveActive", "1", type=REG_SZ)
    registry_setstring(HKEY_USERS, r'.DEFAULT\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaverIsSecure", "1", type=REG_SZ)
    registry_setstring(HKEY_USERS, r'.DEFAULT\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaveTimeOut", veille, type=REG_SZ)
    registry_setstring(HKEY_USERS, r'.DEFAULT\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "SCRNSAVE.EXE", "C:\WINDOWS\system32\scrnsave.scr", type=REG_SZ)
    print("Fin des modification des valeurs default user")

def audit():

    auditverif="OK"
    msgerror=[]

    #Vérification des différentes clés
    print("creation du tableau utilisateurs")
    cles = run_powershell("reg query HKEY_USERS")
    print("creation du tableau utilisateur OK")

    print("traitement des lignes")
    for i in cles:

        i2 = i.split("\\")
        print("tableau split")
        print(i2)

        print("-----verification des variables")
        racine=i2[0]

        if racine != '':
            if "_Classes" not in i:
                user=i2[1]
                print(racine)
                print(user)

                if len(user) > 10:
                    print("user traité "+user)

                    if racine == "HKEY_USERS":
                        print("modification des clés de registre")
                        if(registry_readstring(HKEY_USERS, r''+user+'\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaveActive"))!="1":auditverif="ERROR" and msgerror.append(user+" ScreenSaveActive")
                        if(registry_readstring(HKEY_USERS, r''+user+'\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaverIsSecure"))!="1":auditverif="ERROR" and msgerror.append(user+" ScreenSaverIsSecure")
                        if(registry_readstring(HKEY_USERS, r''+user+'\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaveTimeOut"))!=veille:auditverif="ERROR" and msgerror.append(user+" ScreenSaveTimeOut")
                        if(registry_readstring(HKEY_USERS, r''+user+'\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "SCRNSAVE.EXE"))!="C:\WINDOWS\system32\scrnsave.scr":auditverif="ERROR" and msgerror.append(user+" SCRNSAVE.EXE")

    if(registry_readstring(HKEY_USERS, r'.DEFAULT\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaveActive"))!="1":auditverif="ERROR" and msgerror.append(user+" ScreenSaveActive")
    if(registry_readstring(HKEY_USERS, r'.DEFAULT\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaverIsSecure"))!="1":auditverif="ERROR" and msgerror.append(user+" ScreenSaverIsSecure")
    if(registry_readstring(HKEY_USERS, r'.DEFAULT\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "ScreenSaveTimeOut"))!=veille:auditverif="ERROR" and msgerror.append(user+" ScreenSaveTimeOut")
    if(registry_readstring(HKEY_USERS, r'.DEFAULT\SOFTWARE\Policies\Microsoft\Windows\Control Panel\Desktop', "SCRNSAVE.EXE"))!="C:\WINDOWS\system32\scrnsave.scr":auditverif="ERROR" and msgerror.append(user+" SCRNSAVE.EXE")

    print(auditverif)
    print(msgerror)

    print("renvoi du résultat d'audit")
    if auditverif=="OK":return "OK"
    if auditverif=="ERROR":return "ERROR"

Re: Listado de claves de USUARIO "S-1-5-21..." como hacerlo

Publicado: 13 de diciembre de 2022 - 11:14
por t.heroult
En un momento, quise usar un script de este tipo para modificar configuraciones individuales del asistente de almacenamiento de Windows.
Se veía así:

Código: Seleccionar todo

    HKUSERS =winreg.OpenKey( winreg.HKEY_USERS, '',0, winreg.KEY_READ)
    subKeys = winreg.QueryInfoKey(HKUSERS)
    nbSubkeys = subKeys[0]
    i = 0
    while i < nbSubkeys:
        #Modifications appliquées à tous les utilisateurs
        subKey = winreg.EnumKey(HKUSERS,i)
        if (subKey != ".DEFAULT"):
            #Reglage OneDrive
            key = winreg.CreateKey( winreg.HKEY_USERS, subKey + '\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\StorageSense\\Parameters\\StoragePolicy')
            winreg.SetValueEx(key, '01', 0, winreg.REG_DWORD, 1)
            winreg.SetValueEx(key, '04', 0, winreg.REG_DWORD, 1)
            winreg.SetValueEx(key, '256', 0, winreg.REG_DWORD, 30)
            winreg.SetValueEx(key, '512', 0, winreg.REG_DWORD, 60)
            winreg.SetValueEx(key, '2048', 0, winreg.REG_DWORD, 1)
            winreg.CloseKey(key)
        i += 1 

Re: Listado de claves de USUARIO "S-1-5-21..." como hacerlo

Publicado: 13 de diciembre de 2022 - 12:03 p. m.
por el Servicio de Información
Gracias por los comentarios.

Si no lo haces de esa manera, ¿qué método utilizas?

Re: Listado de claves de USUARIO "S-1-5-21..." como hacerlo

Publicado: 13 de diciembre de 2022 - 12:41
por t.heroult
Opté por usar la configuración de sesión. De esta forma, cuando un usuario inicia sesión después de instalar el paquete, la configuración se aplica instantáneamente a su perfil.

Además, esto también se aplicará a los usuarios futuros.