Seite 1 von 1

[GELÖST] Hinzufügen eines Benutzers zu einer lokalen Gruppe

Veröffentlicht: 9. November 2022 - 12:13 Uhr
von Mathieu
Guten Morgen,
Ich habe Probleme mit einem Befehl zum Hinzufügen des Benutzers zu einer lokalen Gruppe in der Überwachung.

Code: Alle auswählen

2022-11-08 09:44:33,484 CRITICAL Fatal error in audit function: TypeError: 'error' object is not subscriptable:
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 2264, in add_user_to_group
    win32net.NetLocalGroupAddMembers(None, group, 3, [user_group_info])
pywintypes.error: (1378, 'NetLocalGroupAddMembers', 'Le nom de compte spécifié est déjà membre du groupe.')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\waptpackage.py", line 2978, in call_setup_hook
    hookdata = hook_func()
  File "C:\waptdev\futur-Creation_Profil_2.0-60_windows_PREPROD-wapt\setup.py", line 79, in audit
    add_user_to_group(user, "Utilisateurs avec pouvoir")
  File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 2267, in add_user_to_group
    if e[0] != 1378:
TypeError: 'error' object is not subscriptable

Audit aborted due to exception: 'error' object is not subscriptable
Ich erhalte eine Fehlermeldung, wenn der Benutzer bereits in der Gruppe ist; er erfüllt die erste Bedingung nicht, und das System versucht, ihn hinzuzufügen. Daher der Fehler

Hier ist der relevante Skriptausschnitt:

Code: Alle auswählen

user = registry_readstring(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI", "LastLoggedOnUser")

if user in local_group_members("Utilisateurs avec pouvoir"):
        print("Utilisateur déjà dans le groupe Utilisateurs avec pouvoir")
elif user not in local_group_members("Utilisateurs avec pouvoir"):
        print("Utilisateurs pas de le groupe Power Users")
        add_user_to_group(user, "Utilisateurs avec pouvoir")
Danke

Betreff: Hinzufügen eines Benutzers zu einer lokalen Gruppe

Veröffentlicht: 9. November 2022 – 17:46 Uhr
von dcardon
Hallo Mathieu,

Ah ja, das ist ein Fehler, den wir beim Übergang von Python 2 zu Python 3 übersehen haben. Sie können die folgende Funktion zu Ihrem Paket hinzufügen, um Ihre setup.py-Datei mit der unten stehenden Funktionsdefinition zu überschreiben. Der Fehler wird in der nächsten Version behoben sein.

Aufrichtig,

Denis

Code: Alle auswählen

def add_user_to_group(user, group):
    """Add membership to a local group for a user

    """
    user_group_info = dict(
        domainandname=user
    )
    try:
        win32net.NetLocalGroupAddMembers(None, group, 3, [user_group_info])
    except win32net.error as e:
        # pass if already member of the group
        if e.winerror != 1378:
            raise
        else:
            logger.debug('add_user_to_group %s %s : %s' % (user, group, ensure_unicode(e)))

Betreff: Hinzufügen eines Benutzers zu einer lokalen Gruppe

Veröffentlicht: 16. November 2022 - 10:44 Uhr
von dcardon
Ich markiere dieses Problem als gelöst.
Denis