curtys
Goto Top

Powershell Scriptausführung nicht möglich

Hallo,

mir ist folgendes Problem aufgefallen, und hoffe jemand weis Rat.


Ich habe einige Powershell-Scripte in Benutzung. Seit einiger Zeit kann ich diese nicht mehr einfach per Doppelklick ausführen, sondern muss sie über eine 2.te Powershell-Konsole aufrufen. Also wenn ich aus der Powershell das Script starte, geht es. Nur direkt ausführen geht nicht.
Die Fehlermeldung kann ich nicht lesen, auch wenn ich im Script Read-Host oder ähnliches setzte, verschwindet die Konsole sofort wieder.

Die Execution Policy hab ich schon überprüft, die ist auf unrestricted gesetzt.

Als Admin ausführen bringt auch nichts.

Die nötigen Berechtigungen(NTFS/Freigabe) hab ich auch.

Es wird die richtige Powershell-Version(x86) ausgeführt, da ich nicht die Möglichkeit habe, eine x32 Version auszuführen.


Vielleicht kann mir ja jemand helfen.

Danke schonmal im Vorraus.

Content-ID: 228820

Url: https://administrator.de/forum/powershell-scriptausfuehrung-nicht-moeglich-228820.html

Ausgedruckt am: 24.12.2024 um 13:12 Uhr

colinardo
colinardo 05.02.2014 aktualisiert um 16:54:58 Uhr
Goto Top
Hallo Curtys,
standardmäßig werden PS-Scripte ja nicht durch einen Doppelklick gestartet (sondern nur über Rechtsklick > Mit Powershell ausführen) , d.h. du hast vermutlich schon mal an der Erweiterung geschraubt. Überprüfe die *.ps1 Dateierweiterung in der Registrierung.

Dies sind die Original-Einstellungen für die *.ps1 Erweiterung eines Windows 7 x64:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.ps1]
@="Microsoft.PowerShellScript.1"

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1]
"EditFlags"=dword:00020000
"FriendlyTypeName"=hex(2):40,00,22,00,25,00,73,00,79,00,73,00,74,00,65,00,6d,\
  00,72,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,\
  33,00,32,00,5c,00,77,00,69,00,6e,00,64,00,6f,00,77,00,73,00,70,00,6f,00,77,\
  00,65,00,72,00,73,00,68,00,65,00,6c,00,6c,00,5c,00,76,00,31,00,2e,00,30,00,\
  5c,00,70,00,6f,00,77,00,65,00,72,00,73,00,68,00,65,00,6c,00,6c,00,2e,00,65,\
  00,78,00,65,00,22,00,2c,00,20,00,2d,00,31,00,30,00,33,00,00,00

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\DefaultIcon]
@="\"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell_ise.exe\",1"

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell]
@="Open"

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\0]
"MUIVerb"=hex(2):40,00,22,00,25,00,73,00,79,00,73,00,74,00,65,00,6d,00,72,00,\
  6f,00,6f,00,74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,\
  00,5c,00,77,00,69,00,6e,00,64,00,6f,00,77,00,73,00,70,00,6f,00,77,00,65,00,\
  72,00,73,00,68,00,65,00,6c,00,6c,00,5c,00,76,00,31,00,2e,00,30,00,5c,00,70,\
  00,6f,00,77,00,65,00,72,00,73,00,68,00,65,00,6c,00,6c,00,2e,00,65,00,78,00,\
  65,00,22,00,2c,00,2d,00,31,00,30,00,38,00,00,00

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\0\Command]
@="\"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" \"-file\" \"%1\""

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Edit]

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Edit\Command]
@="\"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell_ise.exe\" \"%1\""

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Open]

[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\Open\Command]
@="\"C:\\Windows\\System32\\notepad.exe\" \"%1\""

Es wird die richtige Powershell-Version(x86) ausgeführt, da ich nicht die Möglichkeit habe, eine x32 Version auszuführen.
wo ist da der Unterschied? x86 / x32


Grüße Uwe
Curtys
Curtys 06.02.2014 um 09:16:57 Uhr
Goto Top
Hallo Colinardo,

danke für die Reg-Keys, die haben aber alle gepasst.


Das Problem lag einfach daran, das ich im Scriptnamen ein Leerzeichen eingefügt habe. Also Leerzeichen wieder raus und das Script läuft wieder.


> Es wird die richtige Powershell-Version(x86) ausgeführt, da ich nicht die Möglichkeit habe, eine x32 Version
auszuführen.
wo ist da der Unterschied? x86 / x32

der Unterschied liegt daran, das man in der x32 und in der x86 Version verschiedene Execution Policy´s setzen kann. (noch nicht ausprobiert, aber hier im Forum gibt's nen Beitrag dazu)


Grüße

Curtys
colinardo
colinardo 06.02.2014 aktualisiert um 09:27:36 Uhr
Goto Top
Zitat von @Curtys:
der Unterschied liegt daran, das man in der x32 und in der x86 Version verschiedene Execution Policy´s setzen kann. (noch nicht ausprobiert, aber hier im Forum gibt's nen Beitrag dazu)
klar das weiss ich aber du meintest wohl x86 / x64 ...
Curtys
Curtys 06.02.2014 um 16:19:05 Uhr
Goto Top
was schreib ich denn für n zeug....

naja jeder weis hoffentlich was gemeint ist mit x32 / x86 face-smile