যতক্ষণ না সেকেন্ডারি লগন পরিষেবা ( seclogon
) চলমান থাকবে ততক্ষণ নিম্নলিখিত কোডগুলিতে টাস্কটি স্বয়ংক্রিয় করতে ব্যাচ এবং ভিবিএস স্ক্রিপ্ট ফাইলগুলির সংমিশ্রণের অনুমতি দেওয়া হয়েছে। ব্যাচ ফাইলটি ফাইলকে যে কোনও পথে রাখার অনুমতি দেওয়ার জন্য আপেক্ষিক পাথের রেফারেন্স ব্যবহার করে যা কমপক্ষে বর্তমান এবং নির্বাচিত ব্যবহারকারী অ্যাকাউন্টগুলির দ্বারা কমপক্ষে পড়ার অনুমতি দেয় allows উভয় ফাইল একই পথের মধ্যে অবস্থিত হওয়া উচিত। ShellExecute
একটি ক্রিয়াপদের সাথে ব্যবহারের runasuser
ফলে উইন্ডোজ একটি হোস্ট কম্পিউটারের দ্বারা অনুমোদিত কোনও লগন পদ্ধতি থেকে ব্যবহারকারীকে নির্বাচন করার অনুমতি দেওয়ার জন্য একটি প্রম্পট আনবে।
এই প্রক্রিয়াটি কোনও ব্যবহারকারী প্রারম্ভিক প্রক্রিয়াতে যুক্ত করা যেতে পারে যাতে এটি একবার কম্পিউটার সিস্টেমে লগইন হয়।
ব্যাচ ফাইল: {RunAsUser}{CMD}.cmd
@Echo Off
If "%~1" NEQ "/CALLBACK" Goto :label_Process_Run_As_User
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Start the process once running as designated user
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
cd C:\
start "" %~dp0cmd.lnk
Goto :EOF
:label_Process_Run_As_User
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Section below verifies if Secondary Login is available
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Query [Secondary Logon]
sc query seclogon 1> nul 2> nul || (
Goto :label_Missing_Secondary_Login
)
REM Check to see if [Secondary Logon] service is not disabled
sc qc seclogon | Find /i "START_TYPE" | Find /i "DISABLED" 1> nul 2> nul && (
Set flg.SecLog.Enabled=F
) || (
Set flg.SecLog.Enabled=T
)
REM Check to see if [Secondary Logon] service is Running
sc queryex seclogon | Find /i "STATE" | Find /i "RUNNING" 1> nul 2> nul && (
Set flg.SecLog.Running=T
) || (
Set flg.SecLog.Running=F
)
REM Determine if action should work
If /i "%flg.SecLog.Enabled%:%flg.SecLog.Running%" EQU "F:F" Goto :label_Secondary_Login_Unavailable
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Section below starts the RunAsUser process
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM System configuration was validateed and RunAsUser will commence
Set "str.SELF=%~0"
WSCRIPT /E:VBSCRIPT "%~dp0RunAsUser.txt"
Goto :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
REM Section below provides written notices to user for error conditions
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:label_Secondary_Login_Unavailable
Echo.
Echo Unable to utilize the Secondary Logon system service because it is disabled.
Echo.
pause
Goto :EOF
:label_Missing_Secondary_Login
Echo.
Echo Unable to find the Secondary Logon system service
Echo.
pause
Goto :EOF
ভিবিএস স্ক্রিপ্ট ফাইল: RunAsUser.txt
'-------------------------------------------
'
' Launch Process RunAsUser
CreateObject("Shell.Application").ShellExecute CreateObject("WScript.Shell").Environment("PROCESS")("str.SELF"), "/CALLBACK", "", "runasuser", 1
'
' Display a message box to pause script
msgbox "Enter username or select Certificate for account" & vbCrLf & "On the windows dialog that will popup." & vbCrLf & vbCrLf & "Click OK once process opens", vbokonly
'
' Quit the script
On Error Resume Next
Window.Close ' HTA Must be Closed Through the Window Object
Err.Clear
Wscript.Quit ' VBS Must be Closed Through the Wscript Object
Err.Clear
On Error Goto 0
'
' ----------------------------------------------------------------------