Windows Vista: Cara menjalankan program .exe di cmd "As Administrator"


11

Ya itu saja. Saya perlu menjalankan program .exe di baris dos cmd dan harus dijalankan seperti ketika Anda menekan tombol kanan dan pilih "jalankan sebagai administrator"


Saya bertanya-tanya tentang itu juga. Solusi saya adalah membuat file batch dengan perintah dan membiarkannya selalu berjalan sebagai admin, atau untuk membuka cmd sebagai admin. Tapi rasanya harus ada solusi elegan.
OregonGhost

Jawaban:



7

Jika Anda menjalankan cmd sendiri sebagai administrator, semua yang Anda jalankan dari sana juga akan. Saya baru saja mengatur pintasan ke prompt perintah yang terbuka sebagai administrator. Semuanya dari sana baik untuk pergi.


5

Saya telah menggunakan duo skrip .cmd & .vbs yang disebut elevate, berfungsi dengan baik untuk kebutuhan saya. Yang Anda butuhkan hanyalah mengetik

meninggikan [perintah]
dari Mulai> Jalankan atau dari baris perintah, dan itu akan menjalankan perintah dengan hak administrator. Semoga ini bisa membantu!

Berikut ini adalah 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" %*

dan 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

Hanya ingin tahu, apa keuntungan dari ini daripada runa?
tfinniga

Duh! Saya ketahuan! :) Saya tidak akan tahu keunggulan dibandingkan runa, tetapi ketika Anda tidak tahu runa, itulah satu-satunya alternatif. Saya pasti malu :)

Saya pikir itu akan membantu jika kita pernah membaca apa yang kita gunakan sebagai skrip!

1
Duo ini dideskripsikan di technet.microsoft.com/en-us/magazine/…

2
Keuntungan yang jelas dari skrip elevate adalah skrip tersebut memungkinkan Anda untuk meningkatkan pengguna Anda ke administrator di bawah UAC tanpa perlu memberikan pengguna admin dan kata sandi (dengan ketentuan bahwa Anda masuk sebagai pengguna admin). Bisakah runas.exe melakukannya?


2

Anda juga bisa Tekan Tombol Windows, ketik CMD, ini akan mencantumkan cmd dalam program, klik kanan -> Properti -> Kompatibilitas -> Jalankan program ini sebagai administrator

Ini akan selalu dijalankan sebagai Admin.


Anda juga dapat menggunakan Ctrl + Shift + Enter.
Joey

1

Karena seseorang memposting yang setara VBS, inilah fungsi Invoke-Admin untuk 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

Pendeknya:

  • Klik / tekan Mulai, lalu CTRL + SHIFT dan ENTER. Konfirmasi.

Secara terperinci:

  1. Tekan tombol Mulai Ketik "cmd" (tanpa tanda kutip) dengan segera (1)
  2. Tahan CTRL dan SHIFT
  3. Tekan enter
  4. Konfirmasikan kotak dialog Windows Vista UAC

(1) Langsung berarti mengetiknya di kotak Pencarian, bukan di kotak Jalankan.


0

Anda dapat menggunakan VBScript seperti itu. Buat .vbsfile, misalnya 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”
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.