web-dev-qa-db-ja.com

cmd行を使用してcmdプロンプトを上げるにはどうすればよいですか?

私はこのスクリプト「runas/profile/user:administrator\administrator cmd」に従います。パスワードの入力を求められると、スペルが正しいのに間違っていると常に表示されます。助けてください私は学校のためのバッチスクリプトを書こうとしています、そしてこれが私の邪魔をしているすべてです。

2
Michael

Wes Sayeedがすでに説明したように、Windowsで実行中のプログラムを昇格させることはできません。しかし(4人で手遅れになったとしても) ここ は、一種の埋め込みVBSを使用して管理者権限でコマンドプロンプトを再起動するための解決策です。

@echo off

:checkPrivileges
NET FILE 1>NUL 2>NUL

if '%errorlevel%' == '0' (
  goto mainScript 
) else (
  goto getPrivileges
)
::-------------------------------------------------------------------------------------------------

:getPrivileges
  if '%1'=='ELEV' (shift & goto mainScript)
  echo.
  echo Selbstausfuehrung mit Administratorrechten...
  setlocal DisableDelayedExpansion
  set "batchPath=%~0"
  setlocal EnableDelayedExpansion
  echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\runAsAdmin.vbs"
  echo UAC.ShellExecute "!batchPath!", "ELEV", "", "runas", 1 >> "%temp%\runAsAdmin.vbs"
  "%temp%\runAsAdmin.vbs"
  exit /B
::-------------------------------------------------------------------------------------------------


:mainScript
REM Here we are doing admin stuff...
  cls
  echo Hallo Welt >C:\test.txt
1
Clijsters

管理者の資格情報を指定した場合でも、runasコマンドを使用してコマンドプロンプトを昇格させることはできません。昇格されていないコマンドからプロンプトコマンドを昇格させる方法はありません。

0
Wes Sayeed