批处理文件...以管理员身份运行

时间:2012-10-16 11:25:15

标签: batch-file administrator runas

我成功创建了一个批处理文件来刷新我的DNS ...

我添加了一个暂停,我注意到在控制台窗口的标题栏中......它没有以管理员身份运行。

我已经尝试了几种变体......只需要一点指导就可以了。

我记得曾在某个地方读过一篇博客,它说有关资本化的事情并不重要......骆驼套管在编写批处理文件时是否很重要?

@echo off
echo.
pause
CD..
CD..
echo.
runas /user:<Administrator> ipconfig /flushdns
echo.
pause
echo.

1 个答案:

答案 0 :(得分:1)

要使用此方法运行命令,请键入以下内容之一:

RUNAS /NOPROFILE /USER:computername/username "IPCONFIG /FLUSHDNS"
RUNAS /PROFILE /ENV /USER:domain/username "IPCONFIG /FLUSHDNS"
RUNAS /ENV /USER:username@domain "IPCONFIG /FLUSHDNS"

将“computername”,“username”和/或“domain”替换为适当的信息。这些方法的问题是它们需要管理员密码,我无法在我的机器上找到它。但是,如果它像linux一样,它是由系统隐藏的随机生成的哈希。您可以尝试的另一种方法是:

32位:

REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /V "%HOMEDRIVE%\WINDOWS\System32\ipconfig.exe" /D RUNASADMIN

64位:

REG ADD "HKLM\SOFTWARE\WOW6432\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /V "%HOMEDRIVE%\WINDOWS\System32\ipconfig.exe" /D RUNASADMIN

此方法将程序添加到注册表中,以便每次启动时都以管理员权限运行(兼容模式)。只有您的目录不会更改时,此方法才有效。您必须提供注册表中程序的直接路径。然后你可以编写脚本看起来像:

@ECHO OFF
CD \
REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /V "%HOMEDRIVE%\WINDOWS\System32\ipconfig.exe" /D RUNASADMIN
IPCONFIG /FLUSHDNS
PAUSE>NUL

我希望这可以帮助你解决一些问题。您可以查看Verboon以获取有关该REG ADD命令和兼容模式的更多信息。