Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo,

ich versuche einen String in Powershell zusammen zu bauen, in dem ein Command-Line Pfad enthalten ist, d.h.

ein Pfad zu einer Exe (die unter Program Files liegt) und die Exe muss noch mehrere Argumente erhalten. Den Pfad erstelle ich mit Join-Path und dann mache ich eine Stringverknüpfung, leider habe ich Probleme, wenn der Pfad Leerzeichen enthält z.B. sieht mein Commando dann so aus: C:\Program Files\Program\run.exe -abcd -config"

Wie kann ich einen korrekten Pfad zu dem Programm erzeugen und dahinter die Argumente korrekt angeben und das ganze in einem String speichern, der dann das Kommando richtig maskiert enthält.

Danke

fpx

Geschrieben

Ich bekomme leider keine lauffähige Version hin. Ich habe folgenden Code


$mycmd = call-some-function

call-some-other-function $mycmd

Ich muss jetzt in $mycmd den String richtig escapen einfach ein $mycmd = &$mycmd hat nicht funktioniert.

Geschrieben
wenn du dein command als parameter übergibst, musst du es klammern, damit der ausdruck zuerst ausgeführt wird.

Ich hatte versucht


$mycmd = call-some-function

$mycmd = &mycmd

call-some-other-function $mycmd

leider ohne Erfolg

Geschrieben (bearbeitet)

Ich versuche aktuell ein Invoke-Command durchzuführen. Der String enthält folgendes:


C:\Users\devJenkins\nssm.exe install devJenkins C:\Program Files\Java\jre7\bin\java.exe

Der String sieht wie folgt aus:

"$nssm install devJenkins $java"

$nssm wird vorher definiert und $java wird aus der installLocation Eigenschaft des Installationseintrages ermittelt. Wenn ich es mit & versuche auszuführen, dann erhalte ich die Meldung:

& : Die Benennung "C:\Users\devJenkins\nssm.exe install devJenkins C:\Program Files\Java\jre7\bin\java.exe"

wurde nicht als Name eines Cmdlet, einer Funktion, einer Skriptdatei oder eines ausführbaren Programms erkannt.

Überprüfen Sie die Schreibweise des Namens, oder ob der Pfad korrekt ist (sofern enthalten), und wiederholen Sie den

Vorgang.

Diese Meldung erscheint auch, wenn ich Singlequotes nehme Mach ich das Commando mittels invode:

Invoke-Command : Der Parametersatz kann mit den angegebenen benannten Parametern nicht aufgelöst werden.

Letzter Fehler ist klar, weil das Leerzeichen bei der Java-Pfadangabe als Seperator für die Parameter dient.

Bearbeitet von flashpixx

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...