প্রশাসনিক নন-পরিষেবা অ্যাকাউন্ট হিসাবে পাওয়ারশেলের সাথে একটি পরিষেবা পুনঃসূচনা করুন


11

আমি গুলি করার আগে, আমি জানি যে কীভাবে কোনও কার্য শিডিউল করা যায়, পাওয়ারশেলের সাহায্যে কোনও পরিষেবা পুনরায় চালু করতে বা কোনও প্রশাসক অ্যাকাউন্টকে কোনও পরিষেবা পুনরায় চালু করার সুযোগ দেওয়া হয়। সমস্যা নেই। সমস্যাটি হ'ল এই তিনটি কার্যের সমন্বয়।

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

তবে, কখনও কখনও ফাইলগুলির মধ্যে একটিতে ত্রুটি থাকে যা অন্য ফাইলগুলি প্রক্রিয়াজাতকরণ থেকে বাধা দেয়। সাধারণত কারও নজরে আসতে কিছুক্ষণ সময় লাগে এবং কিছু ব্যাকলগ থাকে।

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

আমি পরিষেবা শুরু এবং পরিষেবা বন্ধ করার জন্য গ্রুপ নীতিমালার মাধ্যমে পরিষেবা অ্যাকাউন্টটির সুবিধাগুলি দিয়েছি।

এখানে চিত্র বর্ণনা লিখুন

আমি যখন সার্ভিস অ্যাকাউন্টে সার্ভারে লগইন করি, আমি পরিষেবা এমএমসি ব্যবহার করে ম্যানুয়ালি পরিষেবাটি পুনরায় চালু করতে সক্ষম হয়েছি। আমি পাওয়ারশেল স্ক্রিপ্টটি কার্যকর করতে সক্ষম এবং এটি যা করার কথা ঠিক তা করে: ফোল্ডারটি পোল করে, ফাইলগুলি সরান এবং পরিষেবাটি পুনরায় চালু করুন। গ্রেট!

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

লোকাল সিকিউরিটি পলিসি এমএমসি ব্যবহার করে আমি সার্ভিস অ্যাকাউন্টটিকে স্থানীয় সার্ভারে "ব্যাচ জব হিসাবে লগন" অধিকার দিয়েছি।

এখন যে অংশটি আমি বুঝতে পারি না: নির্ধারিত সময়ে তফসিলযুক্ত কাজগুলি সফলভাবে শেষ হয় এবং পাওয়ারশেল স্ক্রিপ্টটি কার্যকর করা হয় exec স্ক্রিপ্টটি ফোল্ডারটি পোল করে এবং ত্রুটিযুক্ত ফাইলগুলি সরানো হয়। একমাত্র জিনিস যা কাজ করে না তা হল পরিষেবাটি পুনরায় চালু করা ... ?! আবার, একই ব্যবহারকারী হিসাবে স্ক্রিপ্টটি ম্যানুয়ালি চালানো নিখুঁতভাবে কাজ করেছিল।

আমি ইভেন্ট দর্শনে খুব বেশি দেখতে পাচ্ছি না, তবে আমার স্ক্রিপ্টে লগ ইন করা এই ত্রুটিটি জানিয়েছে:

টার্মিনেটিংএরর (স্টপ-সার্ভিস): "কম্পিউটারে পরিষেবা নিয়ন্ত্রণ ব্যবস্থাপক খুলতে পারে না '' '

পরিষেবাটি পুনঃসূচনা করতে আমি যে আদেশগুলি ব্যবহার করি তা হ'ল:

Stop-Service -Verbose -DisplayName $($service[1])
...
Start-Service -Verbose -DisplayName $($service[1])

(আমি একটি উইন্ডোজ সার্ভার 2012 আর 2 এবং পাওয়ার শেল সংস্করণ 4 একটি 2008 আর 2 ডোমেনে ব্যবহার করছি))

আপডেট: আমি উভয় সাবিন্যাকল ব্যবহার করে ( এখানে বর্ণিত হিসাবে ) ব্যবহারকারীর জন্য পরিষেবার অনুমতিগুলি সেট করার এবং এসডিডিএল স্ট্রিংটি ম্যানুয়ালি সেট করার চেষ্টা করেছি ( এখানে বর্ণিত হিসাবে ), সুতরাং আমার নিয়ন্ত্রণের পতাকাগুলি এগুলির মতো দেখায় (এ ;; সিসিএলএসএলআরপিডাব্লুপিডিটিওএলসিআরসি;; এস; 1- এক্স-এক্সএক্স-XXXXXXXXXX-XXXXXXXX-XXXXXXXXX-XXXX এর)। আমি জিপিওতে সম্পূর্ণ নিয়ন্ত্রণে পরিষেবাতে সুবিধাগুলি সেট করার চেষ্টাও করেছি। এর মধ্যে কেউই বিষয়টি সমাধান করেনি। এটি অবশ্যই আমার কোথাও সুবিধাগুলির একটি সমস্যা যে আমি এখনও অবহেলিত,


এটি সার্ভারফল্ট / প্রশ্নগুলি / 357424/… মনে হতে পারে যে পাওয়ারশেলগুলি অনুমতি সম্পর্কে খুব পিক এবং সুস্পষ্ট নয়
Drifter104


@ ড্রিফটার ১০৪: ইভেন্টে আমি জিপিও ব্যবহার করে পরিষেবাগুলিতে অনুমতিগুলি সেট করতে সাবিনাকল নয়, স্টিও প্যারামিটার দিয়ে যাইহোক চেষ্টা করে দেখলাম, তবে এখনও একই ফলাফল দেখছি। আমার জিপিও সেটিংস দু'বার পরীক্ষা করে দেখেছেন এবং তাদের এনুমারেট ডিপেন্ডেন্ট সার্ভিস অপশনও সক্ষম রয়েছে।
ভোলারথফ্যালেন

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

1
সিএমডিলেট এর Set-Service $($service[1]) -status stopped -ComputerName . -Verbose ....পরিবর্তে কীভাবে চেষ্টা করা Stop-Serviceযায়? স্টপ-সার্ভিস এবং স্টার্ট- সার্ভিসটি এই উত্তর অনুসারে আপাতদৃষ্টিতে দূরবর্তী-সক্ষম নয় : দূরবর্তী কম্পিউটারে গেট-সার্ভিস – কম্পিউটারনাম ব্যবহার করতে পারবেন না এবং আপনার ত্রুটি বার্তাটি কোনও "রিমোট" লোকালহোস্টের সাথে সংযোগ দেওয়ার চেষ্টা করার সাথে সম্পর্কিত হতে পারে '' (<== এটি সেখানে একটি বিন্দু))
জন ওরফে হট 2 ইউজ

উত্তর:


3

অপর এক প্রশ্নের anwser আমার সমস্যা হিসাবে ভাল সমাধান।

আমি যে পদক্ষেপগুলি করেছি তা হ'ল:

  1. enable-psremoting অ্যাডমিন পাওয়ারশেল প্রম্পটে সার্ভারে
  2. Set-PSSessionConfiguration -Name Microsoft.PowerShell -ShowSecurityDescriptorUI অ্যাডমিন পাওয়ারশেল প্রম্পটে সার্ভারে
  3. সম্পূর্ণ সুযোগ-সুবিধা সহ পরিষেবা অ্যাকাউন্ট (বা সুরক্ষা গোষ্ঠী) যুক্ত করা হয়েছে
  4. sc sdshow scmanager অ্যাডমিন কমান্ড প্রম্পটে সার্ভারে
  5. এসডিডিএল আউটপুট অনুলিপি করুন
  6. (A;;KA;;;SID_OF_USER_OR_SECURITY_GROUP)এস: অংশের আগে এসডিডিএলে যুক্ত করুন
  7. sc sdset scmanager THE_MODIFIED_SDDL আমার এইরকম লাগছিল: sc sdset scmanager D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)(A;;KA;;;S-1-X-XX-XXXXXXXXXX-XXXXXXXX-XXXXXXXXX-XXXX)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)
  8. আমার পাওয়ারশেল স্ক্রিপ্টটি পরিবর্তন করুন যাতে এটি Start-Serviceপরিবর্তে Set-Service(সেট-সার্ভিস কাজ করে না) CmdLet ব্যবহার করে ।

দেখে মনে হচ্ছে সরল কিছু অন্যদিকে পরিণত হয়েছে, ওয়ে এর চেয়ে বেশি জটিল হওয়া উচিত ছিল ...

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