找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20280|回复: 2

[系统相关] [已解决]批处理通过 CALL 调用不能继承权限?

[复制链接]
发表于 2021-10-4 16:16:26 | 显示全部楼层 |阅读模式
本帖最后由 cntanglang 于 2021-10-8 09:43 编辑

在一个脚本中通过 CALL 调用另一个脚本

主脚本代码
  1. %1 mshta.exe vbscript:createobject("shell.application").shellexecute("""%~f0""","::",,"runas",1)(window.close)&&exit

  2. CALL DOALL.BAT "DO_FILE.TXT" "File" 1> "LOG\DO_FILE_%DATE:~-2,2%.LOG" 2>&1
复制代码
子脚本代码
  1. echo off

  2. ECHO %time%

  3. if exist "%~1" (

  4. setlocal EnableDelayedExpansion

  5. for /f "usebackq delims== tokens=1,2" %%a in ("%~1") do (

  6. ECHO %%a
  7. ECHO %%b

  8. ATTRIB -S -H "%%b"
  9. RD /S /Q "%%b.Ray"
  10. MOVE /Y "%%b" "%%b.Ray"

  11. if /i "%~2" == "FILE" ( DODODO "%%b" "Z:\TEMP\%%a.Ray" )

  12. ECHO "-----------------------------------------------------------"
  13. )

  14. )
  15. ECHO %time%
复制代码
现在的结果是:

1、如果在登录系统后,用管理员身份运行主脚本,一切正常;
2、如果将主脚本加入系统策略-脚本(启动)中,则出现错误: 【你没有足够的权限执行此操作。】  —— 虽然我已经在主脚本加入了提权代码

请求大神指点:
1、是我的提权代码有问题?
2、还是通过 CALL 调用不能继承权限?
3、我应该怎么处理?
多谢多谢





----------------------------------------------
使用 whoami 命令测试,发现调用者是 System 身份
本就属于管理员组,但在启动时具有的特权中,被系统刻意忽略了 SeCreateSymbolicLinkPrivilege 权限
哪怕在安全策略中配置这个权力给 System ,也同样被忽视。
后查询到一篇外文,提及Window8后的系统在启动过程中会可以去掉部分权限,其中就包含这个权限。

不过有意思的是:在启动中调用 MKLINK 的话 —— 针对文件的MKLINK会提示无权,但针对文件夹的则会成功。 双标还是BUG呢?
 楼主| 发表于 2021-10-4 17:26:48 | 显示全部楼层
通过测试,在 系统策略-脚本(启动) 中运行主脚本,所具有的权限为:nt authority\system 的权限。
后续出现无权限提示也是因为这个原因。

请教各位大神: 在这个阶段应该如何提升权限呢? 多谢多谢
发表于 2021-10-4 18:21:30 | 显示全部楼层
回复 2# cntanglang

用下面这段看看:

@echo off
cd /d "%~dp0
%1 %2
ver|find "5.">nul&&goto :Admin
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
:Admin
CALL DOALL.BAT "DO_FILE.TXT" "File" 1> "LOG\DO_FILE_%DATE:~-2,2%.LOG" 2>&1

或者创建BAT快捷方式,直接运行快捷方式就没事。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 01:25 , Processed in 0.029429 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表