L'invocation d'un script PowerShell à partir de Python

Je suis en train de commencer un script PowerShell à partir de python comme ceci:

psxmlgen = subprocess.Popen([r'C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe',
                             './buildxml.ps1',
                             arg1, arg2, arg3], cwd=os.getcwd())
result = psxmlgen.wait()

Le problème est que j'obtiens l'erreur suivante:

Fichier
C:\Users\sztomi\workspace\monprojet\buildxml.ps1
ne peut pas être chargé en raison de l'exécution de scripts est désactivée sur ce
système. Veuillez consulter la rubrique "get-help about_signing" pour plus de détails.

MALGRÉ le fait que je n'ai activer l'exécution de scripts en Powershell, il y a longtemps en tapant Set-ExecutionPolicy Unrestriced à un administrateur-ran PS terminal (et l'a fait de nouveau, juste pour s'assurer). Le powershell exécutable est le même que le raccourci dans le menu démarrer de points. Get-ExecutionPolicy correctement les rapports Unrestricted peu importe si j'ai couru PowerShell en tant qu'admin ou pas.

Comment puis-je exécuter un PS script correctement à partir de Python?

OriginalL'auteur Tamás Szelei | 2011-08-01