IT天空

 找回密码
 加入我们

手机号码,快捷登录

搜索

[封装求助] 想问一下ES4首次进入桌面调用的程序可以以管理员身份运行吗?

[复制链接]
mxj987 发表于 2019-3-11 08:52:49 | 显示全部楼层 |阅读模式

WIN10PRO封装有个批处理文件需要首次进入桌面运行,这个批处理要求右键——以管理员身份运行才好用。应该怎么办
最近访问 头像模式 列表模式
小鱼儿yr 发表于 2019-3-11 09:51:13 来自手机 | 显示全部楼层

活跃 340357| 技术 207| 互助 275| 钻石 5950

直接以管理员权限封装系统不就行了吗?

点评

好主意,但是总觉得WIN10用ADMIN用户毛病多多的  详情 回复 发表于 2019-3-11 10:20
yuexinyie 发表于 2019-3-11 10:03:28 | 显示全部楼层

活跃 1571| 技术 9| 互助 14| 钻石 20

本帖最后由 yuexinyie 于 2019-3-11 10:21 编辑

可以在批处理文件中直接提权,下列放在原批处理前面(根据魔方的做了修改,WIN10测试通过):
@echo off
:: 批处理文件本身目录
cd /d %~dp0
::  当前目录环境变量
SET CurDir=%CD%

::  获取该批处理文件管理员权限

:init
setlocal DisableDelayedExpansion
set "batchPath=%~0"
for %%k in (%0) do set batchName=%%~nk
set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
setlocal EnableDelayedExpansion

:checkPrivileges
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )

:getPrivileges
if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)

::  请求 UAC 权限批准

ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
ECHO args = "ELEV " >> "%vbsGetPrivileges%"
ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
ECHO args = args ^& strArg ^& " "  >> "%vbsGetPrivileges%"
ECHO Next >> "%vbsGetPrivileges%"
ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
exit /B

:gotPrivileges
setlocal & pushd .
if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul  &  shift /1)

::  以下为需要运行的批处理文件代码




点评

set _Args=%* if "%~1" NEQ "" ( set _Args=%_Args:"=% ) fltmc 1>nul 2>nul || ( cd /d "%~dp0" cmd /u /c echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd  详情 回复 发表于 2019-3-11 10:29
哇 好专业  详情 回复 发表于 2019-3-11 10:22
 楼主| mxj987 发表于 2019-3-11 10:20:57 | 显示全部楼层

活跃 1827| 技术 0| 互助 0| 钻石 0

小鱼儿yr 发表于 2019-3-11 09:51
直接以管理员权限封装系统不就行了吗?

好主意,但是总觉得WIN10用ADMIN用户毛病多多的
 楼主| mxj987 发表于 2019-3-11 10:22:14 | 显示全部楼层

活跃 1827| 技术 0| 互助 0| 钻石 0

yuexinyie 发表于 2019-3-11 10:03
可以在批处理文件中直接提权,下列放在原批处理前面(根据魔方的做了修改,WIN10测试通过):
@echo off
...

哇 好专业

点评

@echo off setlocal set uac=~uac_permission_tmp_%random% md "%SystemRoot%\system32\%uac%" 2>nul if %errorlevel%==0 ( rd "%SystemRoot%\system32\%uac%" >nul 2>nul ) else ( echo set uac = CreateO  详情 回复 发表于 2019-3-11 12:49
0day 发表于 2019-3-11 10:29:19 来自手机 | 显示全部楼层

活跃 14322| 技术 69| 互助 80| 钻石 430

yuexinyie 发表于 2019-3-11 10:03
可以在批处理文件中直接提权,下列放在原批处理前面(根据魔方的做了修改,WIN10测试通过):
@echo off
...

set _Args=%*
if "%~1" NEQ "" (
  set _Args=%_Args:"=%
)
fltmc 1>nul 2>nul || (
  cd /d "%~dp0"
  cmd /u /c echo Set UAC = CreateObject^("Shell.Application"^) : UAC.ShellExecute "cmd.exe", "/k cd ""%~dp0"" && ""%~dpnx0"" ""%_Args%""", "", "runas", 1 > "%temp%\GetAdmin.vbs"
  "%temp%\GetAdmin.vbs"
  del /f /q "%temp%\GetAdmin.vbs" 1>nul 2>nul
  exit
)

点评

这个简单,很好,还没用过,先收了,谢谢。  详情 回复 发表于 2019-3-11 10:50
yuexinyie 发表于 2019-3-11 10:50:26 | 显示全部楼层

活跃 1571| 技术 9| 互助 14| 钻石 20

0day 发表于 2019-3-11 10:29
set _Args=%*
if "%~1" NEQ "" (
  set _Args=%_Args:"=%

这个简单,很好,还没用过,先收了,谢谢。
itsky2 发表于 2019-3-11 12:49:57 | 显示全部楼层

活跃 17580| 技术 38| 互助 76| 钻石 360


@echo off
setlocal
set uac=~uac_permission_tmp_%random%
md "%SystemRoot%\system32\%uac%" 2>nul
if %errorlevel%==0 ( rd "%SystemRoot%\system32\%uac%" >nul 2>nul ) else (
    echo set uac = CreateObject^("Shell.Application"^)>"%temp%\%uac%.vbs"
    echo uac.ShellExecute "%~s0","","","runas",1 >>"%temp%\%uac%.vbs"
    echo WScript.Quit >>"%temp%\%uac%.vbs"
    "%temp%\%uac%.vbs" /f
    del /f /q "%temp%\%uac%.vbs" & exit )
endlocal


这样更简单

点评

很好,也没用过,兼收并采照收不误,谢谢。  详情 回复 发表于 2019-3-11 16:11
天空是个不一样的地方,在这里:
有人品、没技术可以更快的学会技术;
有人品、有技术可以更快成为高手;
没人品、有技术等于0;
没人品、没技术尽早回火星吧。
Skyfree 发表于 2019-3-11 13:14:34 | 显示全部楼层

活跃 247225| 技术 1302| 互助 1665| 钻石 30764

你首次进桌面的那个用户是管理员则ES4的程序是以管理员方式运行,否则不是。

点评

谢谢S大回复  详情 回复 发表于 2019-3-12 16:31
yuexinyie 发表于 2019-3-11 16:11:59 | 显示全部楼层

活跃 1571| 技术 9| 互助 14| 钻石 20

itsky2 发表于 2019-3-11 12:49
@echo off
setlocal
set uac=~uac_permission_tmp_%random%

很好,也没用过,兼收并采照收不误,谢谢。
 楼主| mxj987 发表于 2019-3-12 16:31:51 | 显示全部楼层

活跃 1827| 技术 0| 互助 0| 钻石 0

Skyfree 发表于 2019-3-11 13:14
你首次进桌面的那个用户是管理员则ES4的程序是以管理员方式运行,否则不是。

谢谢S大回复
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

mxj987

1827

活跃

0

技术

0

互助
签到任务
最火的业界新闻
  • 锤子科技依然存活 罗永浩自曝坚果下一代新
  • Intel傲腾数据中心持久内存单条512GB 性能
  • 华为海思Hi1620芯片发布在即 7nm制程ARM架
  • 处理器挤牙膏升级?Intel:我能测出30倍CPU
  • 又一国产x86处理器可大规模上市:Intel至强
  • 华为被JEDEC、SDA、PCI-SIG三大标准组织集
  • 华为据称洽谈10亿美元贷款 美禁令后首次大
  • 硬件检测神器AIDA64 V6.0新版发布:支持Zen
  • 小屏新机红米7A发布:4000mAh电池加持
  • 华为Mate X和P30 Pro从Android官网被移除
炫酷的硬件Show
  • 振华SUPER FLOWER 铜皇450W 铜牌电源
  • 比小更小,Mini-STX装机
  • 华擎X99E-ITX + 银欣ML06 装机记
  • 最强双路泰坦硬管水冷 制作流程
  • 银欣FT02,双路E5工作站
  • 迟到的定制机箱小钢炮清理灰尘
  • 乔思伯UMX1 Plus,小巧的家用综合主机
  • 分体水冷第二弹-Inwin 805 infinity
  • 第一次DIY硬管水冷~~
  • 樱桃MX6.0 青轴 机械键盘 开箱
有趣的美图分享
  • 找到了,这就是你秃的原因
  • 算一算
  • 电影里这些十级撩人的情话,你不get一下吗
  • 日本网友给宠物猫头鹰喝了啤酒以后
  • 长沙一个女孩考科目二
  • 马:我tm谢谢你
  • 比智慧更重要的是思维:经典思维50法。参悟
  • 为什么很多招聘,年龄要求都是35周岁以下的
  • “小时候真傻,居然盼着长大。”
  • 女子相亲点10只虾每只298元!海归男没付钱
关注官方微信
快速回复 返回顶部 返回列表