ฉันมีหนึ่งงานที่ก่อให้เกิด exe เมื่อระบบเริ่มต้น งานถูกสร้างขึ้นด้วยสิทธิ์สูงสุดและสิทธิ์ระบบ แต่กระบวนการจริงจะทำงานด้วยสิทธิ์ระดับผู้ใช้ วิธีเรียกใช้กระบวนการด้วยสิทธิ์ของระบบ
Local $taskName = 'test1'
_TaskExists($taskName)
If @error = 0 Then
_trace("Task " & $taskName & " exists: updating...")
RunWait("schtasks /DELETE /F /TN " & $taskName, $WORKING_DIR, @SW_HIDE)
RunWait("schtasks /CREATE /RU SYSTEM /F /TN " & $taskName & " /TR " & '"' &
@ScriptFullPath & '"' & " /SC ONSTART /RL HIGHEST ", $WORKING_DIR, @SW_HIDE)
Else
_trace("Task " & $taskName & " does not exist: creating...")
RunWait("schtasks /CREATE /RU SYSTEM /F /TN " & $taskName & " /TR " & '"' &
@ScriptFullPath & '"' & " /SC ONSTART /RL HIGHEST ", $WORKING_DIR, @SW_HIDE)
If @error Then
_error("Task " & $taskName & " was not created successfully: " & @error)
EndIf
EndIf
มีวิธีใดบ้างที่เราสามารถเรียกใช้กระบวนการด้วยสิทธิพิเศษของ SYSTEM?
หมายเหตุ: มันเป็นกระบวนการ GUI
@PimpJuiceIT ฉันลองสิ่งที่คุณพูดถึง ไม่ได้รับการแก้ไขแท็กมีสิทธิ์ระบบ แต่กระบวนการยังคงสร้างด้วยสิทธิ์ผู้ดูแลระบบ
—
rockIT
schtasks /CREATE /RU SYSTEM /F /TN
แล้วตรรกะที่เหลือก็เหมือนกับที่คุณมี ดังนั้นหลังจากที่/CREATE
เพิ่มเข้า/RU SYSTEM
มาก่อน/F
แล้วจึงเรียกใช้ตรรกะเช่นนั้นและดูว่าคุณได้รับผลลัพธ์ที่คาดหวังหรือไม่ แท็กฉันกลับมา@RongaliRamunaidu
และแจ้งให้เราทราบว่าจะช่วยแก้ปัญหาหรือไม่