আমি গুলি করার আগে, আমি জানি যে কীভাবে কোনও কার্য শিডিউল করা যায়, পাওয়ারশেলের সাহায্যে কোনও পরিষেবা পুনরায় চালু করতে বা কোনও প্রশাসক অ্যাকাউন্টকে কোনও পরিষেবা পুনরায় চালু করার সুযোগ দেওয়া হয়। সমস্যা নেই। সমস্যাটি হ'ল এই তিনটি কার্যের সমন্বয়।
আমার একটি উইন্ডোজ পরিষেবা আছে যা একটি নেটওয়ার্ক ফোল্ডারে ফাইলগুলি প্রক্রিয়া করা প্রয়োজন। সুতরাং এটি "পরিষেবা অ্যাকাউন্ট" দিয়ে লগ ইন করে যা আসলে কেবল একটি নিয়মিত ডোমেন অ্যাকাউন্ট। এই ডোমেন অ্যাকাউন্টটি প্রশাসক নয় তবে এতে ফোল্ডারের অ্যাক্সেসের অধিকার রয়েছে। পরিষেবাটি ভাল চলে এবং এটি কাজ করে।
তবে, কখনও কখনও ফাইলগুলির মধ্যে একটিতে ত্রুটি থাকে যা অন্য ফাইলগুলি প্রক্রিয়াজাতকরণ থেকে বাধা দেয়। সাধারণত কারও নজরে আসতে কিছুক্ষণ সময় লাগে এবং কিছু ব্যাকলগ থাকে।
সুতরাং, আমি পাওয়ারশেলে একটি মনিটরিং স্ক্রিপ্ট তৈরি করেছি যা এই ভ্রান্ত ফাইলগুলির জন্য নেটওয়ার্ক ফোল্ডারে পোল করে। যদি সেগুলি পাওয়া যায়, ফাইলগুলি পর্যালোচনার জন্য একটি অস্থায়ী ফোল্ডারে সরানো হয় এবং পরিষেবাটি পুনরায় চালু করা দরকার।
আমি পরিষেবা শুরু এবং পরিষেবা বন্ধ করার জন্য গ্রুপ নীতিমালার মাধ্যমে পরিষেবা অ্যাকাউন্টটির সুবিধাগুলি দিয়েছি।
আমি যখন সার্ভিস অ্যাকাউন্টে সার্ভারে লগইন করি, আমি পরিষেবা এমএমসি ব্যবহার করে ম্যানুয়ালি পরিষেবাটি পুনরায় চালু করতে সক্ষম হয়েছি। আমি পাওয়ারশেল স্ক্রিপ্টটি কার্যকর করতে সক্ষম এবং এটি যা করার কথা ঠিক তা করে: ফোল্ডারটি পোল করে, ফাইলগুলি সরান এবং পরিষেবাটি পুনরায় চালু করুন। গ্রেট!
পরের ধাপে, আমি একটি নির্ধারিত টাস্ক তৈরি করেছি যা প্রতি 10 মিনিটে চলে। টাস্কটি পাওয়ার শেল স্ক্রিপ্টটি কার্যকর করতে পরিষেবা হিসাবে একই পরিষেবা অ্যাকাউন্টটি ব্যবহার করে। "সর্বাধিক সুবিধাগুলি সহ কার্যকর" বাক্সটি চেক করা আছে। যেমনটি আমি বলেছিলাম, পাওয়ার ড্রাইভ স্ক্রিপ্টটির নেটওয়ার্ক ড্রাইভে অ্যাক্সেস প্রয়োজন, তাই আমি এটিকে স্থানীয় সার্ভার অ্যাডমিন হিসাবে চালাতে পারি না এবং আমি এই জাতীয় ম্যানুয়াল কাজের জন্য ডোমেন অ্যাডমিন শংসাপত্রগুলি ব্যবহার করতে চাই না। (আমি যতটা পারি ন্যূনতম সুবিধার নীতিটি বাস্তবায়নের চেষ্টা করি।)
লোকাল সিকিউরিটি পলিসি এমএমসি ব্যবহার করে আমি সার্ভিস অ্যাকাউন্টটিকে স্থানীয় সার্ভারে "ব্যাচ জব হিসাবে লগন" অধিকার দিয়েছি।
এখন যে অংশটি আমি বুঝতে পারি না: নির্ধারিত সময়ে তফসিলযুক্ত কাজগুলি সফলভাবে শেষ হয় এবং পাওয়ারশেল স্ক্রিপ্টটি কার্যকর করা হয় exec স্ক্রিপ্টটি ফোল্ডারটি পোল করে এবং ত্রুটিযুক্ত ফাইলগুলি সরানো হয়। একমাত্র জিনিস যা কাজ করে না তা হল পরিষেবাটি পুনরায় চালু করা ... ?! আবার, একই ব্যবহারকারী হিসাবে স্ক্রিপ্টটি ম্যানুয়ালি চালানো নিখুঁতভাবে কাজ করেছিল।
আমি ইভেন্ট দর্শনে খুব বেশি দেখতে পাচ্ছি না, তবে আমার স্ক্রিপ্টে লগ ইন করা এই ত্রুটিটি জানিয়েছে:
টার্মিনেটিংএরর (স্টপ-সার্ভিস): "কম্পিউটারে পরিষেবা নিয়ন্ত্রণ ব্যবস্থাপক খুলতে পারে না '' '
পরিষেবাটি পুনঃসূচনা করতে আমি যে আদেশগুলি ব্যবহার করি তা হ'ল:
Stop-Service -Verbose -DisplayName $($service[1])
...
Start-Service -Verbose -DisplayName $($service[1])
(আমি একটি উইন্ডোজ সার্ভার 2012 আর 2 এবং পাওয়ার শেল সংস্করণ 4 একটি 2008 আর 2 ডোমেনে ব্যবহার করছি))
আপডেট: আমি উভয় সাবিন্যাকল ব্যবহার করে ( এখানে বর্ণিত হিসাবে ) ব্যবহারকারীর জন্য পরিষেবার অনুমতিগুলি সেট করার এবং এসডিডিএল স্ট্রিংটি ম্যানুয়ালি সেট করার চেষ্টা করেছি ( এখানে বর্ণিত হিসাবে ), সুতরাং আমার নিয়ন্ত্রণের পতাকাগুলি এগুলির মতো দেখায় (এ ;; সিসিএলএসএলআরপিডাব্লুপিডিটিওএলসিআরসি;; এস; 1- এক্স-এক্সএক্স-XXXXXXXXXX-XXXXXXXX-XXXXXXXXX-XXXX এর)। আমি জিপিওতে সম্পূর্ণ নিয়ন্ত্রণে পরিষেবাতে সুবিধাগুলি সেট করার চেষ্টাও করেছি। এর মধ্যে কেউই বিষয়টি সমাধান করেনি। এটি অবশ্যই আমার কোথাও সুবিধাগুলির একটি সমস্যা যে আমি এখনও অবহেলিত,
Set-Service $($service[1]) -status stopped -ComputerName . -Verbose ....
পরিবর্তে কীভাবে চেষ্টা করা Stop-Service
যায়? স্টপ-সার্ভিস এবং স্টার্ট- সার্ভিসটি এই উত্তর অনুসারে আপাতদৃষ্টিতে দূরবর্তী-সক্ষম নয় : দূরবর্তী কম্পিউটারে গেট-সার্ভিস – কম্পিউটারনাম ব্যবহার করতে পারবেন না এবং আপনার ত্রুটি বার্তাটি কোনও "রিমোট" লোকালহোস্টের সাথে সংযোগ দেওয়ার চেষ্টা করার সাথে সম্পর্কিত হতে পারে '' (<== এটি সেখানে একটি বিন্দু))