উইন্ডোজ পরিষেবায় এক্সিকিউটেবলের পথে কীভাবে পরিবর্তন করবেন?


55

কমান্ড লাইন থেকে কোনও পরিষেবার জন্য আমি এক্সিকিউটেবলের পথ পরিবর্তন করতে চাই।

আমি এটা কিভাবে করবো?

আমি এক্সিকিউটেবলের পরিষেবাটির পথ থেকে অন্য .EXE চালাতে চাই।


যদি ডেভের উত্তরটি আপনার প্রয়োজন মতো না হয় তবে দয়া করে আরও কিছু ব্যাখ্যা করার জন্য "সম্পাদনা" লিঙ্কটি ব্যবহার করুন?
আরজান

উত্তর:


70

sc configপরিষেবাটি যে দিকে নির্দেশ করে সেই পথটি পরিবর্তন করতে আপনি কমান্ডটি ব্যবহার করতে পারেন :

SC CONFIG YourServiceName binPath= "C:\SomeDirectory\YourFile.EXE"

এটি নামক পরিষেবাটি আপডেট করবে YourServiceNameএবং "এক্সিকিউটেবলের পথে" এন্ট্রিতে পরিবর্তিত হবে C:\SomeDirectory\YourFile.EXE। আপনি আপনার পরিষেবাটি পরে পুনরায় চালু করতে চাইবেন, যা আপনি এটি সহ করতে পারেন:

NET STOP YourServiceName & NET START YourServiceName

আপনি যদি মাইএসকিউএল কনফিগারেশন (.ini) অন্য ড্রাইভে সরিয়ে থাকেন। আপনি অভ্যন্তরীণ উদ্ধৃতিগুলি ছেড়ে দিতে পারেন। কেবলমাত্র একক জোড়া ডাবল কোটে পুরো পরিবর্তিত স্ট্রিংটি মোড়ুন। আমার .ini এবং ডেটা ফোল্ডারটিকে ডি: উইন 7 এ চালিত করুন drive
ব্রায়ান বোটরাইট

1
এর মধ্যে যখন Path to executableকোটস এবং অন্যান্য পরামিতি রয়েছে তখন কী হবে ? উদাহরণস্বরূপ: "C:\Program Files\CollabNet\Subversion Server\svnserve.exe" --service -r "E:\Repositories" --listen-port "3690"দুঃখের সাথে আমার এইটির জন্য পুনরায় চালিত পথে যেতে হয়েছিল।
জেমস স্কেম্প

@ জেমস - আমি নিশ্চিত যে আপনি এই চরিত্রগুলি থেকে বাঁচতে পারবেন, তবে আমাকে এটির সাথে অভিনয় করতে হবে এবং আপনার কাছে ফিরে আসতে হবে।
লিটলববি টেবিল

6
বিনপথ = এবং কমান্ডের মধ্যে প্রয়োজনীয় স্থান রয়েছে তা লক্ষ করতে চাই। বোবা, আমি জানি।
ক্লো

2
বিনপথের উদ্ধৃতিগুলি ব্যাকস্ল্যাশ দিয়ে পালানো যায়: \ "
gwyn

16

রেজিস্ট্রিতে আপনাকে এটি করতে হবে:

HKEY_LOCAL_MACHINE \ সিস্টেম \ CurrentControlSet \ সার্ভিস

পরিষেবাটিতে নেভিগেট করুন, তারপরে নতুন পথ প্রতিফলিত করতে চিত্রের নামটি সংশোধন করুন

সর্বদা হিসাবে, সিস্টেম পিআরওআর একটি ব্যাকআপ করুন।


এটি আমার পক্ষে আরও ভাল কাজ করেছে। আমি যে পরিষেবাটি পরিবর্তন করছিলাম তাতে কিছু জটিল যুক্তি ছিল।
জন অ্যালার্স

2

আপনি পাওয়ারশেলের মাধ্যমে এটিও করতে পারেন:

Get-WmiObject win32_service -filter "Name='My Service'" `
    | Invoke-WmiMethod -Name Change `
    -ArgumentList @($null,$null,$null,$null,$null, `
    "C:\Program Files (x86)\My Service\NewName.EXE")

বা:

Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Services\My Service" `
    -Name ImagePath -Value "C:\Program Files (x86)\My Service\NewName.EXE"

1

উপরে প্রদত্ত উত্তরটি দুর্দান্ত কাজ করে, আমি এর জবাব দিতে পারব না, তবে যোগ করার জন্য, আপনার যদি পথে কোনও উদ্ধৃতি বা অন্যান্য যুক্তি থাকতে হবে, তবে রেজিস্ট্রিতে একটি অনির্দিষ্ট পথের দুর্বলতা ঠিক করতে বলুন, যেমন একটি চিত্রপথ, আপনি প্রশাসক হিসাবে সিএমডি থেকে নিম্নলিখিতগুলি করতে পারেন :

(যেমন সি এর জন্য: \ প্রোগ্রাম ফাইলগুলি (x86) \ আপনার পরিষেবা \ আপনারপ্রসেস.এক্সই)

SC CONFIG YourService binPath= "\"C:\Program Files (x86)\YourService\YourProcess.exe\"

আপনি অ্যাডমিন হিসাবে পাওয়ারশেল থেকে নিম্নলিখিতটি করতে পারেন :

 SC.exe CONFIG YourService binPath= --% "\"C:\Program Files (x86)\YourService\YourProcess.exe\"

এগুলি আপনাকে নিম্নলিখিত ফলাফল দেবে:

"C:\Program Files (x86)\YourService\YourProcess.exe"

... রক্তাক্ত আর্গুমেন্ট এবং পলায়ন পরামিতি একটি দুঃস্বপ্ন! আশা করি এটি ভবিষ্যতে কাউকে সহায়তা করবে।


0

কোনও পরিষেবা কার্যকর করার জন্য আপনি সরাসরি আপনার পথ সম্পাদনা করতে পারবেন না। তার জন্য আপনি sc কমান্ড ব্যবহার করতে পারেন,

প্রশাসক হিসাবে আপনার কমান্ড প্রম্পটটি খুলুন তারপরে নিম্নলিখিত কমান্ডটি টাইপ করুন,

SC CONFIG ServiceName binPath= "Path of your file"

উদাহরণ:

sc config MongoDB binPath="I:\Programming\MongoDB\MongoDB\bin\mongod.exe --config I:\Programming\MongoDB\MongoDB\bin\mongod.cfg --service"

: - আপনার লিটলববি টেবিলের মতো দেখতে, আপনি যদি বিশদ পার্থক্য করতে পারেন তবে দয়া করে করুন। কীভাবে উত্তর দিতে হবে এবং ট্যুরের পড়া এখনই সর্বদা ভাল।
mic84
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.