重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Windows的客户端管理经常会遇见一个场景,用户需要升级某个软件,但是需要管理员权限,如果是那些没有通过组策略或者SCCM发布的程序,那么桌面支持需要亲自跑过去,输入管理员用户和密码提升权限进行操作。
成都创新互联是专业的东安网站建设公司,东安接单;提供网站建设、做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行东安网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!那么怎么才能让普通的用户能够以管理员权限执行某个程序呢?
最简单的方法是创建个快捷方式,路径上指定runas的管理员账号和密码,文件的路径就可以执行了。不过这样的缺点是密码账号都是明文显示的,用户稍微聪明一点就能看见。解决方法很简单,把runas的操作用脚本实现,然后编译成exe文件就可以隐藏源代码了。
下面来个简单的例子 我希望以管理员权限来打开teamviewer
写个脚本 t2.ps1
可以看见密码和用户都是明文显示的
$secpasswd = ConvertTo-SecureString 'Pa$$word' -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ("administrator", $secpasswd)
Start-Process "C:\Program Files (x86)\TeamViewer\TeamViewer.exe" -Credential $mycreds
下一步需要编译成exe。这里需要说明一下powershell并不能真正的‘编译’成exe,他的实质就是压缩以后加工exe的外壳。一般可以用PowerGui这个软件来编译,不过我懒得下载安装这么大个软件,直接用Powershell的脚本也可以实现。这个PowerShell的脚本已经有人写好了,下载链接 https://gallery.technet.microsoft.com/scriptcenter/PS2EXE-GUI-Convert-e7cb69d5
下载完成 里面都有现成的例子。为了省事,我直接把我的t2.ps1拖到了Examples的目录里面
修改一下BuildExamples.ps1, 指定目录和icon
$SCRIPTPATH = Split-Path $SCRIPT:MyInvocation.MyCommand.Path -parent
ls "$SCRIPTPATH\Examples\*.ps1" | %{
."$SCRIPTPATH\ps2exe.ps1" "$($_.Fullname)" "$($_.Fullname -replace '.ps1','.exe')" -verbose -iconfile "PSEXE.ico"
."$SCRIPTPATH\ps2exe.ps1" "$($_.Fullname)" "$($_.Fullname -replace '.ps1','-GUI.exe')" -verbose -noConsole
}
Remove-Item "$SCRIPTPATH\Examples\Progress.exe*"
Remove-Item "$SCRIPTPATH\Examples\ScreenBuffer-GUI.exe*"
$NULL = Read-Host "Press enter to exit"
然后执行这个BuildExamples.bat文件,他会自动编译ps1文件为exe文件,并加上指定的ICON
双击我的t2.exe 他会自动打开teamviewer
查看一下进程的确是administrator执行的
问题解决
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。