Bonjour à tous,
Dans le cadre de mon travail, je dois créer un script qui effectue une copie de fichiers d'un point A vers un point B. Ensuite, une analyse antivirale doit être fait.
Le process est lancé à partir d'une session utilisateur 'non admin'. Je dois donc préciser dans mon script le comte admin
Bien évidemment la copie des fichiers ne pose pas de problème.Là où je bloque c'est l'exécution de l'antivirus pour l'analyse. Je précise que je suis sous Windows 10 64bits.
Pour cela j'utilise subprocess
Dans ce cas ci j'obtiens une erreur précisant que l'utilisateur n'a pas de droit suffisamment élevé (alors que le 'user' est Admin).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 import subprocess as sp prog = sp.Popen(['runas', '/noprofile', '/user:admin', 'C:\\Program Files (x86)\\Sophos\\Sophos Anti-Virus\\sav32cli.exe\' =D:\\MonRep, stdin=sp.PIPE) prog.stdin.write('password')
J'ai regardé un peu sur le net et j'ai essayé de lancé ma commande dans powershell.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 import subprocess as sp prog = sp.Popen(['runas', '/noprofile', '/user:admin', "powershell.exe -command Start-Process -FilePath 'C:\\Program Files (x86)\\Sophos\\Sophos Anti-Virus\\sav32cli.exe' -ArgumentList '-f -all -ss -p=D:\\MonRep\\sophos.log D:\\MonRep\\'"], stdin=sp.PIPE) prog.stdin.write(b'password')
Dans ce cas si, je n'ai pas d'erreur disant que mon compte n'ai pas assez élevé mais que l'utilisateur ou le mot de passe est incorrect.
J'ai tourné la commande dans tous les sens et je n'arrive pas à trouvé la solution.
Est-ce que vous auriez un idée pour m'aider à résoudre ce problème.
D'avance merci.
Bon WE à tou
Partager