[gelöst] programfiles in Powershell Skript wird verbogen

SimonF
Beiträge: 10
Registriert: 06 Jun 2018, 19:19

[gelöst] programfiles in Powershell Skript wird verbogen

Beitragvon SimonF » 20 Dez 2018, 16:39

Hallo OPSI-Community,

in meinem Installationsskript soll am Ende noch ein Powershell Skript ausgeführt werden. Das Skript wird auch aufgerufen, dummerweise wird dabei der Pfad innerhalb des Powershell Skripts verbogen.

Im Powershell Skript steht:

Code: Alles auswählen

$sourcePath = ${env:programfiles}+"\VideoLAN\VLC"


Ausgabe im ISE (oder auch wenn ich es auf der Zielmaschine ausführe):
C:\Program Files\VideoLAN\VLC

Soweit ist alles OK.

Sobald ich den OPSI Job laufen lasse erhalte ich als Ausgabe des Powershell Skripts:
C:\Program Files (x86)\VideoLAN\VLC

Das ist nicht OK.

Mir ist schon aufgefallen, dass OPSI eine merkwürdige Interpretation von "%programfiles%" hat, denn ich lande damit im "Program Files (x86)" Verzeichnis. Damit kann ich arbeiten. Jetzt wird der Pfad im Powershell Skript verbogen, damit kann ich nicht arbeiten.

Kann ich OPSI verbieten mein Powershell Skript anzufassen?
Muss ich das Powershell Skript anders aufrufen?
Was mache ich falsch?

Ich kann mir absolut nicht vorstellen wo das verbogen wird und warum.
Ich habe schon im Netz gesucht, hier im Forum und in die Handbücher geschaut. Entweder ich habe den entscheidenden Punkt übersehen oder es gibt ihn tatsächlich nicht. Daher bin ich für jeden Hinweis und jede Hilfe dankbar.
Zuletzt geändert von SimonF am 21 Dez 2018, 11:23, insgesamt 1-mal geändert.

bernd670
Beiträge: 90
Registriert: 16 Mär 2018, 10:44

Re: programfiles in Powershell Skript wird verbogen

Beitragvon bernd670 » 20 Dez 2018, 19:21

Hallo,

eventuell mit ExecWith und dem Modifier /64bit oder /SysNative.

Wenn Du mehr Hilfe benötigst, solltest Du uns dein Script zeigen.
MfG
Bernd

holgerv
Beiträge: 278
Registriert: 20 Aug 2012, 09:35

Re: programfiles in Powershell Skript wird verbogen

Beitragvon holgerv » 21 Dez 2018, 10:35

SimonF hat geschrieben:Kann ich OPSI verbieten mein Powershell Skript anzufassen?
Muss ich das Powershell Skript anders aufrufen?
Was mache ich falsch?

Dein Windows hat zwei PowerShell-Interpreter:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
und
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe

Starte mal die powershell.exe unter "SysWOW64" und gib "${env:programfiles}" ein. - Du wirst sehen: opsi hat nichts verbogen, sondern die Windows-eigene Powershell verhält sich anders, als Du es erwartet hast.

Um das zu beheben, kannst Du Dich am Hinweis von Bernd670 orientieren.

Viel Erfolg!

SimonF
Beiträge: 10
Registriert: 06 Jun 2018, 19:19

Re: programfiles in Powershell Skript wird verbogen

Beitragvon SimonF » 21 Dez 2018, 11:05

Hallo Bernd,

vielen Dank für deine rasche Antwort und den Hinweis. Tatsächlich hat es geholfen und sieht nun so aus:

Code: Alles auswählen

ExecWith_CreatShortcutsB "%System%\WindowsPowershell\v1.0\powershell.exe" WINST /SysNative

[ExecWith_CreatShortcutsB]
   ."$TempDir$\$Executable3$"

==> /64Bit funktioniert auch

Warum es mit dem DosBatch nicht klappen will verstehe ich immer noch nicht. Ist mir auch weiterhin ein Rätsel, warum OPSI "%programfiles%" verbiegen muss.
Aber das wird sich sicher alles irgendwann ergeben.

Danke nochmal und schöne Weihnachten.

SimonF
Beiträge: 10
Registriert: 06 Jun 2018, 19:19

Re: programfiles in Powershell Skript wird verbogen

Beitragvon SimonF » 21 Dez 2018, 11:23

holgerv hat geschrieben:Dein Windows hat zwei PowerShell-Interpreter:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
und
C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe

Starte mal die powershell.exe unter "SysWOW64" und gib "${env:programfiles}" ein. - Du wirst sehen: opsi hat nichts verbogen, sondern die Windows-eigene Powershell verhält sich anders, als Du es erwartet hast.


Hallo Holger,

Ok, so langsam ergibt sich ein Bild. Ich bin natürlich davon ausgegangen, dass OPSI nicht explizit die 32-Bit Variante von Powershell/CMD nutzt. Hatte im Handbuch zwar gelesen, dass OPSI eine 32-Bit Anwendung ist, aber das ist an mir vorbei gegangen...

Super, vielen Dank auch dir und schöne Weihnachten.