raven16 10 Geschrieben 10. Mai 2012 Melden Teilen Geschrieben 10. Mai 2012 Hi, ich möchte gerne ein PS-Skript im Hintergrund laufen lassen. Habe es mit Start-Job .\ALSaT.ps1 tbkbval J probiert, aber er kommt nicht auf die Parameter klar, die ich dem Skript beim Start übergeben möchte. Kann mir jemand helfen? :) Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 10. Mai 2012 Melden Teilen Geschrieben 10. Mai 2012 Hast du dir schonmal "get-help start-job" angeschaut? Zitieren Link zu diesem Kommentar
raven16 10 Geschrieben 10. Mai 2012 Autor Melden Teilen Geschrieben 10. Mai 2012 Ich hab mir Start-Job vorher angeguckt, aber ich weiß jetzt noch nicht wie ich mit -ArgumentList zwei Parameter an das Skript übergeben soll Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 10. Mai 2012 Melden Teilen Geschrieben 10. Mai 2012 Start-Job .\ALSaT.ps1 -argumentlist "tbkbval","J" Ganz einfach, als Liste ;) Zitieren Link zu diesem Kommentar
raven16 10 Geschrieben 10. Mai 2012 Autor Melden Teilen Geschrieben 10. Mai 2012 Ne das funktioniert leider noch nicht so ganz, es scheitert noch an den Parametern. Mein PS-Skript, womit ich ALSaT.ps1 aufrufe, sieht so aus: cd C:\ALSaT\ Start-Job -FilePath ".\ALSaT.ps1" -ArgumentList "tbkbval","J" #.\ALSaT.ps1 tbkbval J Die kommentierte letzte Zeile funktioniert soweit, aber das Skript wird durch den Windows Task-Scheduler alle 2 Minuten gestartet und es soll nicht immer ein Fenster geöffnet werden :( Im Skript ALSaT.ps1 lese ich dann die Parameter so ein (vllt. ist da ja noch der Hund begraben?) $global:instanz = $args[0] $global:location = $args[1] + ":\Oracle\admin\" + $instanz + "\arch\" Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 10. Mai 2012 Melden Teilen Geschrieben 10. Mai 2012 Ich nutze immer param() für die Parameter. param($instanz, $location) ... Was passiert, wenn du $global:instanz und $global:location ausgibst oder in eine Datei schreibst? Achtung: Bei start-job liegt die Ausführung nicht im aktuellen Pfad sondern im "Home" Pfad. Evtl. brauchst du ein Set-Location im Script. Zitieren Link zu diesem Kommentar
raven16 10 Geschrieben 10. Mai 2012 Autor Melden Teilen Geschrieben 10. Mai 2012 Aso :) Das hatte ich auch irgendwo gelesen mit Params aber als bis jetzt ging das mit $args[] wunderbar. in $args[0] hat der tbkbval geschrieben und in $args[1] den buchstaben J Habe jetzt eine andere Lösung von nem Arbeitskollegen vorgeschlagen bekommen und jetzt funktionierts, so wie ich es wollte. Zur Info: Habe jetzt den Scheduled-Task nicht auf mein Domainen-Adminaccount laufen, sondern auf einen extra dafür erstellten Maschinenaccount. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.