【发布时间】:2015-01-16 23:49:29
【问题描述】:
有谁知道如何在 xp 上使用 tha batch 命令执行此操作,这将在受限用户中进行测试。 我发现了一些东西,它在 W7 中运行良好,但是当我在 XP 上尝试时它不起作用。
【问题讨论】:
标签: batch-file vbscript windows-xp batch-processing elevated-privileges
有谁知道如何在 xp 上使用 tha batch 命令执行此操作,这将在受限用户中进行测试。 我发现了一些东西,它在 W7 中运行良好,但是当我在 XP 上尝试时它不起作用。
【问题讨论】:
标签: batch-file vbscript windows-xp batch-processing elevated-privileges
User Account Control (UAC) 是随 Windows Vista 引入的。它在 XP 等早期版本中不可用。
在 XP 中,当您是管理员组的成员时,您始终拥有管理员权限,因此无需提升权限。如果您不是管理员组的成员,则需要以其他用户身份进行身份验证,这可以通过 runas 命令完成:
runas /user:DOMAIN\ADMIN_USER some_command
话虽如此,今年 4 月 8 日将支持 Windows XP ended,所以你不应该再使用它了。事实上,您早在很久之前就应该从 XP 中迁移出来了。
【讨论】:
cls
@echo off
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
cls
echo ... restart console with privilege admin ...
pause>nul
goto UACPrompt
) else (
echo ... ok jedi ...
goto gotAdmin
)
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
:--------------------------------------
【讨论】:
【讨论】: