假设我有一个脚本需要读取普通用户无权读取的信息(例如其他用户的文件夹)。
目前我只能抱怨不能以“超级用户”身份运行并退出,但我更希望脚本自己请求提权。
目前我只能抱怨不能以“超级用户”身份运行并退出,但我更希望脚本自己请求提权。
Win32::FileOp::ShellExecute( runas => 'yourprogram.exe' )
或者
Win32::FileOp::ShellExecute( runasuser => 'yourprogram.exe' )
在我的工作中,经常会遇到这个问题而无法得到一个好的答案,因此我编写了Win32::RunAsAdmin。它仅仅是通过OLE调用Windows Shell并使用“runas”作为动词,但它方便地打包,所以你只需要将以下内容放在代码开头:
use Win32::RunAsAdmin qw(force);
perl.exe
作为要运行的程序即可。将您的脚本作为参数传递即可。(已测试) - ikegami