псевдоним команды DOS для Runas - PullRequest
5 голосов
/ 13 августа 2010

Я хотел бы иметь возможность использовать псевдоним команды dos для использования вместе с командой runas

определенно я устал от полного пути к BIDS ("C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe"), и я хотел бы, чтобы псевдоним, как MS сделал для ssms.

Кто-нибудь знает, как это сделать? Я знаю, что могу сделать это с помощью пакетного файла, но я бы действительно не хотел.

runas /user:user /netonly bids

против

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

Ответы [ 3 ]

2 голосов
/ 29 марта 2011

Эта техника doskey представлена ​​в SuperUser, см. https://superuser.com/questions/49170/create-an-alias-in-windows-xp.

Проблема в том, что вы не можете определить псевдоним, который будет использоваться runas.Вы можете определить псевдоним, который включает в себя и runas , и команду, которую вы хотите выполнить, но тогда она не будет использоваться повторно.Но как насчет этого:

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

, который вы затем можете использовать как

r bids

Конечно, для этого вам нужно установить переменную окружения для каждого ярлыка, который вы хотите иметь,но я думаю, что это не большее требование, чем установка самого псевдонима doskey.В любом случае, он не создает файл и не требует, чтобы что-либо было помещено в path.

Обновление:

Я не сделалПопробуйте сами, но похоже, что вы можете установить его и забыть.

  • Переменные окружения можно установить через системные настройки Windows (см. изображение)
  • The DOSKEY псевдоним может быть установлен каждый раз cmd.exe запускается с использованием реестра

enter image description here

1 голос
/ 29 ноября 2012

Вот скрипт, который будет устанавливать псевдонимы в командной оболочке. Этот скрипт дает вам неуловимую команду "ГДЕ":

@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 WHERE=@for %%e in (%PATHEXT%) do @for %%i in ($*%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i
1 голос
/ 13 августа 2010

Я думаю, что проблема, с которой вы сталкиваетесь, состоит в том, что командная строка оценивается как новый пользователь - поэтому, если у нового пользователя также нет доступа к вашему псевдониму, он не будет работать.

Редактировать: Возможно, вы могли бы обойти это, создав удобно размещенный пакетный файл (или ярлык?), Который запускает BIDS и RunAsing это?

Edit:

См. здесь и здесь для получения информации о команде выбора

Пример использования:

@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
...