পাওয়ারশেল এক্সিকিউশন পলিসি ব্যাখ্যা করা হয়েছে

15 সেপ্টেম্বর, 2020 2424 ভিউ পাওয়ারশেল এক্সিকিউশন পলিসি

পোস্ট বিষয় ব্রাউজ করুন

পাওয়ারশেল এক্সিকিউশন পলিসি কি?

PowerShell-এ ExecutionPolicy হল একটি নিরাপত্তা বৈশিষ্ট্য যা নিয়ন্ত্রণ করে কিভাবে PowerShell কনফিগারেশন ফাইল লোড করে এবং স্ক্রিপ্ট চালায়। এক্সিকিউশন পলিসি বৈশিষ্ট্য PowerShell দূষিত স্ক্রিপ্ট চলমান প্রতিরোধ করতে সাহায্য করে।

আপনি একটি কম্পিউটার, একটি ব্যবহারকারী বা একটি সেশনের জন্য এক্সিকিউশন নীতি সেট করতে পারেন। দ্য সেট-এক্সিকিউশন পলিসি cmdlet ExecutionPolicy সেট করতে ব্যবহার করা যেতে পারে। PowerShell.exe কমান্ডে একটি ExecutionPolicy প্যারামিটার রয়েছে যা আপনি Powershell ExecutionPolicy সেট করতে ব্যবহার করতে পারেন।

এই গাইডে আপনি পাওয়ারশেল এক্সিকিউশন পলিসির বিভিন্ন প্রকার সম্পর্কে শিখবেন। আপনি Set-ExecutionPolicy এবং PowerShell.exe -ExecutionPolicy কমান্ডগুলি কীভাবে ব্যবহার করবেন তাও শিখবেন।

উপলব্ধ কার্যকরী নীতি

এই বিভাগে আপনি PowerShell-এ সেট করতে পারেন এমন বিভিন্ন এক্সিকিউশন পলিসি এবং প্রতিটি আপনাকে কী করার অনুমতি দেবে তা ব্যাখ্যা করে।

সীমাবদ্ধ

  • এটি উইন্ডোজ 8, সার্ভার 2012 এবং পরবর্তীতে ডিফল্ট এক্সিকিউশন নীতি৷
  • PowerShell কনফিগারেশন ফাইল (.ps1xml), মডিউল স্ক্রিপ্ট ফাইল (.psm1), এবং Windows PowerShell প্রোফাইল (.ps1) কার্যকর করা থেকে বাধা দেয়
  • পৃথক PowerShell কমান্ডের অনুমতি দেয় কিন্তু স্ক্রিপ্ট অস্বীকার করে

অল সাইনড

আপনি যখন AllSigned Execution Policy সেট করেন, PowerShell:

  • সমস্ত স্ক্রিপ্ট চালায়
  • একটি স্ক্রিপ্ট চালানোর অনুমতি দেওয়ার আগে এটি একটি বিশ্বস্ত প্রকাশকের দ্বারা স্বাক্ষর করা আবশ্যক৷ এর মধ্যে স্থানীয় কম্পিউটারে লেখা স্ক্রিপ্ট অন্তর্ভুক্ত রয়েছে
  • আপনি নিশ্চিত করেননি এমন প্রকাশকের কাছ থেকে একটি স্ক্রিপ্ট চালানোর আগে নিশ্চিত করার অনুরোধগুলি বিশ্বস্ত
  • স্বাক্ষরিত কিন্তু দূষিত কোড চালানো হতে পারে

রিমোট সাইনড

রিমোট সাইনড এক্সিকিউশন পলিসি:

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

অনিয়ন্ত্রিত

  • আনঅ্যাসাইন করা স্ক্রিপ্টগুলি চালানোর অনুমতি দেয়
  • ইন্টারনেট থেকে একটি স্ক্রিপ্ট চালানোর আগে আপনাকে সতর্ক করবে
  • ক্ষতিকারক কোড বা স্ক্রিপ্ট চালানোর ঝুঁকি

বাইপাস

বাইপাস এক্সিকিউশন পলিসি সহ:

  • কোন স্ক্রিপ্ট ব্লক করা হয় না. পাশাপাশি সতর্কতা অফার করে না।

অনির্ধারিত

  • মানে কোন এক্সিকিউশন পলিসি সংজ্ঞায়িত করা হয়নি
  • কার্যকর এক্সিকিউশন পলিসি সীমাবদ্ধ (ডিফল্ট)

এক্সিকিউশন পলিসি স্কোপ এবং অগ্রাধিকার

আপনি এখানে পাওয়ারশেল এক্সিকিউশন নীতি প্রয়োগ করতে পারেন:

LocalMcachine : শুধুমাত্র বর্তমান ব্যবহারকারীদের প্রভাবিত করে। এটি সর্বনিম্ন অগ্রাধিকার আছে

বর্তমান ব্যবহারকারী : এক্সিকিউশন নীতি শুধুমাত্র বর্তমান ব্যবহারকারীকে প্রভাবিত করে। প্রাধান্য পায় LocalMcachine কিন্তু একটি কম অগ্রাধিকার আছে প্রক্রিয়া .

প্রক্রিয়া : শুধুমাত্র বর্তমান অধিবেশনে প্রযোজ্য। সর্বোচ্চ অগ্রাধিকার নেয়।

কিভাবে বর্তমান পাওয়ারশেল এক্সিকিউশন পলিসি পাবেন

বর্তমান PowerShell ExecutionPolicy দেখতে নিচের কমান্ডটি চালান:

|_+_| কিভাবে Set-ExecutionPolicy দিয়ে এক্সিকিউশন পলিসি সেট করবেন

সমস্ত স্কোপের জন্য ExecutionPolicy সেট দেখতে এই কমান্ডটি ব্যবহার করুন:

|_+_| কিভাবে Set-ExecutionPolicy দিয়ে এক্সিকিউশন পলিসি সেট করবেন

আপনি সুযোগের উপর ভিত্তি করে এক্সিকিউশন পলিসিও পেতে পারেন। এখানে কিছু নমুনা কমান্ড আছে:

|_+_|

পাওয়ারশেল এক্সিকিউশন পলিসি কিভাবে সেট করবেন

যেমনটি আমি ভূমিকায় উল্লেখ করেছি, আপনি Set-ExecutionPolicy cmdlet এর সাথে ExecutionPolicy সেট করতে পারেন। আপনি PowerShell.exe -ExecutionPolicy কমান্ডটিও ব্যবহার করতে পারেন।

কিভাবে Set-ExecutionPolicy দিয়ে এক্সিকিউশন পলিসি সেট করবেন

Set-ExecutionPolicy cmdlet-এর সিনট্যাক্স হল:

|_+_|

উদাহরণ হিসেবে, এক্সিকিউশন পলিসি সেট করতে রিমোট সাইনড নীচের কমান্ড ব্যবহার করুন:

|_+_|

এখানে আদেশের ফলাফল।

কিভাবে Set-ExecutionPolicy দিয়ে এক্সিকিউশন পলিসি সেট করবেনকমান্ড ব্যর্থ হয়েছে কারণ আমি প্রশাসক হিসাবে PowerShell খুলিনি।

এখানে প্রশাসক হিসাবে নির্বাহিত কমান্ড:

PowerShell.exe -ExecutionPolicy-এর মাধ্যমে কিভাবে এক্সিকিউশন পলিসি সেট করবেন

আপনি ছবিটি থেকে দেখতে পাচ্ছেন, নতুন এক্সিকিউশন পলিসি এখন রিমোট সাইনড .

শেষ 2 কমান্ড থেকে, আমাকে কমান্ড নিশ্চিত করতে বলা হয়েছিল। এই প্রম্পট বাইপাস করতে, অন্তর্ভুক্ত করুন -জোর প্যারামিটার

কমান্ড এখন নিশ্চিতকরণের জন্য অনুরোধ না করেই কার্যকর করে।

দ্য -জোর প্যারামিটার স্ক্রিপ্টিং বিশেষভাবে দরকারী. এই প্যারামিটার ছাড়া আপনার স্ক্রিপ্ট থামতে পারে।

ডিফল্টরূপে এই কমান্ডের জন্য নির্বাহ নীতি সেট করে স্থানীয় মেশিন সুযোগ এটি নিশ্চিত করতে, নীচের কমান্ডটি চালান:

|_+_|

অন্য সুযোগে প্রয়োগ করার জন্য কার্যকরী নীতি সেট করতে, ব্যবহার করুন - সুযোগ প্যারামিটার

নীচের কমান্ডটি কার্যকর করার নীতি নির্ধারণ করে বর্তমান ব্যবহারকারী :

|_+_|

আপনি ফলাফল থেকে দেখতে পারেন, বর্তমান ব্যবহারকারী নীতি আর নেই অনির্ধারিত . এটা এখন বাইপাস , শেষ কমান্ডের সাথে নীতি সেট করা হয়েছে।

PowerShell.exe -ExecutionPolicy-এর মাধ্যমে কিভাবে ExecutionPolicy সেট করবেন

আপনি লগ ইন করা সেশনের জন্য এক্সিকিউশন পলিসি বাইপাস করতে চাইলে, আপনি বর্তমান কমান্ড লাইনের জন্য এক্সিকিউশন পলিসি সেট করতে পারেন। PowerShell.exe কমান্ড ব্যবহার করে এটি অর্জন করা হয়।

আমি উদাহরণ দেওয়ার আগে, এখানে বর্তমান নির্বাহ নীতি রয়েছে:

বর্তমান মৃত্যুদন্ড নীতি হল সীমাবদ্ধ . এর কারণ হল প্রক্রিয়া সুযোগ অগ্রাধিকার নেয়। নিশ্চিত করতে, নীচের ফলাফল দেখুন:

যদি মনে পড়ে, সীমাবদ্ধ নীতি স্ক্রিপ্ট চালানোর অনুমতি দেবে না.

এর মানে হল যে যদি আমি একটি স্ক্রিপ্ট চালানোর চেষ্টা করি, তবে আমাকে অ্যাক্সেস থেকে বঞ্চিত করা হবে। নীচের ছবিটি কমান্ডের একটি সিরিজ এবং তাদের ফলাফল দেখায়। ছবির নীচে আমার ব্যাখ্যা দেখুন.

ছবিতে দেখানো প্রথম কমান্ড হল:

|_+_|

আমি একটি পাওয়ারশেল স্ক্রিপ্ট চালানোর চেষ্টা করেছি। তারপর আমি নীচের ত্রুটি বার্তা পেয়েছি:

ফাইল C:PSshedule powershell exampleCreate-folders-from-text-file.ps1 লোড করা যাবে না কারণ এই সিস্টেমে চলমান স্ক্রিপ্ট নিষ্ক্রিয় করা আছে।

এর কারণ হলো বর্তমান কার্যকরী নীতিমালা সীমাবদ্ধ . এটি কোন স্ক্রিপ্ট চালানোর অনুমতি দেয় না.

রেফারেন্স ছবিতে ফিরে যান। পরের লাইনে, আমি নিম্নলিখিত কমান্ডটি চালালাম:

|_+_|

কার্যকরভাবে, আমি thepowershell.exe কমান্ডের -ExecutionPolicy প্যারামিটার ব্যবহার করে কমান্ড লাইনের জন্য একটি টেম্প এক্সিকিউশন নীতি সেট করতে পারি। কিন্তু আমি একই ত্রুটি বার্তা পেয়েছি. কারণ হল আমি স্ক্রিপ্ট কল করার আগে আমাকে নির্বাহ নীতি সেট করতে হবে।

তারপর পরবর্তী লাইনে, আমি এই কমান্ডটি কার্যকর করেছি:

|_+_|

এটি বর্তমান লগ ইন করা সেশনের জন্য নির্বাহ নীতি সেট করে অনিয়ন্ত্রিত . তাই যখন আমি এখন আমার পাওয়ারশেল স্ক্রিপ্ট চালাই, এটি সফলভাবে কার্যকর হয়! উপরের রেফারেন্স ইমেজ দেখুন.

শেষ বিশ্লেষণ থেকে নেওয়া এই হল: আপনি Powershell.exe -ExecutionPolicy ব্যবহার করে বর্তমান সেশনের জন্য Powershell ExecutionPolicy সেট করতে পারেন। কিন্তু, আপনার স্ক্রিপ্ট কল করার আগে আপনাকে প্রথমে কমান্ডটি চালাতে হবে।

Powershell.exe শুধুমাত্র বর্তমান সেশনের জন্য নীতি নির্ধারণ করে তা নিশ্চিত করতে, আমি বর্তমান সেশন থেকে নীচের কমান্ডটি চালাব:

|_+_|

ফলাফল হলো অনিয়ন্ত্রিত জন্য বর্তমান ব্যবহারকারী সুযোগ যদি আমি আমার বর্তমান সেশন লগ অফ করি এবং আবার লগ ইন করি। এটি Set-ExecutionPolicy কমান্ড দ্বারা সেট করা নীতিতে ফিরে যাবে।

উপসংহার

আমি আশা করি কিভাবে পাওয়ারশেল এক্সিকিউশন পলিসি পেতে এবং সেট করতে হয় তা আমি সহজ করতে পেরেছি। আপনার কোন প্রশ্ন বা মন্তব্য থাকলে পৃষ্ঠার শেষে একটি উত্তর দিন ফর্মটি ব্যবহার করুন।

অন্যান্য সহায়ক গাইড

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

অতিরিক্ত সম্পদ এবং রেফারেন্স