HeizungAuf5 13 Geschrieben 29. Mai 2019 Melden Teilen Geschrieben 29. Mai 2019 Hallo zusammen, ich versuche seit geraumer Zeit ein PowerShell Script in unsere APC PowerChute einzubinden. Nur leider scheint das nicht so wirklich zu funktionieren. Ich möchte, dass die CMD Datei (was anderes kann PowerChute scheinbar nicht ausführen) eine PowerShell Datei - die im gleichen Verzeichnis liegt ausführt, die dann die Aktionen durchführt. In native-batch lässt sich das, was ich möchte nicht umsetzen. Meine CMD-Datei sieht aktuell so aus. Nur eine Zeile: powershell -command .\test.ps1 In der "test.ps1" steht dann der eigentliche Code drin. Wenn ich die CMD-Datei mit einem doppelklick ausführe tut sie auch das was sie soll -> Die CMD-Datei startet die PS1 Datei und die läuft durch. Wenn ich die CMD-Datei nun aber per PoerChute starte, läuft die CMD-Datei auch durch, die ps1-Datei wird aber scheinbar übersprungen. Lustiger weise werden aber die CMD-Commands, die nach dem PS-Aufruf sind noch ausgeführt. Den Dienst habe ich bereits entsprechend angepasst. Jemand eine Idee, wie ich das lauffähig bekommen kann? Grüße und Danke! Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 29. Mai 2019 Melden Teilen Geschrieben 29. Mai 2019 Gibt es in den Powercute Logs Fehlermeldungen? Zitieren Link zu diesem Kommentar
HeizungAuf5 13 Geschrieben 29. Mai 2019 Autor Melden Teilen Geschrieben 29. Mai 2019 vor 3 Minuten schrieb Dukel: Logs Fehlermeldungen? Leider nein. Weder dass er eine Datei durchlaufen hat (was für die reine .CMD Datei ja stimmen würde), noch dass etwas nicht funktioniert hat. Grüße! Zitieren Link zu diesem Kommentar
testperson 1.680 Geschrieben 29. Mai 2019 Melden Teilen Geschrieben 29. Mai 2019 Hi, keine Ahnung ob "-command" auch funktionieren sollte. Ein Script sollte allerdings mit "-File <Pfad zum Script>" gestartet werden. Ansonsten würde ich noch "-NoProfile" nutzen. Testweise kannst du mal "-ExecutionPolicy Bypass" versuchen. Gruß Jan Zitieren Link zu diesem Kommentar
HeizungAuf5 13 Geschrieben 29. Mai 2019 Autor Melden Teilen Geschrieben 29. Mai 2019 vor einer Stunde schrieb testperson: Ansonsten würde ich noch "-NoProfile" nutzen. Testweise kannst du mal "-ExecutionPolicy Bypass" versuchen. Hab jetzt mal den Holzhammer raus geholt. Funktioniert leider weiterhin nicht powershell -ExecutionPolicy Bypass -NoProfile -File "C:\Program Files (x86)\APC\PowerChute Business Edition\agent\cmdfiles\test.ps1" Grüße! Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 29. Mai 2019 Melden Teilen Geschrieben 29. Mai 2019 Ohne Logs was genau schief geht wird es schwirig. Wie sieht die Execution Policy aus? Wie sieht diese in der 64bit Powershell aus? Versuche mal: powershell.exe -ExecutionPolicy Unrestricted -NoProfile -NonInteractive -file "C:\Program Files (x86)\APC\PowerChute Business Edition\agent\cmdfiles\test.ps1" Zitieren Link zu diesem Kommentar
PowerShellAdmin 169 Geschrieben 29. Mai 2019 Melden Teilen Geschrieben 29. Mai 2019 (bearbeitet) Hallo, eine Idee wäre es eine Batch zu starten, aus der eine PS mit entsprechenden Berechtigungen instanziert wird. Hatte bei einer Dell UPS (gibt es zwischenzeitlich nicht mehr) ähnliche Probleme und mir damals über die Hauruckaktion geholfen. Batchdatei startet PowerShell Skript "Anlauf Skript" "Anlauf Skript" startet separate Instanz von PowerShell mit entsprechenden Credentials - die Credentials wurden verschlüsselt übermittelt. Dahinter liefen dann die eigentlichen Skript der mehrere Shutdown Skripte (Threads) parallel angestartet hat. Edit: Die Batch war sehr einfach: echo Shutdown of all VM’s and ESX hosts is launched at >> C:\tools\usv_shutdown\log\alert.txt echo %date% %time% >> C:\tools\usv_shutdown\log\alert.txt C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "& 'C:\tools\usv_shutdown\runasAdministrator.ps1'" -PSConsoleFile "C:\tools\usv_shutdown\vim.psc1" bearbeitet 29. Mai 2019 von PowerShellAdmin Zitieren Link zu diesem Kommentar
testperson 1.680 Geschrieben 29. Mai 2019 Melden Teilen Geschrieben 29. Mai 2019 Wenn nirgendwo geloggt wird, musst du wohl was Logging einbauen. Evtl. mal ganz "stumpf" vor der PowerShell Zeile ein "pause" und danach auch. Um zu prüfen, ob das Skript gestartet wird oder auch nicht, kannst du im PowerShell Script auch einmal ein "pause" einbauen. Zitieren Link zu diesem Kommentar
Squire 262 Geschrieben 29. Mai 2019 Melden Teilen Geschrieben 29. Mai 2019 hat die USV eine Managementkarte? Wenn ja würde ich Powercute network Shutdown verwenden und nicht mit nem Script arbeiten Zitieren Link zu diesem Kommentar
HeizungAuf5 13 Geschrieben 29. Mai 2019 Autor Melden Teilen Geschrieben 29. Mai 2019 Hallo zusammen vor 45 Minuten schrieb Dukel: Ohne Logs was genau schief geht wird es schwirig. Leider bekomme ich von der APC ebenfalls keine Logs. Die Datei wird ja aber gestartet. vor 45 Minuten schrieb Dukel: Versuche mal: powershell.exe -ExecutionPolicy Unrestricted -NoProfile -NonInteractive -file "C:\Program Files (x86)\APC\PowerChute Business Edition\agent\cmdfiles\test.ps1" Leider auch nicht. Genau das gleiche. vor 43 Minuten schrieb testperson: Wenn nirgendwo geloggt wird, musst du wohl was Logging einbauen So habe ich herausgefunden, dass die CMD-Datei durchläuft. Zwar nicht mit PAUSE, sondern mit Message-Boxen. Einne in der ersten Zeile der CMD Datei, eine in der ps1-Datei und eine dritte in der letzten Zeile der CMD-Datei. Wenn ich die CMD Datei händisch starte, bekomme ich alle 3 Boxen angezeigt, wenn APC die startet nur die erste und die letzte. vor 8 Minuten schrieb Squire: hat die USV eine Managementkarte? Leider nein, ist eine Smart 1000. Grüße! Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 29. Mai 2019 Melden Teilen Geschrieben 29. Mai 2019 2 minutes ago, HeizungAuf5 said: Leider nein, ist eine Smart 1000. Wieso kauft man einen USV ohne Managementkarte? Zitieren Link zu diesem Kommentar
HeizungAuf5 13 Geschrieben 29. Mai 2019 Autor Melden Teilen Geschrieben 29. Mai 2019 vor 3 Minuten schrieb Dukel: Wieso kauft man einen USV ohne Managementkarte? Ich sag mal so: An dem Techniker (mir) hätts nicht gelegen. Wobei ich auch ehrlich gesagt bei einem einzelnen angebundenen Gerät (hier, ein Server) keine netzbasierte USV bevorzuge, sondern eine mit einer direkten Verbindung. Eine Netzwerkinfrastruktur kann ausfallen, eine direkte USB Verbindung eher weniger. Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 29. Mai 2019 Melden Teilen Geschrieben 29. Mai 2019 Was soll denn das Script machen? Zitieren Link zu diesem Kommentar
PowerShellAdmin 169 Geschrieben 29. Mai 2019 Melden Teilen Geschrieben 29. Mai 2019 (bearbeitet) Was interessieren mich deine Fehler von gestern. Zur Frage - Schau dir mal meinen Vorschlag an... Das müsste eigentlich so noch laufen. Die Umsetzung ist nicht so kompliziert :) bearbeitet 29. Mai 2019 von PowerShellAdmin Zitieren Link zu diesem Kommentar
HeizungAuf5 13 Geschrieben 29. Mai 2019 Autor Melden Teilen Geschrieben 29. Mai 2019 vor 1 Minute schrieb Dukel: Was soll denn das Script machen - Email schreiben - einen Switch runterfahren (da haben wir uns vom Hersteller ein Script basteln lassen, dass das kann) - zum Schluss den Server runterfahren (werde mit der APC-Eigenen Shutdown-Automatik nicht ganz warm) vor 2 Minuten schrieb PowerShellAdmin: Schau dir mal meinen Vorschlag an... Das müsste eigentlich so noch laufen Jup, da bin ich gerade dabei, mir so etwas zu basteln. Nur irgendwie scheinen die WWW-Lösungen nicht so richtig zu wollen. Kannst Du eine gute Anleitung, bzw einen "Vorlagen"-Code empfehlen, der das ordentlich kann? Grüße! 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.