Ich erstelle also eine Anwendung, die Drucker mit einer Python-GUI verbinden kann, auf der PowerShell-Skripte im Hintergrund ausgeführt werden. Ich habe mich gefragt, ob es eine Möglichkeit gibt, eine von einem Python-Widget eingegebene Variable an ein PowerShell-Skript zu übergeben, das von Python aufgerufen wird. Diese Variable wäre der Name des Druckers, den ich in Python angeben könnte, so dass ich für jeden Drucker keine separaten Skripte erstellen muss.Übergabe von Variablen aus der Python-GUI an PowerShell
in Python Meinen Code, der auf dem PS-Skript ruft:
def connect():
if self.printerOpts.get() == 'Chosen Printer':
subprocess.call(["C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe",'-ExecutionPolicy','Unrestricted', '.\'./ScriptName\';'])
PS-Skript, den Drucker Computer verbindet:
Add-Printer -ConnectionName \\server\printer -AsJob
Im Grunde frage ich mich, wenn ich eine Variable von Python passieren kann in den "printer" -Teil meines PS-Skripts, damit ich für jeden Drucker, den ich hinzufügen möchte, kein anderes Skript erstellen muss.
Danke gmss0ulman. Ich konnte die Änderungen anwenden, aber PowerShell gibt einen Fehler "Der angegebene Server existiert nicht" und der Drucker fügt nicht mehr hinzu. – JDawg
@JDawg Hmm .. wie sieht die Zeichenfolge aus, die Sie an PowerShell übergeben? Vielleicht sollte es nur '$ printer' anstelle von' \\ server \ $ printer' sein. – gms0ulman
@ gmss0ulman Ich habe dein PS-Skript benutzt und einige andere Änderungen am Python-Skript vorgenommen und es hat funktioniert. Ich habe meine Antwort auf die Frage gepostet, ob Sie neugierig sind. Ich danke dir sehr! – JDawg