উইন্ডো পরিষেবা মুছে ফেলা হয়েছে তা সনাক্ত করুন


9

একটি উইন্ডোজ পরিষেবা মুছে ফেলা হয়েছে যখন সনাক্ত করার কোন উপায় আছে? আমি ইভেন্টের লগটি পরীক্ষা করেছি কিন্তু এটি মুছে ফেলা ক্রিয়াগুলি কেবল যুক্ত করা পছন্দ করে না।

আমি বিশ্বাস করি অডিট লগগুলি ব্যবহার করার কোনও উপায় থাকতে পারে তবে আমি কীভাবে এটি করব তা সম্পর্কে নিশ্চিত নই?

কোন সাহায্যের অনেক প্রশংসা করা হয়।

ধন্যবাদ

উত্তর:


6

যদিও সেখানে সেবা অপসারণের আর খুঁজে পাওয়া যাচ্ছে ইভেন্ট বা অডিট লগ, তুমি কি করতে কি ডিটেক্ট করে একটি সেবা যদি উপস্থিত থাকে যে একটি ছোট কনসোল অ্যাপ্লিকেশন তৈরি এবং এই অ্যাপ্লিকেশন সংযুক্ত হয় Windows Task Schedulerবা ফ্রিকোয়েন্সি উপর ভিত্তি করে চালানো যাতে তা নির্ধারিত হয় একটি ট্রিগার আপনি আপনার প্রয়োজনীয়তাগুলিকে কাস্টমাইজ করতে পারে যেমন কোনও পরিষেবা যুক্ত করা বা অপসারণ করা থাকলে আপনি একটি সতর্কতা পাবেন ..

কনসোল অ্যাপ্লিকেশনটি এমনভাবে তৈরি করা হয়েছে যে প্রথমবারে, এটি সিস্টেমে সমস্ত পরিষেবা লগ করে এবং পরবর্তী রানগুলিতে এটি পরিষেবাগুলির মাধ্যমে করা পরিবর্তনগুলি ট্র্যাক করে servicesRemovedএবং এর servicesAddedসাহায্যে আমরা সিদ্ধান্ত নিতে পারি যে কোনও পরিষেবা যখন রয়েছে তখন কী ব্যবস্থা নিতে হবে পরিবর্তিত হয়েছে

কনসোল অ্যাপ্লিকেশন: সার্ভিসডেক্টর.এক্সি

static void Main(string[] args)
{
    var path = @"C:\AdminLocation\ServicesLog.txt";

    var currentServiceCollection = ServiceController.GetServices().Select(s => s.ServiceName).ToList(); //Queries the most current Services from the machine

    if (!File.Exists(path)) //Creates a Log file with current services if not present, usually means the first run
    {
        // Assumption made is that this is the first run
        using (var text = File.AppendText(path))
        {
            currentServiceCollection.ForEach((s) => text.WriteLine(s));
        }
        return;
    }

    // Fetches the recorded services from the Log
    var existingServiceCollection = File.ReadAllLines(path).ToList();

    var servicesRemoved = existingServiceCollection.Except(currentServiceCollection).ToList();
    var servicesAdded = currentServiceCollection.Except(existingServiceCollection).ToList();

    if (!servicesAdded.Any() && !servicesRemoved.Any())
    { Console.WriteLine("No services have been added or removed"); return; }

    //If any services has been added
    if (servicesAdded.Any())
    {
        Console.WriteLine("One or more services has been added");
        using (var text = File.AppendText(path))
        {
            servicesAdded.ForEach((s) => text.WriteLine(s));
        }
        return;
    }
    //Service(s) may have been deleted, you can choose to record it or not based on your requirements
    Console.WriteLine("One or more services has been removed");

}

নির্ধারিত টাস্ক

উইন্ডোজ স্টার্ট> টাস্ক শিডিয়ুলার> বেসিক টাস্ক তৈরি করুন> ট্রিগার সেট করুন> আপনার উদাহরণ সংযুক্ত করুন> সমাপ্তি


পরামর্শ দেওয়ার জন্য ধন্যবাদ, এটির সাথে সমস্যা হ'ল এটি এমন কোনও পরিষেবা হতে পারে যা আমি বিশেষত সেই পরিষেবাটির নাম জানি না যা মুছে ফেলা হয়।
বিলিডে

@ বিলিডে, আহ, আমি উত্তরটি আপডেট করেছি
ক্লিন্ট

আমি মনে করি এটি সর্বোত্তম পন্থা। আমি একটি পরিষেবা তৈরি করব যা প্রারম্ভকালে চালিত হয় এবং লুপটি সনাক্ত করে এবং কোনও পরিষেবা মুছে ফেলা হবে তা সনাক্ত করে এবং হয় কোনও ফাইলে লিখতে বা উত্থাপন ও ইভেন্টে। ধন্যবাদ
বিলিডে

0

আপনি ঠিক বলেছেন যে একটি উইন্ডোজ পরিষেবা মোছার ফলে কোনও ইভেন্ট সিস্টেম ইভেন্ট লগে যুক্ত হতে পারে (উত্স: /superuser/1238311/how-can-we-detect-if-a-windows- i- এর জন্য কোনও ইভেন্ট-লগ-আইডি-এর জন্য পরিষেবা-মুছে ফেলা হয়েছে

এএফআইএইসি কোনও পরিষেবা মোছার নিরীক্ষণের জন্য নিরীক্ষণের নীতিমালা নেই এবং আমি মনে করি যদি এটি হয় তবে এটি এখানে তালিকাভুক্ত হবে: https : //docs.mic Microsoft.com/en-us/windows/security/threat-protication/auditing/ মৌলিক-নিরীক্ষা-প্রক্রিয়া-ট্র্যাকিং

আমি ধরে নিচ্ছি যে পোলিংয়ের ServiceController.GetServices()প্রশ্নের বাইরে রয়েছে কারণ পরিষেবাটি আনইনস্টল করা হলে আপনার প্রোগ্রামটি চলবে না?


ঠিক আমার প্রক্রিয়াটি চলমান নাও হতে পারে।
বিলিডে

ঠিক আছে, আমি মনে করি আপনি ভাগ্য থেকে বেরিয়ে এসেছেন তবে @ বিলিডে
সাইমন-পিয়ারসন

কেন কেবল সেই পরিষেবার সাথে সম্পর্কিত একটি ফাইল যাচাই করবেন না ... যেমন মাই সার্ভিস.এক্সই
5

সার্ভিসটি বিদ্যমান রয়েছে তা নিশ্চিত করতে আপনি রেজিস্ট্রিটিও পরীক্ষা করে দেখতে পারেন HKEY_LOCAL_MACHINE Y SYSTEM \ কারেন্ট কন্ট্রোলসেট \ পরিষেবাগুলি, আপনি যদি নিশ্চিত করতে চান যে কোনও পরিষেবা মুছে ফেলা হয়নি তবে আপনাকে নিজের ক্যাশে যুক্ত করতে হবে
জননি 5

0

উপকরণ তৈরির প্রচুর উপায় রয়েছে, যতক্ষণ না আপনি কী শিখেন ভাল উপকরণটি কী গঠন করে। আমার কীভাবে মূলত উইকিপিডিয়া এন্ট্রি থেকে সরাসরি নেওয়া হয় https://en.wikipedia.org/wiki/Instrumentation

কীভাবে ইনস্ট্রুমেন্টেশন

http://www.powersemantics.com/e.html

  • অ ইন্টিগ্রেটেড
  • শুধুমাত্র প্রাথমিক তথ্য
  • ধাক্কা না
  • প্রক্রিয়া দ্বারা সংগঠিত
  • কখনই অফলাইন নয়

সূচকগুলি পরিমাপ করার সমস্যার সমাধান বিদ্যমান, তবে কীভাবে "পুশ-ভিত্তিক" উপকরণের সিগন্যালটি অন্য সিস্টেমকে কীভাবে করা যায় তা ধারণাই করতে গিয়ে আপনি আটকে রয়েছেন। যেমনটি আমার ই নিবন্ধটি ব্যাখ্যা করেছে, যন্ত্রগুলিতে সর্বদা ডেটা টানতে হবে কখনই এটিকে চাপ না দেয়। ইভেন্ট-চালিত সিগন্যালিং আপনার প্রয়োজন হয় না এমন ব্যর্থতার একটি সম্ভাব্য পয়েন্ট।

আলাদা অ্যাপ্লিকেশন তৈরির বিষয়ে আপনার যে দ্বিধা বা সন্দেহ থাকতে পারে তা পরিষ্কার করার জন্য মনিটররা সাধারণত স্বতন্ত্র ( উইকিপিডিয়ায় বলা হয় না এমনভাবে অ-সংহত ) প্রক্রিয়া রয়েছে। সুতরাং আপনার মনিটর "চলমান নাও হতে পারে" বলার অর্থ আপনি সত্যিকারের অ-সংহত মনিটর তৈরি করতে চাননি, এটি সর্বদা চালু রয়েছে। আপনার ভোক্তা সিস্টেমটি ইন্সট্রুমেন্টেশন সঠিকভাবে মডেল করে না, কারণ এটি চেকটিকে তার নিজস্ব প্রক্রিয়াতে সংহত করে।

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

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