Page 1 sur 1

Paquet qui check si un répertoire est présent dans le profil de l'utilisateur

Posté : 16 févr. 2021 - 09:41
par Cantrel
Bonjour,

Nous avons à vérifier si un répertoire est présent sur le bureau de poste qui sont utilisés avec un compte AD générique.
Le répertoire doit se trouver sur le bureau de ce compte.

Nous aimerions déployer un paquet sur les postes concernés qui nous remonte dans leur audit un résultat quelconque (repertoire présent ou non par exemple)

Nous avons pour cela dans le paquet ecrit le code dans la section def audit.

Nous cherchons à récupérer le nom de l'utilisateur actuellement connecté sur la machine pour contruire le path de recherche (c:\users\'username'\desktop\...)

Hors nous avons essayé plusieurs méthode mais soit cela nous retourne le nom du poste soit une information erronée :
os.environ['USERPROFILE'] donne C:\WINDOWS\system32\config\systemprofile
win32api.GetUserName() donne SystÞme
os.getenv('username') donne le nom du poste (par ex mon-poste$)
getpass.getuser() donne le nom du poste (par ex mon-poste$)

Savez-vous pourquoi ? On bute depuis un moment.

Merci,

Re: Paquet qui check si un répertoire est présent dans le profil de l'utilisateur

Posté : 16 févr. 2021 - 12:35
par Cantrel
A priori, cela vient du fait que wapt utilise le compte system pour faire ses actions.

Il faut que l'on utilise donc la partie session_setup pour agir sur la session utilisateur, hors a priori, on ne retrouve pas de logs des actions faites dans la partie session_setup. Pouvez-vous me le confirmer ?

Re: Paquet qui check si un répertoire est présent dans le profil de l'utilisateur

Posté : 16 févr. 2021 - 13:56
par sfonteneau
Vu ce que vous souhaitez faire, pas besoin de faire un session_setup:

utiliser l'audit :

Code : Tout sélectionner

list_error = []
for p in get_local_profiles():
    print('Test for %s' % p['user'])
    if not isdir(makepath(p['profile_path'],'Desktop','foldertest')) :
        list_error.append( 'Error for %s folder not found' % p['user'] )

if list_error:
    print(list_error)     
    return "ERROR"
else:
    return "OK"