use*_*882 92 windows command cmd
如何使用普通cmd上的命令行打开提升的命令提示符?
例如,我使用runas /username:admin cmd但打开的cmd似乎没有升高!有解决方案吗
小智 152
我遇到了同样的问题,我能够以CMD的管理员身份打开CMD的唯一方法是执行以下操作:
powershell -Command "Start-Process cmd -Verb RunAs"并按EnterRic*_*ven 35
根据文档,Windows安全模型......
不会始终授予管理权限.甚至管理员在执行不需要提升权限的非管理任务时也会在标准权限下运行.
您可以在" 创建新任务"对话框中选择" 使用管理权限创建此任务"选项(" 任务管理器">"文件">"运行新任务"),但没有内置方法可以使用命令行有效提升权限.
但是,您可以使用一些第三方工具(内部依赖Windows API)从命令行提升权限:
nircmdc elevate cmdnpm install -g windosu需要安装node.js)sudo cmdSti*_*ler 26
我没有足够的声誉来为最佳答案添加评论,但凭借别名的强大功能,只需输入以下内容即可获得:
powershell "start cmd -v runAs"
Run Code Online (Sandbox Code Playgroud)
这只是user3018703优秀解决方案的缩短版本:
powershell -Command "Start-Process cmd -Verb RunAs"
Run Code Online (Sandbox Code Playgroud)
Dhe*_*kar 22
sudo.bat(您可以sudo使用任何名称替换)的文件
powershell.exe -Command "Start-Process cmd \"/k cd /d %cd%\" -Verb RunAs"
sudo.bat到您的文件夹PATH; 如果您不知道这意味着什么,只需将这些文件移动到c:\windows\sudo将在Run对话框(win+r)或资源管理器地址栏中工作(这是最好的部分:))sudo.bat(您可以sudo使用任何名称替换)的文件
nircmdc elevate cmd /k "cd /d %cd%"
nircmdc.exe和sudo.bat一个文件夹中PATH; 如果您不知道这意味着什么,只需将这些文件移动到c:\windows\sudo将在Run对话框(win+r)或资源管理器地址栏中工作(这是最好的部分:))joh*_*mpf 12
我一直使用nirsoft程序(例如nircmdc)和sysinternals(例如psexec).他们非常有帮助.
但是,如果你不想或不想,那就是第三方程序,这是另一种方式,纯粹的Windows.
简短回答:您可以在提升时创建具有提升权限的计划任务,然后您可以在不提升时调用.
中长答案:虽然提升创建任务(但我更喜欢任务调度器GUI):
schtasks /create /sc once /tn cmd_elev /tr cmd /rl highest /st 00:00
Run Code Online (Sandbox Code Playgroud)
然后,不需要提升,调用
schtasks /run /tn cmd_elev
Run Code Online (Sandbox Code Playgroud)
答案很长:有很多烦躁的细节; 请参阅我的博客条目"在没有UAC的情况下启动程序,在系统启动和批处理文件中有用(使用任务计划程序)"
我最喜欢的方法是使用来自 SysInternals 的 PsExec.exe,可从http://technet.microsoft.com/en-us/sysinternals/bb897553 获得
.\psexec.exe -accepteula -h -u "$username" -p "$password" cmd.exe
Run Code Online (Sandbox Code Playgroud)
“-h”开关是一个神奇的开关:
-h 如果目标系统是 Vista 或更高版本,则使用帐户的提升令牌运行进程(如果可用)。
以下作为批处理文件将打开一个提升的命令提示符,其路径设置为与调用该批处理文件的目录相同的目录
set OLDDIR=%CD%
powershell -Command "Start-Process cmd -ArgumentList '/K cd %OLDDIR%' -Verb RunAs "
Run Code Online (Sandbox Code Playgroud)
小智 7
使用开关使批处理文件保存实际管理员帐户的凭据/savecred。这将首次提示输入凭据,然后将加密密码存储在凭据管理器中。然后,对于批处理运行的所有后续时间,它将以完全管理员身份运行,但不会提示输入凭据,因为它们以加密方式存储在凭据管理器中,并且最终用户无法获取密码。以下命令应以完全管理员权限打开提升的 CMD,并且仅在第一次提示输入密码:
START c:\Windows\System32\runas.exe /user:Administrator /savecred cmd.exe
Run Code Online (Sandbox Code Playgroud)
虽然通过Dheeraj巴斯卡尔工作提供了两种解决方案,遗憾的是他们将导致UAC显示在顶部(z顺序明智)对话框,但没有得到关注(焦点窗口是调用者CMD / PowerShell窗口),所以我要么需要抓住鼠标并单击“是”,或使用 Alt+Shift+Tab 选择 UAC 窗口。(在 Win10x64 v1607 build14393.447 上测试;UAC = "[...] do not dim [...]"。)
以下解决方案有点笨拙,因为它使用了两个文件,但它保留了正确的焦点顺序,因此不需要额外的鼠标/键盘操作(除了确认 UAC 对话框:Alt+Y)。
%SystemRoot%\System32\cmd.exe /k "cd /d"
@start cmdadm.lnk %cd%
运行su。
Mat*_*att -6
有多种方法可以打开提升的 cmd,但只有您的方法可以在标准命令提示符下运行。你只需要输入usernot username:
runas /user:machinename\adminuser cmd
Run Code Online (Sandbox Code Playgroud)
请参阅微软社区的相关帮助。
| 归档时间: |
|
| 查看次数: |
271585 次 |
| 最近记录: |