উত্তর:
পোস্টারটি পুনরায় চালু করার চেষ্টা করার আগে পরিষেবাটি বন্ধ হয়ে গেছে তা নিশ্চিত করতে চায়। "Sc ক্যোয়ারী" এর ফলাফল হিসাবে আপনি কিছু করতে করতে একটি লুপ ব্যবহার করতে পারেন:
:stop
sc stop myservice
rem cause a ~10 second sleep before checking the service state
ping 127.0.0.1 -n 10 -w 1000 > nul
sc query myservice | find /I "STATE" | find "STOPPED"
if errorlevel 1 goto :stop
goto :start
:start
net start | find /i "My Service">nul && goto :start
sc start myservice
পাওয়ারশেলের সাহায্যে মরা সহজ:
PS >Restart-Service MySrvcHere
আরও ভাল, প্রদর্শন নাম ব্যবহার করে:
PS >Restart-Service -displayname "My Service Name Here"
Get-Help Restart-Service
আরো বেশী
এটি যদি নিখুঁতভাবে পরিষেবাটি পুনরায় চালু করার জন্য হয় তবে আপনি এটি ব্যবহার করতে পারেন
Net stop myservice
Net start myservice
তবে, আপনি যদি sc এর বিকল্পগুলিতে অ্যাক্সেস চান তবে আপনি স্টার্ট / ওয়েট কমান্ডটি ব্যবহার করতে পারেন
start /B /WAIT CMD /C "sc stop myservice"
start /B /WAIT CMD /C "sc start myservice"
এই কৌশলটি একটি আরও সাধারণ সমাধান যা কোনও আদেশে প্রয়োগ করা যেতে পারে।
sc stop myservice
কেবল স্টপ কমান্ড প্রেরণ করবে এবং পরিষেবা বন্ধ হওয়ার আগে ফিরে আসবে। শুরু / বি দিয়ে এসসি কল করা কোনও উপকার করবে না।
আছে শান্ত কিছু সেবা, যা (সার্ভার পরিসেবা হিসাবে উদাহরণস্বরূপ) নিশ্চিতকরণ জিজ্ঞেস বন্ধ করা এর পুনর্সূচনা, আপনি যোগ করতে পারিনি Y / স্টপ কমান্ড শেষে।
net stop Server /y
net start Server
এটি স্বয়ংক্রিয় স্ক্রিপ্ট প্রয়োগের জন্য সহায়ক হবে।
আপনি যদি কোনও ব্যর্থ পরিষেবা পুনরায় চালু করতে চান তবে আপনাকে স্ক্রিপ্ট চালানোর দরকার নেই। পরিষেবাগুলিতে এমএমসি স্ন্যাপিন একটি সেবার ডান ক্লিক করুন, বৈশিষ্ট্য নির্বাচন করুন, পুনরুদ্ধার ট্যাবে ক্লিক করুন। পরিষেবাটি বন্ধ হয়ে গেলে আপনি কী পদক্ষেপ নিতে চান তা এখানে সেট করতে পারেন। প্রচুর নমনীয়তা উপলব্ধ। আপনি স্ক্রিপ্টের প্রয়োজন হবে যদি আপনি এই পরিষেবাটি বন্ধ করার চেষ্টা করছেন, কিছু করুন তারপরে স্ক্রিপ্টটি শুরু করুন, ব্যাচ ফাইলটি প্রিফেস করুন net stop "myserviceshortname"
এবং এর সাথে শেষ করুনnet start "myserviceshortname"
Vbscipt এ কোনও পরিষেবা এবং তার 'নির্ভরশীলদের থামানোর জন্য এটি আরও কিছুটা কোড:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery("Associators of " _
& "{Win32_Service.Name='myservice'} Where " _
& "AssocClass=Win32_DependentService " & "Role=Antecedent" )
For each objService in colServiceList
objService.StopService()
Next
Wscript.Sleep 20000
Set colServiceList = objWMIService.ExecQuery _
("Select * from Win32_Service where Name='myservice'")
For each objService in colServiceList
errReturn = objService.StopService()
Next
এখানে একটি পরিষেবা এবং এটি নির্ভর করে যে কোনও কিছু শুরু করছে (এটি পরিচিত হওয়া উচিত)
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colServiceList = objWMIService.ExecQuery _
("Select * from Win32_Service where Name='Myservice'")
For each objService in colServiceList
errReturn = objService.StartService()
Next
Wscript.Sleep 20000
Set colServiceList = objWMIService.ExecQuery("Associators of " _
& "{Win32_Service.Name='myservice'} Where " _
& "AssocClass=Win32_DependentService " & "Role=Dependent" )
For each objService in colServiceList
objService.StartService()
Next