網域:aaaa
管理員帳號:tits
密碼:abc123
要執行的小軟體:NTPClock.exe
求救各位專業的大大們
嘗試很多網路上runas的寫法,但都沒有反應
請問有人嘗試過用BAT寫 使用管理權限 輸入帳號密碼 執行NTPClock.exe實際成功過的嗎
可能我沒說清楚,不是只有一台電腦
我是要搭配AD的群組原則使用,所以要使用BAT檔
FYI
@echo off
REM CLS
REM ECHO.
REM ECHO =============================
REM ECHO Running Admin Shell
REM ECHO =============================
:init
setlocal DisableDelayedExpansion
set "batchPath=%~0"
for %%k in (%0) do set batchName=%%~nk
set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
setlocal EnableDelayedExpansion
:checkPrivileges
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
:getPrivileges
if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
ECHO.
ECHO **************************************
ECHO Invoking UAC for Privilege Escalation
ECHO **************************************
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
ECHO args = "ELEV " >> "%vbsGetPrivileges%"
ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"
ECHO Next >> "%vbsGetPrivileges%"
ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
exit /B
:gotPrivileges
setlocal & pushd .
cd /d %~dp0
if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)
::::::::::::::::::::::::::::
::START
::::::::::::::::::::::::::::
start NTPClock.exe
exit
copy to bat
呼叫 bat 檔試試
我是單機跑
沒試過 Domain
1.放到工作排程器內,開機後就執行
2.放到Windows的啟動資料夾內,登入後就會執行
您的問題可參考以下連結:
runas/cpau/lsrunase使用小結(以管理員運行指定程序)
文中提到的/savecred參數我試過一直搞不定,所以我都使用第二種方式lsrunase,存在bat中的密碼是加密過的,稍微安全一些些
如果不敢用第三方程式,也有高手是用AutoIT來作,他有個runas函數,可以傳密碼參數進去,也可編繹成執行檔,這樣是更安全,但您得先學一下AutoIT這套工具
lsrunase 能稍微講一下操作方法嗎
這個套件有兩支程式:
C:\Users\benlin\Downloads\cpauisrunase\cpauisrunase\lsrunase.exe /user:tsti /password:abc123== /domain:aaaa /command:"C:\Users\benlin\Desktop\NTPClock.exe" /runpath:"C:\Users\benlin\Desktop"
這樣製作成BAT檔嗎
但我點BET檔沒有反應,是我有打錯嗎
password不能用明碼"abc123",要用加密過的"7F1z3qRd"
您可以看一下之前連結裡的說明:
使用lsrunase,這是第三方程序,需要下載。自帶 LSencrypt 用來生成加密的字串。
用法:
lsrunase.exe /user:administrator /password:ABCDqfmI /domain: /command:"D:\Program Files\AnyDesk.exe" /runpath:"D:\Program Files"
所有的參數必須齊全,其中:
user 爲運行的賬號
password 爲密碼加密後的字串
domain 爲機器名或域名,也可留空代表本機
command 爲要運行的程序名,如果攜帶參數需要在命令的首尾加引號
runpath 爲程序啓動的路徑
特點:可以較完美的替代 runas,並避免直接將密碼明文保存在腳本中。
lsrunase.exe /user:tits /password:zF1z3qRdqvo= /domain:aaaa /command:"C:\Users\benlin\Desktop\cpauisrunase\cpauisrunase\NTPClock.exe" /runpath:"C:\Users\benlin\Desktop\cpauisrunase\cpauisrunase"
還是沒反應
有空能幫我試看看本機,你能不能製作成功嗎
NTPClock.exe 我試過 放再System32,和lsrunase.exe同地方,如上指定位置,都沒有反應,
感恩
這程式我之前試過是OK的,不過lsrunase.exe有些防毒軟體會攔截,要設成例外。
你先試直接在CMD下打這行指令能不能正常執行,不能正常執行應該會有錯誤訊息
lsrunase.exe /user:tits /password:zF1z3qRdqvo= /domain:aaaa /command:"NTPClock.exe" /runpath:"C:\Windows\System32"
有執行,但不是管理權限