Windows Vista : cmd“관리자”에서 .exe 프로그램을 실행하는 방법


11

그래 그거야. dos cmd 줄에서 .exe 프로그램을 실행해야하며 마우스 오른쪽 버튼을 클릭하고 "관리자 권한으로 실행"을 선택했을 때와 같이 실행해야합니다.


나도 그것에 대해 궁금했다. 내 솔루션은 명령으로 배치 파일을 만들어서 항상 관리자 권한으로 실행하거나 cmd를 관리자 권한으로 여는 것입니다. 그러나 그것은 우아한 해결책이 있어야한다고 생각합니다.
OregonGhost

답변:


15

Windows에는 Unix-y 시스템에서 sudo와 약간 비슷한 "runas"명령이 있습니다. "runas /?"를 입력 해보십시오. 명령 프롬프트에서.


또는 여기를 참조하십시오 : technet.microsoft.com/en-us/library/cc771525.aspx
Asaf R

비어 있지 않은 암호로 관리자 사용자를 활성화 하지 않은 경우 정답 이 아닙니다 .
jiggunjer

7

관리자 권한으로 cmd 자체를 실행하면 거기에서 실행하는 다른 모든 항목도 실행됩니다. 관리자 권한으로 열리는 명령 프롬프트 바로 가기를 설정했습니다. 거기에서 모든 것이 좋습니다.


5

나는 elevate라는 .cmd & .vbs 스크립트 듀오를 사용했는데, 그것은 내 요구에 잘 작동합니다. 입력 만하면됩니다

[명령]을 높이십시오
시작> 실행 또는 명령 행에서 관리자 권한으로 명령을 실행합니다. 그것이 도움이되기를 바랍니다!

다음은 elevate.cmd입니다.

:: //***************************************************************************
:: // ***** Script Header *****
:: //
:: // File:      Elevate.cmd
:: //
:: // Additional files required:  Elevate.vbs
:: //
:: // Purpose:   To provide a command line method of launching applications that
:: //            prompt for elevation (Run as Administrator) on Windows Vista.
:: //
:: // Usage:     elevate.cmd application <application arguments>
:: //
:: // Version:   1.0.0
:: // Date :     01/02/2007
:: //
:: // History:
:: // 1.0.0   01/02/2007  Created initial version.
:: //
:: // ***** End Header *****
:: //***************************************************************************


@echo off

:: Pass raw command line agruments and first argument to Elevate.vbs
:: through environment variables.
set ELEVATE_CMDLINE=%*
set ELEVATE_APP=%1

start wscript //nologo "%~dpn0.vbs" %*

및 elevate.vbs :

' //***************************************************************************
' // ***** Script Header *****
' //
' // File:      Elevate.vbs
' //
' // Additional files required:  Elevate.cmd
' //
' // Purpose:   To provide a command line method of launching applications that
' //            prompt for elevation (Run as Administrator) on Windows Vista.
' //
' // Usage:     (Not used directly.  Launched from Elevate.cmd.)
' //
' // Version:   1.0.1
' // Date :     01/03/2007
' //
' // History:
' // 1.0.0   01/02/2007  Created initial version.
' // 1.0.1   01/03/2007  Added detailed usage output.
' //
' // ***** End Header *****
' //***************************************************************************


Set objShell = CreateObject("Shell.Application")
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objWshProcessEnv = objWshShell.Environment("PROCESS")

' Get raw command line agruments and first argument from Elevate.cmd passed
' in through environment variables.
strCommandLine = objWshProcessEnv("ELEVATE_CMDLINE")
strApplication = objWshProcessEnv("ELEVATE_APP")
strArguments = Right(strCommandLine, (Len(strCommandLine) - Len(strApplication)))

If (WScript.Arguments.Count >= 1) Then
    strFlag = WScript.Arguments(0)
    If (strFlag = "") OR (strFlag="help") OR (strFlag="/h") OR (strFlag="\h") OR (strFlag="-h") _
        OR (strFlag = "\?") OR (strFlag = "/?") OR (strFlag = "-?") OR (strFlag="h") _
        OR (strFlag = "?") Then
        DisplayUsage
        WScript.Quit
    Else
        objShell.ShellExecute strApplication, strArguments, "", "runas"
    End If
Else
    DisplayUsage
    WScript.Quit
End If


Sub DisplayUsage

    WScript.Echo "Elevate - Elevation Command Line Tool for Windows Vista" & vbCrLf & _
                 "" & vbCrLf & _
                 "Purpose:" & vbCrLf & _
                 "--------" & vbCrLf & _
                 "To launch applications that prompt for elevation (i.e. Run as Administrator)" & vbCrLf & _
                 "from the command line, a script, or the Run box." & vbCrLf & _
                 "" & vbCrLf & _
                 "Usage:   " & vbCrLf & _
                 "" & vbCrLf & _
                 "    elevate application <arguments>" & vbCrLf & _
                 "" & vbCrLf & _
                 "" & vbCrLf & _
                 "Sample usage:" & vbCrLf & _
                 "" & vbCrLf & _
                 "    elevate notepad ""C:\Windows\win.ini""" & vbCrLf & _
                 "" & vbCrLf & _
                 "    elevate cmd /k cd ""C:\Program Files""" & vbCrLf & _
                 "" & vbCrLf & _
                 "    elevate powershell -NoExit -Command Set-Location 'C:\Windows'" & vbCrLf & _
                 "" & vbCrLf & _
                 "" & vbCrLf & _
                 "Usage with scripts: When using the elevate command with scripts such as" & vbCrLf & _
                 "Windows Script Host or Windows PowerShell scripts, you should specify" & vbCrLf & _
                 "the script host executable (i.e., wscript, cscript, powershell) as the " & vbCrLf & _
                 "application." & vbCrLf & _
                 "" & vbCrLf & _
                 "Sample usage with scripts:" & vbCrLf & _
                 "" & vbCrLf & _
                 "    elevate wscript ""C:\windows\system32\slmgr.vbs"" –dli" & vbCrLf & _
                 "" & vbCrLf & _
                 "    elevate powershell -NoExit -Command & 'C:\Temp\Test.ps1'" & vbCrLf & _
                 "" & vbCrLf & _
                 "" & vbCrLf & _
                 "The elevate command consists of the following files:" & vbCrLf & _
                 "" & vbCrLf & _
                 "    elevate.cmd" & vbCrLf & _
                 "    elevate.vbs" & vbCrLf

End Sub

그냥 궁금해서, runas에 비해 이것의 장점은 무엇입니까?
tfinniga

어이! 당신은 저를 얻었다! :) runas에 비해 이점을 알지 못하지만 runas를 모르는 경우 유일한 대안입니다. 나는 확실히 당황 :)

스크립트로 사용하고있는 것을 한 번 읽어 보면 도움이 될 것입니다!


2
elevate 스크립트의 명백한 장점은 관리자 및 암호를 제공 할 필요없이 (관리자 사용자로 로그인 한 경우) UAC에서 사용자를 관리자로 승격시킬 수 있다는 것입니다. runas.exe가 할 수 있습니까?


2

Windows 키를 누르고 CMD를 입력하면 프로그램에 cmd가 표시됩니다.이를 마우스 오른쪽 버튼으로 클릭하십시오-> 속성-> 호환성-> 관리자 권한 으로이 프로그램 실행

항상 관리자로 실행됩니다.


Ctrl + Shift + Enter를 사용할 수도 있습니다.
Joey

1

누군가가 VBS에 해당하는 것을 게시 했으므로 다음은 PowerShell에 대한 Invoke-Admin 기능입니다.

function Invoke-Admin() {
param ( [string]$program = $(throw "Please specify a program" ),
        [string]$argumentString = "",
        [switch]$waitForExit )

$psi = new-object "Diagnostics.ProcessStartInfo"
$psi.FileName = $program 
$psi.Arguments = $argumentString
$psi.Verb = "runas"
$proc = [Diagnostics.Process]::Start($psi)
if ( $waitForExit ) {
    $proc.WaitForExit();
}

}


0

한마디로 :

  • 시작을 클릭 / 누른 다음 Ctrl + Shift 및 Enter를 누릅니다. 확인하십시오.

상세히:

  1. 시작 버튼을 누르십시오. 즉시 "(") 따옴표없이 따옴표를 입력하십시오 (1)
  2. CTRL 및 SHIFT 유지
  3. 엔터 키를 치시오
  4. Windows Vista UAC 대화 상자 확인

(1) 즉시 실행 상자가 아닌 검색 상자에 입력하는 것을 의미합니다.


0

VBScript도 사용할 수 있습니다. .vbs예를 들어 파일을 작성하십시오 ambika.vbs.

Set objShell = CreateObject(“Shell.Application”)
Set objWshShell = WScript.CreateObject(“WScript.Shell”)
Set objWshProcessEnv = objWshShell.Environment(“PROCESS”)

objShell.ShellExecute “C:\Windows\system32\cmd.exe”, “/k”, “”, “runas”
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.