![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 20:37 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 请教:如何判断批处理文件本身是否以管理员权限运行? |
| 可打印版本 2,393 / 10 |
| 第1楼 bootp | 发表于 2009-12-17 02:20 |
| 初级用户 发帖 25 积分 66 | |
|
请教:如何判断批处理文件本身是否以管理员权限运行? Windows中有两种运行权限,
一种是普通权限(直接双击批处理文件) 一种是管理员权限运行(右击批处理文件,选“以管理员权限运行”) 请教:在批处理中,如何判断批处理自身是否以管理员权限运行? 谢谢先~~~~~ |
|
| 第2楼 jarry0932 | 发表于 2009-12-18 00:32 |
| 初级用户 发帖 122 积分 128 | |
|
双击批处理,在批处理中将当前用户信息显示出来,如果当前用户在管理组则为管理员身份运行,否则就是普通用户,批处理代码:
@echo off net user %username% | find /i "administrators" >nul 2>nul if %errorlevel%==1 echo 该用户为普通用户 echo 该用户为管理员 pause |
|
| 第3楼 slore | 发表于 2009-12-18 08:53 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
运行一些限制级命令。。。能执行成功则是管理员身份
|
|
| 第4楼 f319 | 发表于 2009-12-18 12:55 |
| 新手上路 发帖 9 积分 14 | |
|
2L代码有问题吧.
if %errorlevel%==1 echo 该用户为普通用户 echo 该用户为管理员 若%errorlevel%的值为1就会输出"该用户为普通用户", 然后继续运行下面的"echo 该用户为管理员". |
|
| 第5楼 jarry0932 | 发表于 2009-12-19 00:26 |
| 初级用户 发帖 122 积分 128 | |
|
谢谢LS的提醒,昨天晚上太困了,没注意,确实有错误,现更正如下:
@echo off net user %username% | find /i "administrators" >nul 2>nul if %errorlevel%==1 (echo 该用户为普通用户 & pause && goto:eof) echo 该用户为管理员 pause |
|
| 第6楼 Hanyeguxing | 发表于 2009-12-19 00:46 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
|
使用else ,不必用goto。也可以使用&&和||来替换if的判断 [ Last edited by Hanyeguxing on 2009-12-19 at 00:47 ] |
|
| 第7楼 everest79 | 发表于 2009-12-21 03:55 |
| 金牌会员 发帖 1,127 积分 2,564 | |
|
wmic process where name='csrss.exe' getowner
wmic process where name='cmd.exe' getowner |
|
| 第8楼 bootp | 发表于 2009-12-21 04:56 |
| 初级用户 发帖 25 积分 66 | |
|
非常感谢!!5楼代码有效。
请教7楼,代码没看明白,能稍加解释吗? |
|
| 第9楼 everest79 | 发表于 2009-12-22 04:31 |
| 金牌会员 发帖 1,127 积分 2,564 | |
|
wmic process where name='cmd.exe' getowner
查看进程cmd.exe的所有者,也就是运行用户名,你以超级用户执行或当前登录用户执行cmd.exe,使用这个查询可以看到不同的用户名 例如 wmic process where name='csrss.exe' getowner 的所有者是system |
|
| 第10楼 yishanju | 发表于 2009-12-22 05:37 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
7楼才是正解。
|
|
| 第11楼 bootp | 发表于 2009-12-22 18:36 |
| 初级用户 发帖 25 积分 66 | |
|
非常感谢!!
各自运行了一下,这个代码可以判断出某进程的所有者。 上面给出的答案可以判断出当前用户是不是管理员。 再次感谢!! |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |