我需要以管理员身份在命令提示符下运行命令。当我通常使用system()命令发送命令以在命令提示符下运行时,我没有管理员级别的提升。
如何获得管理员级权限才能运行我的说明?
我可以右键单击cmd.exe并选择“以管理员身份运行”以在管理员模式下手动打开命令提示符。
谢谢!
如果未安装7-Zip,我正在尝试安装7-Zip。 (你需要安装'wget'命令(*来自Cygwin或GnuWin32)来运行下面的剪辑)
use Cwd;
use File::Spec;
my $cwd = getcwd();
my $winpath = File::Spec->catdir($cwd);
if (!(-e "C:\\Program Files\\7-Zip")){
print "\n 7-Zip is not installed. Downloading ... \n";
system("wget http://downloads.sourceforge.net/project/sevenzip/7-Zip/9.20/7z920.exe?r=&ts=1392082197&use_mirror=softlayer-dal"); # SourceForge Mirror
print "\n Installing.. \n\n";
#print "\n Press \"install\" to install the 7-Zip installer on your pC\n\n";
if(-e $winpath."\\7z920.exe"){
system($winpath."\\7z920.exe");
}
}
答案 0 :(得分:0)
如果您能够以管理员身份运行cmd
,那么您可以从cmd
的该实例运行Perl脚本,它将继承管理员权限。
例如,您可以在c:\windows
:
use strict;
if (mkdir 'c:/windows/perltest/') {
print "We have admin permissions";
rmdir 'c:/windows/perltest/'
} else {
print "No admin permission"
}
如果您在没有管理员权限的情况下运行并希望提升它们,请检查How to elevate Perl process using UAC。
旁注:您可以跳过下载7-Zip。 Perl有many libraries that can handle zipping and unzipping。
答案 1 :(得分:0)
我发现了一个名为elevate.exe的简洁实用程序。
它非常棒。我现在能够使用管理员权限发送/执行命令。http://code.kliu.org/misc/elevate/
非常感谢。
(使用时请务必小心,它可能会损坏机器,并可能会破坏您的系统。)