Anscheinend liegt ein Problem beim Ausführen des Terminals "Als Administrator" vor.
Fehler: Windows kann "C: \ Programme \ WindowsApps \ Microsoft.WindowsTerminal_0.2.1831.0_x64__8wekyb3d8bbwe \ WindowsTerminal.exe" nicht finden. Stellen Sie sicher, dass Sie den Namen richtig eingegeben haben, und versuchen Sie es erneut
@ DHowett-MSFT Ich hätte schwören können, dass wir irgendwo ein doppeltes Problem hatten, aber ich kann es jetzt nicht finden. Erinnerst du dich, was das verursacht?
Ahh Mann, tut mir leid, wenn es ein Duplikat ist.
Es gibt keinen Grund, starten Sie die App in Ordnung, aber klicken Sie erneut und starten Sie, wenn der Administrator fehlschlägt. Die Windows-Benutzerkontensteuerung fordert zweimal zur Eingabe des Administratorkennworts auf. Dann wird der Fehler angezeigt.
Ich habe derzeit auch dieses Problem. Ich habe in der Taskleiste nach einem Terminal gesucht
Dann wurde ich aufgefordert, meine Administratoranmeldeinformationen zweimal einzugeben! Eine Admin-Eingabeaufforderung nach der anderen. Als ich das zweite Mal meine Anmeldeinformationen eingegeben hatte, tauchte diese Fehlermeldung auf:
Ich habe heute gerade das Terminal installiert.
Terminalversion:
Version: 0.2.1831.0
OS Version:
Windows 10 Pro
10.0.18362 Build 18362
Auch als Vorschlag, anstatt das GANZE Terminal als Administrator über die Taskleiste auszuführen, haben Sie vielleicht Alternativen?
Zum Beispiel:
Wenn Sie eine neue Registerkarte öffnen, fragen Sie den Benutzer oder eine Benutzeroberfläche, ob er die neue Instanz als Administrator öffnen möchte.
Oder klicken Sie einfach mit der rechten Maustaste auf das Terminal, um eine Administratorregisterkarte aus genau demselben Verzeichnis zu öffnen. (Das wäre sehr nützlich für Powershell-Core, da es keine nette Funktionalität wie sudo hat.)
Die Unterstützung von Windows-Terminals im Administratormodus ist möglicherweise kein gutes Verhalten. Dies bedeutet, dass alle Shells in anderen Registerkarten, die mit Strg + T geöffnet wurden, möglicherweise Administratorrechte besitzen. Soweit ich weiß, implementiert Windows Terminal keinen Code vom Administrator für den eingeschränkten Benutzer. Was Windows tatsächlich fehlt, ist die Art der Implementierung von Berechtigungen, für die keine Interaktion mit der Benutzeroberfläche erforderlich ist, wie z. B. sudo.
Die Implementierung von sudo kann aber auch umständlich sein. Der Fluss des Runas- Verbs ist ungefähr wie folgt (wenn etwas nicht stimmt, erinnern Sie mich bitte daran):
PROC_THREAD_ATTRIBUTE_PARENT_PROCESS
aufgerufen und verwendet das in Schritt 3 abgerufene Handle.EXTENDED_STARTUPINFO_PRESENT
und den Ergebnissen der Schritte 1 und 4 aufgerufen.Wir können eine einfache Schlussfolgerung ziehen. Tatsächlich ist runas
ein normaler Prozess, der eine RPC-Anforderung an einen Prozess mit hohen Berechtigungen initiiert. Der Prozess mit hohen Berechtigungen (AppInfo-Dienst) erstellt einen Administratorprozess und legt den übergeordneten Prozess als normalen Prozess fest.
AppInfo unterstützt derzeit nicht das Einrichten eines Arbeitsverzeichnisses, der Eingabe und Ausgabe (obwohl CreateProcessAsUser aufgerufen wird), wenn der Administratorprozess gestartet wird. Dies ist ein Problem, das gelöst werden muss, damit die Sudo-Unterstützung in Windows Terminal ausgeführt werden kann. (ShellExecuteEx SEE_MASK_NO_CONSOLE funktioniert nicht)
typedef struct _SHELLEXECUTEINFOW {
DWORD cbSize;
ULONG fMask;
HWND hwnd;
LPCWSTR lpVerb;
LPCWSTR lpFile;
LPCWSTR lpParameters;
LPCWSTR lpDirectory;
int nShow;
HINSTANCE hInstApp;
void *lpIDList;
LPCWSTR lpClass;
HKEY hkeyClass;
DWORD dwHotKey;
union {
HANDLE hIcon;
HANDLE hMonitor;
} DUMMYUNIONNAME;
HANDLE hProcess;
} SHELLEXECUTEINFOW, *LPSHELLEXECUTEINFOW;
| Wert | Bedeutung |
| --- | --- |
| PROC_THREAD_ATTRIBUTE_PARENT_PROCESS | Der Parameter lpValue ist ein Zeiger auf ein Handle auf einen Prozess, der anstelle des aufrufenden Prozesses als übergeordnetes
Zu den vom angegebenen Prozess geerbten Attributen gehören Handles, die Gerätezuordnung, die Prozessoraffinität, die Priorität, die Kontingente, das Prozesstoken und das Jobobjekt. (Beachten Sie, dass einige Attribute wie der Debug-Port aus dem Erstellungsprozess stammen, nicht aus dem von diesem Handle angegebenen Prozess.) |
Dies ist definitiv ein Problem mit der Windows-Plattform. Ich weise es mir selbst zu, mit dem Team, dem es gehört, Kontakt aufzunehmen und dies abzuschließen. Vielen Dank.
Ich mag den Vorschlag von @ YMba9g8j9CJp0wLoQf5y, einen Tab mit eskalierten Berechtigungen zu autorisieren. Ich komme aus ConEmu, wo wir einen Tab mit oder ohne Administratorrechte erstellen können. Beim Erstellen eines Admin-Tabs werde ich (für immer) zur Benutzerkontensteuerung aufgefordert.
Ist dies nicht nur ein normales Verhalten von Windows Store-Anwendungen? Dies sieht aus wie die kürzlich veröffentlichte Vorschau-App.
Aber ich brauche einen Weg, um erhöhte Muscheln laufen zu lassen. Dies scheint heute nicht möglich zu sein (Tabs als Administrator öffnen).
Hey, wir sind uns nicht sicher, ob wir etwas dagegen tun können. Würde es Ihnen etwas ausmachen, Feedback in der Kategorie "Entwicklerplattform> App-Bereitstellung" einzureichen? Dadurch wird es an das richtige Team weitergeleitet und es werden einige sehr nützliche Diagnoseinformationen gesammelt.
Verlinkung: Dies ist auch # 1538
Auch wenn ich der Entscheidung zustimme. Es macht es ziemlich schmerzhaft, chocolatey
ohne dass das explizit im Admin-Modus ausgeführt wird. (
@musm Ich habe dies gerade in meiner PowerShell 6-Konfiguration:
function GoAdmin { start-process pwsh –verb runAs }
(Ersetzen Sie pwsh
durch powershell
wenn Sie die alte Powershell verwenden.)
Wenn ich also Pakete über Chocolatey installieren / aktualisieren muss, gebe ich GoAdmin
(in der von Windows Terminal gehosteten PowerShell) ein, wodurch ich zu einem separaten Admin-Powershell-Fenster komme. Dort kann ich alle schokoladigen Admin-Befehle ausführen. Dann schließe ich einfach das Admin-Fenster und gebe refreshenv
in meine Windows Terminal-Sitzung ein, um alle PATH-Variablen zu aktualisieren. Es ist ziemlich einfach.
Ich würde definitiv gerne einen Weg finden, um wt
(Windows Terminal) zu starten, anstatt direkt zu einem "nackten" Pwsh zu gehen, aber das scheint nicht möglich zu sein. Aber es ist ein kleiner Kritikpunkt. Meh. :-)
Ich erhalte immer noch eine Fehlermeldung, wenn ich WT (0.9.433.0) als Administrator starten möchte:
Passiert auf mehreren Computern mit der neuesten Version von WT und Windows (v10.0.18363.657).
Verstehe nicht ganz, warum dieses Problem geschlossen ist und was die Problemumgehung ist.
Eigentlich hat es nie funktioniert, der letzte Kommentar, den ich bekam, war, es ist ein Windows-Problem und sie werden es mit dem Team besprechen.
Sie werden es mit dem Team erhöhen.
Das glaube ich nicht. Es ist eher wie " Sie sollten es mit dem Team erhöhen".
Ich bin mir sicher, dass sie nicht daran denken, Win Terminal v1 mit einer der wichtigsten Funktionen zu veröffentlichen.
Schade, da dadurch aktuelle Vorabversionen von WT unbrauchbar werden.
Dadurch wird ein neues Powershell-Fenster mit dem Administrator geöffnet. Nicht genau das, was wir wollen, aber es ist eine Umgehung. Erstellen Sie ein neues Profil mit der folgenden Befehlszeile.
"commandline": "powershell.exe -Command \"Start-Process powershell.exe -Verb RunAs\"",
Warum ist das geschlossen? Es muss noch eine Funktion zum Erhöhen der Registerkarte vorhanden sein.
Dies wird in einer Reihe anderer Probleme in diesem Repository verfolgt, deshalb.
@ DHowett-MSFT Danke. Welchem Thema sollen wir folgen? Ich glaube nicht, dass es oben erwähnt wurde.
@musm Ich habe dies gerade in meiner PowerShell 6-Konfiguration:
function GoAdmin { start-process pwsh –verb runAs }
(Ersetzen Sie
pwsh
durchpowershell
wenn Sie die alte Powershell verwenden.)Wenn ich also Pakete über Chocolatey installieren / aktualisieren muss, gebe ich
GoAdmin
(in der von Windows Terminal gehosteten PowerShell) ein, wodurch ich zu einem separaten Admin-Powershell-Fenster komme. Dort kann ich alle schokoladigen Admin-Befehle ausführen. Dann schließe ich einfach das Admin-Fenster und geberefreshenv
in meine Windows Terminal-Sitzung ein, um alle PATH-Variablen zu aktualisieren. Es ist ziemlich einfach.Ich würde definitiv gerne einen Weg finden, um
wt
(Windows Terminal) zu starten, anstatt direkt zu einem "nackten" Pwsh zu gehen, aber das scheint nicht möglich zu sein. Aber es ist ein kleiner Kritikpunkt. Meh. :-)
Wo befindet sich diese Konfigurationsdatei in Windows?
@ mian-muhammad Ich denke, er meinte PowerShell-Profil. https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_profiles
Ich habe eine Problemumgehung gefunden. Sie können Schokolade verwenden, um ein Paket namens sudo zu installieren (choco install -y sudo). Dann können Sie sudo wie erwartet verwenden.
Anscheinend kann ich das Terminal derzeit als Administrator öffnen. Zumindest funktioniert es auf meinem Computer. Es wäre sogar noch besser, wenn wir als Administrator eine Registerkarte wie ConEmu erstellen könnten (die in # 632 behandelt wird), aber es macht derzeit keinen Sinn, dieses Problem erneut zu öffnen.
Andere verwandte ausstehende Funktionsanforderungen:
sudo
denen @ Pens99 interessiert Hoffe das hilft allen, die diesem Thread folgen.
@ DHowett-MSFT Welches Problem sollten wir verfolgen und markieren, um dieses Problem zu lösen? Das einzige andere Problem, auf das verwiesen wird, ist # 1538, das ebenfalls geschlossen ist.
Ich bin sicher, dass Microsoft nicht der Meinung sein kann, dass jeder Administratorrechte für seinen Standardbenutzer haben sollte, anstatt ein separates Administratorkonto zu verwenden, wenn er moderne Windows-Apps verwenden möchte. Dies widerspricht schließlich den üblichen Sicherheitspraktiken.
@danstur Das Beste, was ich für dieses
@ DHowett-MSFT Vielen Dank für die Probleme, ich bin froh zu hören, dass es verfolgt wird.
Zur Verdeutlichung: Wenn ich die Anwendung über die in # 1386 genannten Optionen installiere, kann ich sie dann als anderer Benutzer ausführen oder funktioniert das immer noch nicht? Es würde mir nichts ausmachen, die App bei den anderen Benutzern registrieren zu müssen (bedeutet das, dass Add-AppxPackage
?).
@ DHowett-MSFT Dustin Howett FTE Vielen Dank für die Probleme, ich bin froh zu hören, dass es verfolgt wird.
Zur Verdeutlichung: Wenn ich die Anwendung über die in # 1386 genannten Optionen installiere, kann ich sie dann als anderer Benutzer ausführen oder funktioniert das immer noch nicht? Es würde mir nichts ausmachen, die App bei den anderen Benutzern registrieren zu müssen (bedeutet das, dass
Add-AppxPackage
?).
Das sollte gut funktionieren. Sie müssen Add-AppxPackage als diese Benutzer hinzufügen, ja. :Lächeln:
Ich bin froh zu sehen, dass es angeheftet wird.
Dies muss behoben werden, da das Terminal in jeder Windows-Umgebung, die mit separaten Administrator- und Benutzerkonten eingerichtet ist (wie es sein sollte), nicht für Administratoren verwendet werden kann, wenn es aus dem (empfohlenen) MS Store installiert wird
Ich bin froh zu sehen, dass es angeheftet wird.
Dies muss behoben werden, da das Terminal in jeder Windows-Umgebung, die mit separaten Administrator- und Benutzerkonten eingerichtet ist (wie es sein sollte), nicht für Administratoren verwendet werden kann, wenn es aus dem (empfohlenen) MS Store installiert wird
Eine Problemumgehung, die für mich funktioniert hat, bestand darin, sich als Administrator auf dem lokalen Computer anzumelden und das Terminal aus dem Store erneut zu "installieren". Wenn ich dann als Standardbenutzer angemeldet bin, kann ich das Terminal als Administrator ausführen
Ja, das Problem scheint zu sein, dass Store die App nur für den aktuellen Benutzer registriert. Das ist für die meisten Apps in Ordnung (eigentlich sollten die meisten Apps sowieso so installiert werden), aber nicht für administrative Apps wie Terminals.
Hey Zukunft ich: Das Problem der Ladenregistrierung wird intern mit ausführlich besprochen
Hallo,
Ich bin auch auf meinem regulären Konto auf dieses Problem gestoßen. Die Lösung besteht darin, die Terminal-App erneut zu installieren, während Sie in einem Administratorkonto angemeldet sind. Dann können Sie als Administrator auf Ihrem regulären Konto ausgeführt werden.
Hier gilt das gleiche. Problem scheint nicht gelöst zu sein
Ich habe noch eine andere, nicht perfekte Problemumgehung, mit der ein als Administrator ausgeführtes Tab nicht geöffnet werden kann, aber ein PowerShell-Fenster als Administrator über eine vorhandene Registerkarte (ohne Administrator) geöffnet werden kann:
https://github.com/jt-github/elevate
Dies funktioniert genauso wie das Hinzufügen des Profils, wie von @CraigHead oben vorgeschlagen:
"commandline": "powershell.exe -Command \"Start-Process powershell.exe -Verb RunAs\"",
Außer dass meine meine Version ausgeführt wird, indem der Befehl elevate
ausgeführt wird.
@ jt-github Das ist wie Sudo.
Siehe hier: https://github.com/pldmgg/Sudo
Genau, nur sudo
ist viel cooler als meine, aber meine ist so einfach, dass es leicht zu verstehen und zu verwenden ist.
Wie viele von Ihnen bin auch ich auf dieses Problem gestoßen. Daher habe ich die folgenden Funktionen erstellt, um eine Admin-Shell entweder über Powershell.exe, pwsh.exe oder das Microsoft-Terminal zu öffnen
# Function Test-IsAdmin
function Test-IsAdmin {
<#
.Synopsis
Tests if the user is an administrator
.Description
Returns true if a user is an administrator, false if the user is not an administrator
.Example
Test-IsAdmin
#>
$identity = [Security.Principal.WindowsIdentity]::GetCurrent()
$principal = New-Object Security.Principal.WindowsPrincipal $identity
$principal.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}
# Function New-AdminShell
function New-AdminShell {
<#
.Synopsis
Starts an Elevated PowerShell Console.
.Description
Opens a new PowerShell Console Elevated as Administrator. If the user is already running an elevated
administrator shell, a message is displayed in the console session.
.Example
New-AdminShell
#>
$Process = Get-Process | Where-Object { $_.Id -eq "$($PID)" }
if (Test-IsAdmin = $True) {
Write-Warning -Message "Admin Shell already running!"
}
else {
if ($Process.Name -eq "powershell") {
Start-Process -FilePath "powershell.exe" -Verb runas -PassThru
}
if ($Process.Name -eq "pwsh") {
Start-Process -FilePath "pwsh.exe" -Verb runas -PassThru
}
}
}
# Function New-AdminTerminal
function New-AdminTerminal {
<#
.Synopsis
Starts an Elevated Microsoft Terminal.
.Description
Opens a new Microsoft Terminal Elevated as Administrator. If the user is already running an elevated
Microsoft Terminal, a message is displayed in the console session.
.Example
New-AdminShell
#>
if (Test-IsAdmin = $True) {
Write-Warning -Message "Admin Shell already running!"
}
else {
Start-Process "wt.exe" -ArgumentList "-p pwsh" -Verb runas -PassThru
}
}
Ich hoffe, jemand findet sie nützlich. Ich habe sie meinen PowerShell-Profilen hinzugefügt, damit sie immer verfügbar sind.
Hallo,
Ich bin auch auf meinem regulären Konto auf dieses Problem gestoßen. Die Lösung besteht darin, die Terminal-App erneut zu installieren, während Sie in einem Administratorkonto angemeldet sind. Dann können Sie als Administrator auf Ihrem regulären Konto ausgeführt werden.
Das hat auch bei mir funktioniert, es ist super nervig, aber in einem Unternehmensnetzwerk ist das so ziemlich der einzige Weg, der für mich funktioniert hat. Wenn Sie keinen lokalen Administrator haben, ist diese App so ziemlich eine Pleite für gehobene Privatpersonen in einem Unternehmensnetzwerk.
Ich bin froh zu sehen, dass es angeheftet wird.
Dies muss behoben werden, da das Terminal in jeder Windows-Umgebung, die mit separaten Administrator- und Benutzerkonten eingerichtet ist (wie es sein sollte), nicht für Administratoren verwendet werden kann, wenn es aus dem (empfohlenen) MS Store installiert wirdEine Problemumgehung, die für mich funktioniert hat, bestand darin, sich als Administrator auf dem lokalen Computer anzumelden und das Terminal aus dem Store erneut zu "installieren". Wenn ich dann als Standardbenutzer angemeldet bin, kann ich das Terminal als Administrator ausführen
Nein, das hat bei mir nicht funktioniert :(
Also habe ich es herausgefunden.
Sie müssen es sowohl im Administratorkonto als auch im Hauptkonto installiert haben, aber auch das Administratorkonto muss angemeldet sein, damit es funktioniert. Damit meine ich, dass der Computer beim Administrator angemeldet sein muss, dann den Benutzer wechseln (nicht abmelden) und sich bei dem anderen Konto anmelden muss. Dadurch kann die App im Administratormodus ausgeführt werden.
Ich vermute, dass auf beiden Konten installierte Store-Apps nur dann als Administrator ausgeführt werden können, wenn ein Administratorkonto angemeldet ist.
Also habe ich es herausgefunden.
Sie müssen es sowohl im Administratorkonto als auch im Hauptkonto installiert haben, aber auch das Administratorkonto muss angemeldet sein, damit es funktioniert. Damit meine ich, dass der Computer beim Administrator angemeldet sein muss, dann den Benutzer wechseln (nicht abmelden) und sich bei dem anderen Konto anmelden muss. Dadurch kann die App im Administratormodus ausgeführt werden.
Ich vermute, dass auf beiden Konten installierte Store-Apps nur dann als Administrator ausgeführt werden können, wenn ein Administratorkonto angemeldet ist.
Das funktioniert bei mir. 👍
Hilfreichster Kommentar
Auch als Vorschlag, anstatt das GANZE Terminal als Administrator über die Taskleiste auszuführen, haben Sie vielleicht Alternativen?
Zum Beispiel:
Wenn Sie eine neue Registerkarte öffnen, fragen Sie den Benutzer oder eine Benutzeroberfläche, ob er die neue Instanz als Administrator öffnen möchte.
Oder klicken Sie einfach mit der rechten Maustaste auf das Terminal, um eine Administratorregisterkarte aus genau demselben Verzeichnis zu öffnen. (Das wäre sehr nützlich für Powershell-Core, da es keine nette Funktionalität wie sudo hat.)