Startet die erhöhte Eingabeaufforderung standardmäßig im Verzeichnis% UserProfile%?

13796
Merlyn Morgan-Graham

Wenn ich eine Eingabeaufforderung mit erhöhten Rechten in Windows 7 oder Windows Vista starte, ist das ursprüngliche Verzeichnis das %SystemRoot%\system32Verzeichnis.

Dies ist das Standardverhalten von Windows, und es ist kein spezifisches Problem für mein System. Ich erwarte hier also keine "Fehlerbehebung", sondern eher eine Änderung, um das Standardverhalten zu "beheben".

Zu repro:

  • Klicken Sie auf Start
  • Geben Sie cmd.exe ein
  • Drücken Sie Ctrl+ Shift+Enter
  • Wenn die Eingabeaufforderung für die Höhe angezeigt wird, wählen Sie Yes

Erwartet:

  • Das Ausgangsverzeichnis ist mein Benutzerprofilverzeichnis, z C:\Users\merlyn

Tatsächlich:

  • Das Ausgangsverzeichnis ist das System32-Verzeichnis. C:\Windows\system32

Ich möchte, dass es einfach ist, damit zu arbeiten. Ich möchte, dass es sich auf alle Eingabeaufforderungen / Verknüpfungen von cmd.exe bezieht, unabhängig davon, wo sie gestartet wurden. Ich möchte beispielsweise, dass es automatisch für meine Anwendung gilt, Visual Studio Command Prompt (2010)ohne dass die jeweilige Verknüpfung geändert werden muss.

Ich möchte, dass dies sicher ist, damit die Batchdateien nicht durch meine Korrekturen beschädigt werden.

Gibt es eine einfache und sichere Möglichkeit, eine erhöhte Eingabeaufforderung %UserProfile%standardmäßig im Verzeichnis zu starten ?

7

2 Antworten auf die Frage

12
Synetech

Das Öffnen einer Eingabeaufforderung mit %systemroot%\System32erhöhten Rechten beginnt immer mit dem Grund. Wenn Sie etwas tun, für das erhöhte Berechtigungen erforderlich sind, arbeiten Sie wahrscheinlich an Systemdateien und nicht an den eigenen Dateien des Benutzers, die Sie ohne erhöhte Berechtigungen ausführen können.

Sie können es umgehen:

  1. Öffnen Sie einen Registrierungseditor (z. B. regedit)
  2. Navigiere zu HKEY_CURRENT_USER\Software\Microsoft\Command Processor
  3. Bearbeiten Sie den Autorunzu lesenden Wertcd /d %userprofile%

Wenn Sie nun eine Eingabeaufforderung öffnen, wird sie entweder im Benutzerprofilverzeichnis gestartet oder wechselt zu diesem. Stattdessen HKCUkönnen Sie den Wert in der HKLMVerzweigung auch so festlegen, dass dies für alle Benutzer des Systems gilt.

Danke, ich werde es versuchen! Nur ein Kommentar: Wenn dies zutrifft, scheint mir ein lahmer Grund zu sein :) Die einzige Datei, die ich routinemäßig mit erhöhten Berechtigungen bearbeite, ist unter `system32` die hosts-Datei. Die übrigen befinden sich fast immer unter "% ProgramFiles%" / "% ProgramFiles (x86)%", einem benutzerdefinierten Verzeichnis im Stammverzeichnis oder einer Datei für ein anderes Konto unter "C: \ Users". Merlyn Morgan-Graham vor 12 Jahren 0
Es gibt keine Möglichkeit zu wissen, warum Sie eine Eingabeaufforderung mit erhöhten Rechten öffnen, daher wird System32 nur als sinnvoller Standard verwendet. Synetech vor 12 Jahren 0
Ich wollte darauf mit einer Widerlegung antworten. Aber mir wurde klar, dass es sowohl leere Spekulationen als auch OT ist, also werde ich es einfach fallen lassen :) Nochmals vielen Dank für Ihre Hilfe. Ich akzeptiere erstmal und antworte später, wenn durch dieses Update etwas kaputt geht. Merlyn Morgan-Graham vor 12 Jahren 0
Nun, Sie sagten, dass Sie die Eingabeaufforderung über 'cmd' öffnen. In diesem Fall hat Windows keine Ahnung, was Sie beabsichtigen (vielleicht kann die [PS9 Ihre Gedanken lesen] (http://www.youtube.com/watch?v=Vdh4TqWFFX4), Windows jedoch nicht. Wenn Sie eine Eingabeaufforderung an einem bestimmten Ort öffnen möchten, können Sie eine Shell-Erweiterung wie [Kai Liu's] (http://code.kliu.org/cmdopen/) verwenden, mit der Sie einen regulären oder erhöhten Befehl öffnen können -Abfrage in diesem Ordner. Synetech vor 12 Jahren 0
In Ordung. Da hast du den Thread fortgesetzt ... lol. Windows hat nie eine Vorstellung von meiner Absicht beim Starten von cmd.exe, und dies ändert sich nicht, je nachdem, ob ich erhöht habe oder nicht. Es gab bereits einen Standard und es gibt keinen zwingenden Grund, es zu ändern, da keine neuen Informationen bereitgestellt werden. Ich spekuliere (da ich nicht im Team gearbeitet habe, das UAC implementiert oder cmd.exe gepatcht hat, nachdem UAC hinzugefügt wurde), dass dies nur eine Eigenart von cmd.exe ist und dass diese ganze "Änderung" im Verhalten nicht beabsichtigt war. Es ist wahrscheinlich nur ein Nebenprodukt der Multi-Token-Sache und der Reihenfolge, in der Systemaufrufe durchgeführt werden Merlyn Morgan-Graham vor 12 Jahren 0
Andererseits ist das gesamte DOS-System mit unzureichenden Entwurfsentscheidungen und mangelnden Korrekturen aus Gründen der Rückwärtskompatibilität ausgestattet. Ich denke, ich würde es nicht übergehen, um hier absichtlich einen schlechten Anruf gemacht zu haben.) Okay, schimpfen! Merlyn Morgan-Graham vor 12 Jahren 0
Sie haben selbst schon gesagt, dass sie auf dieselben Umgebungsvariablen und Daten zugreifen können. Es ist eine einfache Sache, dass es keinen Sinn macht, eine Eingabeaufforderung mit erhöhten Rechten in Ihrem eigenen Home-Verzeichnis zu öffnen, da Sie keine erhöhten Berechtigungen benötigen, um dort arbeiten zu können. Synetech vor 12 Jahren 0
Das Festlegen des ursprünglichen Arbeitsverzeichnisses über Autorun kann bei einigen Skripts Probleme verursachen. Siehe [mein Kommentar zu Ihrer anderen ähnlichen Antwort] (http://superuser.com/a/453439/204705). rojo vor 9 Jahren 0
Der Schlüssel war auf meinem System nicht vorhanden, aber ich habe ihn als Zeichenfolge hinzugefügt (REG_SZ) und er funktionierte sofort mit Windows-Schlüssel-X A Wyrmwood vor 7 Jahren 0
0
edusysadmin

Unter der Annahme, dass Ihr Merlyn-Login über Administratorrechte verfügt, sind diese Rechte erst dann gültig, wenn die Aufforderung zur Benutzerkontensteuerung bearbeitet wurde. Diese Rechte bestehen darin, die erhöhten Rechte zu überprüfen und sie zu erhalten, wenn die Aufforderung korrekt übergeben wurde. Unter dem erhöhten Token wird es in einem anderen Sicherheitskontext ausgeführt als die Standardstufe Ihres Kontos, die vor der Benutzerkontensteuerung autorisiert wurde. All dies bedeutet, dass Ihr erwartetes Ergebnis falsch ist und das tatsächliche Ergebnis tatsächlich das erwartete ist.

Verstehen und Konfigurieren der Benutzerkontensteuerung

Ich verstehe, dass es zwei Gruppen von Token gibt, aber wie hängt das Token mit dem Benutzerprofil zusammen? Beispielsweise wird die Umgebungsvariable `% UserProfile%` an dieser Eingabeaufforderung mit erhöhten Rechten nicht geändert. Wenn Sie `CD% UserProfile%` eingeben, landen Sie in diesem Verzeichnis. Wenn Sie Dateien erstellen, ist der Eigentümer immer noch "Sie" usw. Ich weiß, dass Drag-and-Drop durch erhöhte Programme unterbrochen wird. Ist es jedoch etwas anderes? Sollte die Umgebung / der Pfad tatsächlich anders sein? "Ihr erwartetes Ergebnis ist falsch und das tatsächliche Ergebnis wird erwartet" - ja, ich weiß, so funktioniert es bei einer Neuinstallation. Ich möchte es "reparieren". Merlyn Morgan-Graham vor 12 Jahren 0
Ich habe versucht, meine Frage zu bearbeiten, um zu zeigen, dass das, was ich erwarte, anders ist als das, was Windows standardmäßig tut. Bitte lassen Sie mich wissen, wenn das, was ich frage, Probleme hat, vielleicht a) die Formulierung ist nicht klar; b) es ist logisch nicht sinnvoll, weil Berechtigungen funktionieren oder nicht ausgeführt werden können. C) wenn etwas zerbrochen wird das ist umgearbeitet. Merlyn Morgan-Graham vor 12 Jahren 0