Das Ausführen von Powershell über die ConEmu-Eingabeaufforderung bewirkt nichts

Das Ausführen von Powershell über die ConEmu-Eingabeaufforderung bewirkt nichts

Wenn ich in Win 10 über die <Win-Taste> eine normale Eingabeaufforderung öffne cmdund in die Eingabeaufforderung eingebe powershell, erhalte ich eine PowerShell-Eingabeaufforderung.

Wenn ich aber eine Windows-Eingabeaufforderung in ConEmu (v.18.06.26 [32] von PortableApps) bekomme,BEARBEITEN: Aktualisiert auf v21.04.22 (Vorschau)) und ich gebe ein powershell, passiert nichts.

Also habe ich in ConEmu versucht,Einrichten von Aufgaben, und richte eine PowerShellAufgabe ein, genau wie ich es mit einer cmdEingabeaufforderung mache (ich habe tatsächlich eine integrierte Aufgabe verwendet). Wenn ich diese Aufgabe dann starte, wird mir eine Registerkarte mit nur der Nachricht angezeigt Press Enter or Esc to exit...(und ich weiß nicht, wer für diese Nachricht verantwortlich ist).

Muss ich etwas Besonderes tun, um in ConEmu eine Powershell-Eingabeaufforderung zu erhalten?

Anmerkungen:

  1. Während des Updates wurde ein Fenster angezeigt, vermutlich nach der Installation, mit einer Fehlermeldung bezüglich 7-zip. Dieses Fenster ist bei mir verloren gegangen, aber ConEmu funktioniert „einwandfrei“.
  2. Die Anwendungssymbole für die neue Version wurden geändert in
    Bildbeschreibung hier eingeben
    aber der PortableApps-Launcher zeigt immer noch das alte Symbol und die alte Version im Tooltip an
    Bildbeschreibung hier eingeben
  3. Ich habe ein weiteres ConEmu in meinem System (das ich bis heute nicht kannte), das mit GitExtensions geliefert wurde. Das ist v20.07.13 und ich sehe hier dasselbe.
    Bildbeschreibung hier eingeben

Antwort1

Ich habe die integrierte zusammengesetzte Aufgabe gestartet Shells::cmd 64/32, die die folgende Definition hat

> "%windir%\system32\cmd.exe" /k ""%ConEmuBaseDir%\CmdInit.cmd" & echo This is Native cmd.exe"

"%windir%\syswow64\cmd.exe" /k ""%ConEmuBaseDir%\CmdInit.cmd" & echo This is 32 bit cmd.exe -new_console:s50V"

Die Unterschiede zwischen ihnen sind (bestätigt durch den späteren Start als separate Shells):

Task    Version*1     "Sensitive"       Warning at
                     to powershell?     launching*2
Top      AMD64      No, as in Fig. 1        No
Bottom    x86         Yes (normal)      As in Fig. 2

*1 Bestätigt durch echo %PROCESSOR_ARCHITECTURE%, dessen Ausgabe in der Tabelle aufgeführt ist.

*2 Beim ersten Starten des Terminals wurde die folgende Warnung angezeigt.

Abb. 1 Bildbeschreibung hier eingeben

Abb. 2 Bildbeschreibung hier eingeben

Dann habe ich überprüft, ob das ein Problem war, das intrinsisch mit Windows C:\Windows\System32\cmd.exevs. zusammenhängt C:\Windows\SysWOW64\cmd.exe. Und das war nicht der Fall, da die direkte Ausführung einer der beiden aus dem <Win-Taste>-Dialog und dann powershellin der Eingabeaufforderung zu „normalem“ Verhalten führte. Ich habe auch überprüft, dass alle Verknüpfungen, die ich über <Win-Taste> startete und die auch zu „normalem“ Verhalten führten, aufgerufen wurden C:\Windows\System32\cmd.exe, die „fehlgeschlagene“ Variante unter ConEmu.

Mein Fazit ist, dass das Problem irgendwie spezifisch für ConEmu ist. Unter ConEmu sind Aufgabendefinitionen

cmd -new_console:C:cmd.exe

oder

"%windir%\system32\cmd.exe" /k ""%ConEmuBaseDir%\CmdInit.cmd" & echo This is Native cmd.exe"

sind die Ursache des Problems.

Wenn ich <Win-Taste> eingebe und dort „Ausführen“ ausführe cmd -new_console:C:cmd.exeund powershellin der Eingabeaufforderung bin, erhalte ich ein „normales“ Verhalten.

Wenn ich entweder %windir%\syswow32\cmd.exeoder %windir%\syswow64\cmd.exeaus dem <Win-Taste>-Dialog ausführe, set pathgibt in diesen Shells

C:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2016.2.180\windows\mpi\intel64\bin;C:\Program Files\Microsoft MPI\Bin\;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\SIMULIA\Abaqus\Commands;C:\Program Files\PuTTY\;C:\ecl\macros\;C:\<myappsdir2>\utils\gtools;C:\<myappsdir2>\miktex\bin\x64

Andererseits set pathgibt jede der beiden ConEmu-Shells den gleichen String wie oben zurück, mit dem vorangestellten

C:\<myappsdir1>\ConEmu\App\ConEmu\ConEmu\Scripts;C:\<myappsdir1>\ConEmu\App\ConEmu;C:\<myappsdir1>\ConEmu\App\ConEmu\ConEmu;

Weitere Nachforschungen könnten hilfreich sein. Ich frage mich, warum niemand dieses Problem gemeldet hat, das anscheinend bei den PowerShell-Tasks unter integrierten Bedingungen auftritt, und anscheinend für die PortableApps-Version und auch für die Version, die mit GitExtensions geliefert wird.

Verwandt:

https://github.com/Maximus5/ConEmu/issues/965

verwandte Informationen