Uruchom funkcję PowerShell ze skryptu Pythona

Muszę uruchomić funkcję PowerShell ze skryptu Pythona. Zarówno pliki .ps1, jak i .py znajdują się obecnie w tym samym katalogu. Funkcje, które chcę wywołać, znajdują się w skrypcie PowerShell. Większość odpowiedzi, które widziałem, dotyczy uruchamiania całych skryptów PowerShell z Pythona. W tym przypadku próbuję uruchomić indywidualną funkcję w skrypcie PowerShell ze skryptu Pythona.

Oto przykładowy skrypt PowerShell:

# sample PowerShell
Function hello
{
    Write-Host "Hi from the hello function : )"
}

Function bye
{
    Write-Host "Goodbye"
}

Write-Host "PowerShell sample says hello."

i skrypt Pythona:

import argparse
import subprocess as sp

parser = argparse.ArgumentParser(description='Sample call to PowerShell function from Python')
parser.add_argument('--functionToCall', metavar='-f', default='hello', help='Specify function to run')

args = parser.parse_args()

psResult = sp.Popen([r'C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe',
'-ExecutionPolicy',
'Unrestricted',
'. ./samplePowerShell',
args.functionToCall],
stdout = sp.PIPE,
stderr = sp.PIPE)

output, error = psResult.communicate()
rc = psResult.returncode

print "Return code given to Python script is: " + str(rc)
print "\n\nstdout:\n\n" + str(output)
print "\n\nstderr: " + str(error)

W jakiś sposób chcę uruchomić funkcję „hello ()” lub „bye ()”, która znajduje się w próbce PowerShell. Dobrze byłoby również wiedzieć, jak przekazać parametry funkcji. Dzięki!

questionAnswers(1)

yourAnswerToTheQuestion