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

এই আর্টিকেলে আমরা এই এরর ট্রিগার হওয়ার কারণ এবং এটিকে स्थায়ীভাবে ফিক্স করার কিছু কার্যকর সমাধান আলোচনা করব। ধাপগুলো সাবধানে এবং সঠিকভাবে ফলো করুন конфлиগট এড়াতে।
"রানিং স্ক্রিপ্টস ইজ ডিজেবেলড অন দিস সিস্টেম" এরর কেন হয়?
বহু ব্যবহারকারীর রিপোর্ট পাওয়ার পর আমরা বিষয়টি তদন্ত করেছি এবং আমাদের গবেষণা অনুযায়ী এররটি নিচের সমস্যা কারণে হয়:
- ডিজেবেলড স্ক্রিপ্টস: পাওয়ারশেলে যেকোনো স্ক্রিপ্ট চালাতে হলে সেটি বিশ্বস্ত উৎস থেকে যেকোনো লেভেলের ভেরিফিকেশন থাকতে হবে। যাইহোক, কিছু কেসে স্ক্রিপ্টে ভেরিফিকেশন থাকলেও রিস্ট্রিক্টেড অ্যাক্সেসের কারণে এক্সিকিউশন থেমে যায়। উইন্ডোজের একটি "এক্সিকিউশন পলিসি" রয়েছে যা স্ক্রিপ্টটি বাইপাস করতে হবে এক্সিকিউট হওয়ার জন্য। এক্সিকিউশন পলিসি "রিস্ট্রিক্টেড" সেট থাকলে কম্পিউটারে কোনো স্ক্রিপ্ট চলবে না।
এখন আপনার সমস্যার প্রকৃতি সম্পর্কে বেসিক ধারণা আছে, আমরা সমাধানগুলোর দিকে যাব।
সমাধান ১: কোড যোগ করা
আপনি যদি এক্সিকিউশন পলিসি পরিবর্তন করার ঝামেলায় না পড়ে নির্দিষ্ট একটি স্ক্রিপ্ট চালাতে চান, তবে কমান্ডে একটি কোড যোগ করে স্ক্রিপ্টকে পলিসি বাইপাস করাতে পারেন। তার জন্য:
- "Windows" + "R" চাপে রান প্রম্পট খুলুন।
- "Powershell" টাইপ করুন এবং "Shift" + "Ctrl" + "Enter" একসাথে চাপে অ্যাডমিনিস্ট্রেটর অ্যাক্সেস দিন।

- নির্দিষ্ট স্ক্রিপ্ট এক্সিকিউট করার কমান্ড টাইপ করুন যেমন:
c:\> powershell -ExecutionPolicy ByPass -File script.ps1
- "Enter" চাপুন এবং চেক করুন সমস্যা বিতর্কে আছে কিনা।
সমাধান ২: এক্সিকিউশন পলিসি পরিবর্তন করা
যেহেতু এক্সিকিউশন পলিসি পাওয়ারশেলকে নির্দিষ্ট স্ক্রিপ্ট চালানোর অ্যাক্সেস দেয়, তাই এটি রিস্ট্রিক্টেড সেট থাকলে সকল স্ক্রিপ্ট ব্লক করে। আপনার পরিস্থিতি অনুযায়ী পলিসি সেট করার বিভিন্ন মোড রয়েছে:
- রিস্ট্রিক্টেড: এই মোডে কম্পিউটারে কোনো স্ক্রিপ্ট চালানো যাবে না।
- অলসাইনড: এই মোডে শুধু বিশ্বস্ত পাবলিশার দ্বারা সাইন করা পলিসিগুলো চালানো যাবে।
- রিমোটসাইনড: সকল ডাউনলোড করা স্ক্রিপ্ট বিশ্বস্ত পাবলিশার দ্বারা সাইন করা থাকতে হবে।
- আনরিস্ট্রিক্টেড: যেকোনো স্ক্রিপ্টের উপর কোনো রিস্ট্রিকশন নেই।
এখন আপনি জানেন এক্সিকিউশন পলিসি কোন লেভেলে সেট করা যায়, তাই আপনার প্রয়োজন অনুযায়ী সেরা অপশন বেছে নিতে পারেন। এক্সিকিউশন পলিসি পরিবর্তন করতে:
- "Windows" + "R" চাপে রান প্রম্পট খুলুন।
- "Powershell" টাইপ করুন এবং "Shift" + "Ctrl" + "Enter" একসাথে চাপে অ্যাডমিনিস্ট্রেটর অ্যাক্সেস দিন।

- নিচের কমান্ডটি টাইপ করুন এবং এক্সিকিউট করার জন্য "Enter" চাপুন।
Set-ExecutionPolicy Remotesigned
নোট: উপরের "RemoteSigned" শব্দটি উপরে নির্দেশিত সিকিউরিটি লেভেল অনুযায়ী প্রতিস্থাপন করুন।
- "Y" চাপে यस বোঝান এবং এটি গ্রুপ পলিসিকে আপনার কাঙ্ক্ষিত লেভেলে পরিবর্তন করবে।

- চেক করুন সমস্যা বিতর্কে আছে কিনা।