2010-08-13 2 views
5

Ich mag würde in der Lage sein einen DOS-Befehl an Alias ​​in Verbindung zu verwenden, um mit dem Befehl Runasalias DOS-Befehl für runas

speziell von Ich bin müde den vollständigen Pfad zu BIDS bekommen ("C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"), und ich würde gerne Alias ​​wie MS für ssms getan hat.

Wer weiß, wie man das macht? Ich weiß, dass ich das mit einer Batch-Datei erreichen kann, aber ich würde es wirklich nicht tun.

runas /user:user /netonly bids 

gegen

runas /user:user /netonly "C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe" 
+0

Haben Sie 'doskey' verwendet? – Gabe

+0

Ich referenzierte dieses Dokument: http://technet.microsoft.com/en-us/library/bb490894.aspx und es sieht so aus, als ob das funktionieren könnte. Wenn Sie unten eine Antwort (anstatt eines Kommentars) angeben können, die auf eine bestimmte Dokumentation verweist und ein funktionierendes Beispiel auf der Grundlage des in der Frage aufgeführten Befehls bereitstellt, gehört Ihnen das Kopfgeld. –

+0

Mit meiner unten angegebenen Methode könnten Sie dasselbe tun wie @Jon vorgeschlagen, aber der Befehlsalias würde beim Öffnen der Dos-Shell vorgeladen werden. – djangofan

Antwort

2

Diese doskey Technik wird bei Super-User-kennzeichnet über, https://superuser.com/questions/49170/create-an-alias-in-windows-xp sehen.

Das Problem damit ist, dass Sie keinen Alias ​​definieren können, der von runas verwendet werden soll. Sie könnten einen Alias ​​definieren, der sowohl runasals auch den Befehl enthält, den Sie ausführen möchten, aber dieser wäre dann nicht wiederverwendbar. Aber was diese über das Tun:

SET BIDS=C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe 
DOSKEY r=runas /user:user /netonly "%$1%" 

Welche können Sie dann verwenden, wie

r bids 

Natürlich ist dies erfordert, dass Sie für jede Verknüpfung eine Umgebung var auf ‚Sie d haben möchte, aber ich denke, das ist keine größere Anforderung als das Setzen des doskey Alias ​​selbst. In jedem Fall erstellt es keine Datei und es erfordert nicht, dass irgendetwas in der path platziert wird.

Update:

Ich habe es nicht versuchen, mich, aber es sieht wie Sie es einrichten können, und es vergessen.

  • Die Umgebungsvariablen können über die Windows' Systemeinstellungen festgelegt werden (siehe Bild)
  • Die DOSKEY alias kann cmd.exe beginnt using the registry

enter image description here

+0

Brilliant! Einige folgen auf Fragen. Gibt es eine Möglichkeit für mich, dies über eine einzige Sitzung hinaus fortzusetzen? Das funktioniert, aber ich muss es jedes Mal zurücksetzen, wenn ich die Eingabeaufforderung neu starte. –

+0

@BobbyB: Schau dir das Update an :) – Jon

+0

Sehr gut gemacht! Vielen Dank –

1

Ich denke, das Problem, das Sie schlagen sind, ist, dass die Befehlszeile als der neue Benutzer ausgewertet wird - es sei denn, der neue Benutzer auch Zugriff auf Ihren Alias ​​hat es gewonnen arbeite nicht.

Bearbeiten: Es ist möglich, dass Sie umgehen könnten, indem Sie eine bequem platzierte Batch-Datei (oder Verknüpfung?) Erstellen, die BIDS und RunAs'ing das startet?

Edit:

Siehe here und here für Informationen über die Wahl Befehl

Verwendungsbeispiel:

@ECHO OFF 
Echo 1. Some Command 
Echo 2. Some Other Command 
CHOICE /C:12 /N /T:1,10 Choose an option 
IF ERRORLEVEL 2 GOTO COMMAND2 
IF ERRORLEVEL 1 GOTO COMMAND1 
GOTO END 

:COMMAND1 
Runas /Uer:Blah "BLAH" > NUL 
GOTO END 

:COMMAND2 
Runas /Uer:Blah "BLAH" > NUL 
GOTO END 

:END 
+0

Ja, ich habe vorher über die Batch-Datei nachgedacht, aber es gibt mehrere verschiedene Szenarien, in denen ich das tue und ich hätte lieber nicht so viele Batch-Dateien über ... –

+0

FWIW, ich habe eine einzelne Batch-Datei, die 'CHOICE verwendet .COM' um ein Menü zur Verfügung zu stellen, die 'RunAs' zu machen und zur Eingabe eines Passworts auffordern - also gebe ich einfach' RunIt' ein, wähle eine Option und gib ein Passwort ein. In diesem Szenario kann ich auch verschiedene Software als verschiedene Benutzer ausführen (Mein Standard-Konto/Mein DBA-Konto für SSMS, etc ...) – Basic

+0

Wie in der Welt tun Sie das? Ich bin nicht vertraut mit Choice.com –

1

Hier ist ein Skript jedes Mal eingestellt werden das wird Alias ​​in Ihren Kommandozeilen einrichten.Dieses Skript gibt Ihnen den schwer fassbaren "WHERE" Befehl:

@ECHO OFF 
ECHO Loading additional commands from: 
ECHO %0 
ECHO Type 'DOSKEY /MACROS:ALL' to see the configured commands. 
:: to install, place this .bat script in the location you want 
:: it to reside and then run this batch script with the argument "register" 
IF "%1"=="register" (
    REG.exe ADD "HKCU\Software\Microsoft\Command Processor\Autorun" /ve /t REG_SZ /d "%0" /f 
    ECHO The DOS profile is registered. Load a new command prompt and test a command. 
) 
@DOSKEY LS=DIR /w 
@DOSKEY CP=COPY $* 
@DOSKEY MV=MOVE $* 
@DOSKEY H=DOSKEY /HISTORY 
@DOSKEY [email protected] %%e in (%PATHEXT%) do @for %%i in ($*%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i 
+0

Interessante Alternative. +1 – VonC

+0

Das Skript funktioniert nicht auf jedem Win7-System ... nicht sicher, warum, aber es funktioniert auf 2 meiner Computer. – djangofan