PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PowerShell: Skript Aufruf aus Konsole will nicht.


neustadt
2012-01-18, 02:36:50
In der Powershell selbst wird das Skript einwandfrei ausgeführt.
Wenn ich es jedoch über die normale Konsole mit powershell.exe -File <Filename> starte bekomme ich folgende Fehlermedung:

http://www.abload.de/img/unbenannte9jih.png

Kann mir einer das erklären?

Es geht um folgendes Skript: http://poshcode.org/2603

Gast
2012-01-19, 16:50:30
Bin kein Powershell-Profi, rate aber mal ins Blaue:
Fehlt eventuell ein Scriptlet?
In einer aufgerufenen Powershell-Umgebung ist oft mehr geladen als bei einem einfachen Kommandozeilenaufruf.

neustadt
2012-01-19, 20:59:13
kannst du da genauer drauf eingehen. ich habe nämlich genau 0 powershell erfahrung.
vllt noch etwas zum hintergrund. es geht mir darum, meinen desktophintergrund zu bestimmten uhrzeiten zu ändern. so wie ich das sehe kann man powershell skripts automatisch nur über eine batch datei starten. falls jemand einen weiteren tipp zu hat, immer her damit.

Gast
2012-01-19, 22:15:54
Ja, wie gesagt, der Profi bin ich auch nicht, hatte nur mal kurz was damit zu tun.

Kennst du dich mit programmieren allgemein aus? Scriptlets sind sozusagen Bibliotheken, die man laden kann und dann Zusatzfunktionalität bieten, also vergleichbar mit includes in C oder imports in Java.
Den Verdacht habe ich, weil Powershell ja implizite Typkonvertierungen macht und da - laut der Fehlermeldung - etwas nicht klappt. Daher die Idee, dass ihm vll ein Scriptlet fehlt, das den Datentyp bereitstellt oder so.

Übrigens: Ich kenne Powershell-Aufrufe so, vll spielt das auch eine Rolle?
powershell.exe "& 'Set-Wallpaper.ps1'" online.png


Da Powershell ein Windows-Tool ist, vermute ich, dass du durch verknüpfen der Dateiendung auch ohne Batch auskommst - aber was genau stört dich an der Batch?

neustadt
2012-01-19, 23:11:04
Ja, wie gesagt, der Profi bin ich auch nicht, hatte nur mal kurz was damit zu tun.

Kennst du dich mit programmieren allgemein aus? Scriptlets sind sozusagen Bibliotheken, die man laden kann und dann Zusatzfunktionalität bieten, also vergleichbar mit includes in C oder imports in Java.
Den Verdacht habe ich, weil Powershell ja implizite Typkonvertierungen macht und da - laut der Fehlermeldung - etwas nicht klappt. Daher die Idee, dass ihm vll ein Scriptlet fehlt, das den Datentyp bereitstellt oder so.
verstehe, werde versuchen in die richtung zu recherchieren.

Übrigens: Ich kenne Powershell-Aufrufe so, vll spielt das auch eine Rolle?
powershell.exe "& 'Set-Wallpaper.ps1'" online.png
skriptaufruf funktioniert, aber bekomme die selbe fehlermeldung.

Da Powershell ein Windows-Tool ist, vermute ich, dass du durch verknüpfen der Dateiendung auch ohne Batch auskommst - aber was genau stört dich an der Batch?
Ich habe keinen anderen Weg gefunden das Skript bei Windowsstart oder den Taskmanager auszuführen, als es indirekt per batch oder per powershell.exe aufzurufen.

neustadt
2012-01-20, 13:35:30
ok ich habs hinbekommen, allerdings nicht verstanden. scheint mit sehr PS spezifisch:
http://stackoverflow.com/questions/6147731/powershell-script-fails-first-time-but-works-second-time