Batch file 批处理文件&x2026;以管理员身份运行

Batch file 批处理文件&x2026;以管理员身份运行,batch-file,administrator,runas,Batch File,Administrator,Runas,我成功创建了一个批处理文件来刷新我的DNS 我已经添加了一个暂停,我注意到在控制台窗口的标题栏中…它不是以管理员身份运行的 我已经尝试过这方面的一些变化……非常感谢您的一点指导 我记得在某个地方读过一篇博客,上面说一些关于大写的东西并不重要……在编写批处理文件时,大小写重要吗 @echo off echo. pause CD.. CD.. echo. runas /user:<Administrator> ipconfig /flushdns echo. pause echo. @

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

我已经添加了一个暂停,我注意到在控制台窗口的标题栏中…它不是以管理员身份运行的

我已经尝试过这方面的一些变化……非常感谢您的一点指导

我记得在某个地方读过一篇博客,上面说一些关于大写的东西并不重要……在编写批处理文件时,大小写重要吗

@echo off
echo.
pause
CD..
CD..
echo.
runas /user:<Administrator> ipconfig /flushdns
echo.
pause
echo.
@echo关闭
回声。
暂停
光盘
光盘
回声。
运行方式/用户:ipconfig/flushdns
回声。
暂停
回声。

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

RUNAS /NOPROFILE /USER:computername/username "IPCONFIG /FLUSHDNS"
RUNAS /PROFILE /ENV /USER:domain/username "IPCONFIG /FLUSHDNS"
RUNAS /ENV /USER:username@domain "IPCONFIG /FLUSHDNS"
用适当的信息替换“计算机名”、“用户名”和/或“域”。这些方法的问题是,它们需要管理员密码,而我在我的机器上还没有弄清楚。但是,如果它与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

我希望这对你有所帮助。您可以查看有关REG ADD命令和兼容模式的更多信息。

大小写对于在批处理文件中运行命令并不重要,不重要。但是这个问题最好放在SuperUser或ServerFault上。好的,谢谢您的输入…我也将在那里发布。请不要在那里发布,移动您的问题。