您好,登錄后才能下訂單哦!
Windows的客戶端管理經(jīng)常會遇見一個場景,用戶需要升級某個軟件,但是需要管理員權(quán)限,如果是那些沒有通過組策略或者SCCM發(fā)布的程序,那么桌面支持需要親自跑過去,輸入管理員用戶和密碼提升權(quán)限進(jìn)行操作。
那么怎么才能讓普通的用戶能夠以管理員權(quán)限執(zhí)行某個程序呢?
最簡單的方法是創(chuàng)建個快捷方式,路徑上指定runas的管理員賬號和密碼,文件的路徑就可以執(zhí)行了。不過這樣的缺點是密碼賬號都是明文顯示的,用戶稍微聰明一點就能看見。解決方法很簡單,把runas的操作用腳本實現(xiàn),然后編譯成exe文件就可以隱藏源代碼了。
下面來個簡單的例子 我希望以管理員權(quán)限來打開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,他的實質(zhì)就是壓縮以后加工exe的外殼。一般可以用PowerGui這個軟件來編譯,不過我懶得下載安裝這么大個軟件,直接用Powershell的腳本也可以實現(xiàn)。這個PowerShell的腳本已經(jīng)有人寫好了,下載鏈接 https://gallery.technet.microsoft.com/scriptcenter/PS2EXE-GUI-Convert-e7cb69d5
下載完成 里面都有現(xiàn)成的例子。為了省事,我直接把我的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"
然后執(zhí)行這個BuildExamples.bat文件,他會自動編譯ps1文件為exe文件,并加上指定的ICON
雙擊我的t2.exe 他會自動打開teamviewer
查看一下進(jìn)程的確是administrator執(zhí)行的
問題解決
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。