windows中命令行窗口提权到管理员权限.windows 的 sudo

命令行环境中获取管理员权限

第一种方法 (最爽,但是被运行的命令会被当成新进程运行,运行完成后就自动关闭了.)

把以下代码复制到记事本中保存为sudo.vbs 然后移动到PATH任意目录中,如windows system32 等.或自定义目录也可以.
使用的时候 就想linux 中一样. sudo dir

'ShellExecute 方法
 
'作用: 用于运行一个程序或脚本。
 
'语法
'      .ShellExecute "application", "parameters", "dir", "verb", window
'      .ShellExecute 'some program.exe', '"some parameters with spaces"', , "runas", 1
 
'关键字
'   application   要运行的程序或脚本名称
'   parameters    运行程序或脚本所需的参数
'   dir           工作路径,若未指定则使用当前路径
'   verb          要执行的动作 (值可以是 runas/open/edit/print)
'                   runas 动作通常用于提升权限
'   window        程序或脚本执行时的窗口样式 (normal=1, hide=0, 2=Min, 3=max, 4=restore, 5=current, 7=min/inactive, 10=default)
 
 
Set UAC = CreateObject("Shell.Application")
Set Shell = CreateObject("WScript.Shell")
If WScript.Arguments.count<1 Then
    WScript.echo "Please use command :  sudo <command> [args]"
ElseIf WScript.Arguments.count=1 Then
    UAC.ShellExecute WScript.arguments(0), "", "", "runas", 1
'    WScript.Sleep 1500
'    Dim ret
'    ret = Shell.Appactivate("用户账户控制")
'    If ret = true Then
'        Shell.sendkeys "%y"        
'    Else
'        WScript.echo "自动获取管理员权限失败,请手动确认。"
'    End If
Else
    Dim ucCount
    Dim args
    args = NULL
    For ucCount=1 To (WScript.Arguments.count-1) Step 1
        args = args & " " & WScript.Arguments(ucCount)
    Next
    UAC.ShellExecute WScript.arguments(0), args, "", "runas", 5
End If

第二种方法: (切换到Administrator用户中,一般这个用户都被策略组阻止登录了.而且默认没有密码的. )

使用runas 命令
C:\Users\makeit>runas
RUNAS 用法:

RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
        /user:<UserName> program

RUNAS [ [/noprofile | /profile] [/env] [/savecred] ]
        /smartcard [/user:<UserName>] program

RUNAS /trustlevel:<TrustLevel> program

   /noprofile        指定不应该加载用户的配置文件。
                     这会加速应用程序加载,但
                     可能会造成一些应用程序运行不正常。
   /profile          指定应该加载用户的配置文件。
                     这是默认值。
   /env              要使用当前环境,而不是用户的环境。
   /netonly          只在指定的凭据限于远程访问的情况下才使用。
   /savecred         用用户以前保存的凭据。
   /smartcard        如果凭据是智能卡提供的,则使用这个选项。
   /user             <UserName> 应使用 USER@DOMAIN 或 DOMAIN\USER 形式
   /showtrustlevels  显示可以用作 /trustlevel 的参数的
                     信任级别。
   /trustlevel       <Level> 应该是在 /showtrustlevels 中枚举
                     的一个级别。
   program           EXE 的命令行。请参阅下面的例子

示例:
> runas /noprofile /user:mymachine\administrator cmd
> runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc"
> runas /env /user:user@domain.microsoft.com "notepad \"my file.txt\""

注意:  只在得到提示时才输入用户的密码。
注意:  /profile 跟 /netonly 不兼容。
注意:  /savecred 跟 /smartcard 不兼容。

第三种方式

直接搜索栏输入CMD后(不要立即回车进入)按住 ctrl+shift+enter 弹出询问是否框,允许后就会管理员权限运行了.
或者先打开任务管理器 alt+f+enter 输入cmd 然后勾选(如果不方便用鼠标 可以先输入cmd然后按TAB键在enter也可.) 系统管理权限创建此任务 然后回车就直接以管理员权限运行了没有弹窗,唯一没有弹窗的哦.

参考:
https://blog.csdn.net/grootbaby/article/details/81745958

posted @ 2019-05-21 04:02  lvusyy  阅读(16223)  评论(2编辑  收藏  举报