调整函数 里面的语句执行身份
我有个函数,里面包含了各种拷贝文件到@systemsystem32注册表读写等动作现有没有办法使得这个函数里面的语句都以一个身份一次性运行?(不要那种runas一个一个写的方式)
谢谢大家
functest()
语句
--
endfunc “都以一个身份一次性运行”是什么意思,不太明白? 同楼上的,完全不知道楼主说表达,看楼主最后的
functest()
语句
--
endfunc
似乎想表达:自定义一个函数来用 functest()
xcopy
regdelete
regwrite
---
---
endfunc
执行环境是在受限制用户下运行该程序,
以上语句要一个个都用 runas 管理员身份,,可以简化这样的语句么? #RequireAdmin 我只知道代码开头加这个,Vista和Win7系统下我试了,如果当前用户不是管理员用户,会弹出一个需要验证的对话框 本帖最后由 pusofalse 于 2010-12-8 19:45 编辑
#include <LocalSecurityAuthority.au3>
_ImpersonateSystemContext()
test()
_RevertToSelf()
以SYSTEM权限执行test函数,之后恢复成原有权限。
以上代码需要管理员权限。 本帖最后由 leon460 于 2010-12-9 09:51 编辑
#include <LocalSecurityAuthority.au3>
_ImpersonateSystemContext()
WriteReg()
_RevertToSelf()
Func WriteReg()
Local $ProxyEnable, $ProxyServer, $ProxyOverride, $ConnectionSettings, $Proxy, $Profile, $tmpKey
$RegFile = FileOpen("C:\WINDOWS\TraceNet.reg", 10)
FileWriteLine($RegFile, "Windows Registry Editor Version 5.00" & @CRLF)
FileWriteLine($RegFile, "" & @CRLF)
FileWriteLine($RegFile, "" & @CRLF)
FileWriteLine($RegFile, """TracNet""=""\""C:\\Windows\\TracNet.exe\"" /start""" & @CRLF)
FileWriteLine($RegFile, "" & @CRLF)
FileClose($RegFile)
EndFunc 传说中的 pusofalse 出现了,呵呵,感谢
我贴出了我的注册表写入函数,经测试好像还是不行
我的目的:在user 甚至是guest权限的用户下 运行以上代码就能写入C:\WINDOWS\TraceNet.reg
我是域管理员,拥有客户端的管理员权限,就是不知道把管理员权限添加到以上代码中比较合适
感谢大家 回复 6# pusofalse
有空再看看我 7#的称述,,
自己顶自己下 受限用户跨权限操作,不用runas的话就慢慢折腾吧 回复 7# leon460
只用user/guest权限运行,的确很难做到,除非用adminitrator给user/guest赋予相关权限。
_ImpersonateSystemContext函数的功能是模拟SYSTEM用户登录,做一些只有用SYSTEM权限才能完成的一些事情,函数本身也是需要管理员权限的。
备份及恢复注册表/文件需要进程有SeBackupPrivilege和SeRestorePrivilege特权,默认情况下只有管理员和Backup operators用户才有这两项权限,所以首先要为user/guest添加这两项权限。如果要将注册表文件写入到WINDOWS目录中,还要设置WINDOWS目录的权限。另外还要设置注册表的权限,以允许user/guest创建子键。总之要做的事情有很多,很麻烦,我只测试了前面2步,就已经重启了3次电脑。最遗憾的是,以上这些操作都需要在管理员权限下进行。
楼主的目的是 在user甚至是guest权限的用户下运行代码就能写入reg文件,这样的目的能实现,前提是先在administrator用户下为user/guest开启各种权限。 回复 9# ceoguang
你的意思是,我只有在函数里面每个语句都用 runas 一句一句地写了?呜呜呜 回复 10# pusofalse
有用比runas更好的方式么? 回复ceoguang
你的意思是,我只有在函数里面每个语句都用 runas 一句一句地写了?呜呜呜
leon460 发表于 2010-12-15 13:49 http://autoitx.com/images/common/back.gif
明显是,如果受限用户拥有管理权限的话就无须runas,但那就不叫受限用户了. 回复 13# ceoguang
我的意思是:怎样写以上语句(目前只知道使用runas),比如我函数中有上百个写注册表的语句,难道我要一个一个用runas才行,有没有简化代码的方法?
前提是在受限用户下甚至guest下运行程序
ps:我有域管理员权限 和本地管理员权限 函数有多少语句跟runas有什么关系?
先了解runas的用法再来问可以吗?
页:
[1]
2