আমি পরিষেবাগুলির একটি তালিকা কীভাবে বের করব এবং সেগুলি কী অ্যাকাউন্ট হিসাবে চালিত হয়?


13

এই প্রশ্নের জোর দ্বিতীয়ার্ধে হয়।

আমি জানি কীভাবে সমস্ত পরিষেবার একটি তালিকা এক্সট্রাক্ট করতে হয় এবং কীভাবে তাদের রাজ্যে ফিল্টার করা যায়। যাইহোক, আমি কীভাবে অনিশ্চিত তা হ'ল পরিষেবাটি "হিসাবে চালানো" সেট করা হয়েছে এমন অ্যাকাউন্ট থেকে ব্যবহারকারী অ্যাকাউন্টটি বের করা।

আমার কাছে পাওয়ারশেল ব্যবহার করার বিকল্প নেই (দুর্ভাগ্যক্রমে) তাই আমি একটি নেটিভ সিএমডি উপায় খুঁজছি। আমি ধরে নিয়েছিলাম স্কো ক্যোয়ারী কমান্ডটি ব্যবহার করার একটি উপায় থাকবে তবে সমস্ত তালিকা হ'ল:

SERVICE_NAME
TYPE
STATE
WIN32_EXIT_CODE
SERVICE_EXIT_CODE
CHECKPOINT
WAIT_HINT

এফওয়াইআই - ওএস হ'ল উইন্ডোজ 2003 এসপি 2 এবং আমার সমস্ত তথ্যের জন্য এই তথ্যটি প্রয়োজন তাই এটির প্রতিটিটির জন্য যদি আমি নিজেই এটি করতেই পারি তবে এটি দীর্ঘায়িত প্রক্রিয়া।

উত্তর:


20

wmic:
নাম এবং সমস্ত পরিষেবার জন্য অ্যাকাউন্ট:
wmic service get name,startname

শুধুমাত্র পরিষেবা শুরু:
wmic service where started=true get name, startname

নামে নির্দিষ্ট প্যাটার্ন সহ পরিষেবাগুলি:
wmic service where 'name like "%sql%"' get name, startname

এইচটিএমএল টেবিল হিসাবে সুন্দরভাবে ফর্ম্যাট করা (এবং তারপরে আপনার ব্রাউজারে খোলা):
(wmic service where 'name like "%sql%"' get name, startname /format:htable >out.html) && out.html

এখানে সম্পূর্ণ সিনট্যাক্স: https://msdn.microsoft.com/en-us/library/aa394531%28v=vs.85%29.aspx


মধ্যে পার্থক্য কি sc queryএবং wmic?
পেসারিয়ার

1
@ পেসারের ক্ষেত্রে পার্থক্য কী? এগুলি কেবল আলাদা (সেমিডি লাইন) সরঞ্জাম যা আপনাকে ক্যোয়ারী / পরিষেবার সাথে ইন্টারঅ্যাক্ট করতে দেয়; sc শুধুমাত্র এই উদ্দেশ্যে, যদিও ডাব্লুমিক আরও সাধারণ (যেমন এটির ফলে সিস্টেমের বিভিন্ন অংশ অনুসন্ধান করা যায়)। এই নির্দিষ্ট সমস্যাটির জন্য ডাব্লুএমই ব্যবহার করা আরও সহজ (শুধুমাত্র একটি ক্যোয়ারী)
ডাব্লুএমজেড

5

আপনি দুটি পদক্ষেপে এটি সম্পাদন করতে পারেন:

  1. পরিষেবাগুলির তালিকা পান:sc \\localhost query | findstr SERVICE_NAME
  2. আপনার অনুপস্থিত অংশ: sc \\localhost qc+ SERVICE_NAME +| findstr SERVICE_START_NAME

আমি এই জাতীয় ব্যাচের স্ক্রিপ্টটি সুপারিশ করব:

@echo off
setlocal EnableDelayedExpansion
sc \\localhost query | findstr SERVICE_NAME > services.lst
for /f "tokens=1,2" %%A in (services.lst) do (
    echo %%B
    sc \\localhost qc %%B | findstr SERVICE_START_NAME
)
del services.lst

এটি আপনাকে এরকম একটি আউটপুট দেয়: এখানে চিত্র বর্ণনা লিখুন

অবশ্যই, আপনি সেই আউটপুটটি আরও পরিষ্কার করতে পারেন বা আপনার পছন্দ মতো কোনও সিএসভি ফাইলে লিখতে পারেন।


1

এটি করার কোনও সিএমডি এর নেটিভ উপায় নেই। এসসি এবং নেটগুলি অন্তর্নির্মিত অ্যাপ্লিকেশন যা উইন্ডোজের সাথে আসে তবে এর অর্থ এই নয় যে তারা নেটিভ। যে কোনও সময়ে কোনও প্রশাসক এগুলি মুছে ফেলতে পারে এবং তারপরে এমনকি সিএমডি অন্ধকারে রেখে যায়।

sc sdshow হ'ল যা আপনাকে সুরক্ষা বর্ণনাকারী পাবেন, তবে এসডিডিএল স্ট্রিংগুলি কীভাবে পড়তে হয় তা আপনি যদি না জানেন তবে এটি জিনিসগুলিকে জটিল করে তুলবে।

সবচেয়ে সহজ উপায় হ'ল সরঞ্জাম প্যাকেজ থেকে সিসিনটার্নালস পিএস সার্ভিস.এক্সই পেতে এবং এটিকে psservice সুরক্ষা [পরিষেবা] হিসাবে ব্যবহার করা। এটি অ্যাকাউন্টের নাম সহ পাঠ্যযোগ্য ফর্ম্যাটে এসডিডিএল তালিকাবদ্ধ করবে।


"এটি করার কোনও নেটিভ উপায় নেই" বলতে কী বোঝ? C:\Windows\System32\sc.exeউইন্ডোজ সব সংস্করণ জন্য এটি না ?
পেসারিয়ার

আবার পড়তে. অন্তর্নির্মিত অর্থ সিএমডির মতো অপসারণযোগ্য। যদি কোনও প্রশাসক পাওয়ারশেলকে অক্ষম করে, তবে সে স্ক এবং নেটও অক্ষম করতে পারে। সবচেয়ে সহজ উপায় হ'ল একটি পোর্টেবল অ্যাপ্লিকেশন ব্যবহার করা যা ডিফল্টরূপে সমস্ত কিছু করে এবং ওএসের সাথে আবদ্ধ নয়।
জেসনএক্সএ

1

যদিও আপনি পাওয়ারশেল ব্যবহার করতে পারবেন না তবে আপনার এখনও ডাব্লুএমআই থেকে তথ্য টানতে ভিবিএস স্ক্রিপ্ট ব্যবহার করতে সক্ষম হওয়া উচিত:

এখানে একটি ভিবিএস স্ক্রিপ্ট রয়েছে যা সমস্ত পরিষেবা এবং তারা যে অ্যাকাউন্ট হিসাবে শুরু করে তা তালিকাভুক্ত করবে:

strComputer = "."

Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colServices = objWMIService.ExecQuery ("Select * from Win32_Service")

For Each objService in colServices 
    wscript.echo objService.Name & ": " & objService.StartName
Next

এটি সংরক্ষণ করুন এবং তারপরে এটি চালান cscript ScriptName.vbs

objService.State আপনাকে পরিষেবার বর্তমান অবস্থা দেবে (যেহেতু আপনি উল্লেখ করেছেন যে আপনি এটি দ্বারা ফিল্টার করছেন)।

উইন 32_ সার্ভিস ক্লাসে আরও তথ্য ।

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