Windows Vista: วิธีรันโปรแกรม. exe ใน cmd“ ในฐานะผู้ดูแลระบบ”


11

ใช่แค่นั้นแหละ ฉันจำเป็นต้องเรียกใช้โปรแกรม. exe ในบรรทัด dos cmd และต้องทำงานเหมือนเมื่อคุณกดปุ่มขวาแล้วเลือก "run as a administrator"


ฉันก็สงสัยเช่นกัน วิธีแก้ปัญหาของฉันคือการสร้างไฟล์แบตช์ด้วยคำสั่งและปล่อยให้มันทำงานในฐานะผู้ดูแลระบบเสมอหรือเพื่อเปิด cmd ในฐานะผู้ดูแลระบบ แต่รู้สึกว่าควรมีทางออกที่หรูหรา
OregonGhost

คำตอบ:


15

Windows มีคำสั่ง "runas" ที่ทำหน้าที่คล้ายกับ sudo ในระบบ Unix-y ลองพิมพ์ "runas /?" ในพรอมต์คำสั่งของคุณ


หรือดูได้ที่นี่: technet.microsoft.com/en-us/library/cc771525.aspx
Asaf R

นี่ไม่ใช่คำตอบที่ถูกต้องเว้นแต่คุณจะเปิดใช้งานผู้ใช้ผู้ดูแลระบบด้วยรหัสผ่านที่ไม่ว่างเปล่า
jiggunjer

7

หากคุณเรียกใช้ cmd ในฐานะผู้ดูแลระบบทุกสิ่งที่คุณเรียกใช้จากที่นั่นจะเป็นเช่นกัน ฉันเพิ่งตั้งค่าทางลัดไปยังพรอมต์คำสั่งที่เปิดในฐานะผู้ดูแลระบบ ทุกอย่างจากที่นั่นดี


5

ฉันได้ใช้สคริปต์. cmd & .vbs สองชื่อเรียกว่า elevate ซึ่งทำงานได้ดีสำหรับความต้องการของฉัน สิ่งที่คุณต้องพิมพ์คือ

ยกระดับ [คำสั่ง]
จากเริ่ม> เรียกใช้หรือจากบรรทัดคำสั่งและจะเรียกใช้คำสั่งด้วยสิทธิ์ผู้ดูแลระบบ หวังว่ามันจะช่วย!

นี่คือ 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

เพียงแค่อยากรู้อยากเห็นสิ่งที่เป็นประโยชน์จากการนี
tfinniga

ดุจ! คุณมีฉัน! :) ฉันไม่รู้จักข้อได้เปรียบเหนือ runas แต่เมื่อคุณไม่รู้จัก runas นั่นเป็นทางเลือกเดียว ฉันกำลังอายแน่นอน :)

ฉันคิดว่ามันจะช่วยได้หากเราอ่านสิ่งที่เราใช้เป็นสคริปต์!

1
คู่นี้จะ descibed ที่technet.microsoft.com/en-us/magazine/...

2
ข้อได้เปรียบที่ชัดเจนของสคริปต์ยกระดับคือช่วยให้คุณสามารถยกระดับผู้ใช้ของคุณเป็นผู้ดูแลระบบภายใต้ UAC โดยไม่จำเป็นต้องระบุผู้ใช้และรหัสผ่านของผู้ดูแลระบบ runas.exe สามารถทำได้หรือไม่


2

คุณยังสามารถกดปุ่ม Windows พิมพ์ CMD ซึ่งจะแสดงรายการ cmd ในโปรแกรมคลิกขวา -> คุณสมบัติ -> ความเข้ากันได้ -> เรียกใช้โปรแกรมนี้ในฐานะผู้ดูแลระบบ

สิ่งนี้จะทำงานในฐานะผู้ดูแลระบบเสมอ


คุณยังสามารถใช้ Ctrl + Shift + Enter
Joey

1

เนื่องจากมีคนโพสต์รายการเทียบเท่า VBS ต่อไปนี้เป็นฟังก์ชัน Invoke-Admin สำหรับ PowerShell

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. กดปุ่ม Start พิมพ์ "cmd" (ไม่มีเครื่องหมายคำพูด) ทันที (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.