PS1 লোড করা যায় না কারণ এই সিস্টেমে চলমান স্ক্রিপ্টগুলি অক্ষম রয়েছে


107

আমি powershellসি # থেকে স্ক্রিপ্ট চালানোর চেষ্টা করি ।

প্রথম আমি সেট ExecutionPolicyকরতে Unrestrictedএবং স্ক্রিপ্ট এখন থেকে চলছে PowerShell ISE

এখন এটি সি # আমার কোড:

class Program
{
    private static PowerShell ps;
    static void Main(string[] args)
    {
        ps = PowerShell.Create();
        string ps1File = Path.Combine(Environment.CurrentDirectory, "script.ps1");
        ExecuteScript(ps1File);
        Console.ReadLine();
    }

    static void ExecuteScript(string script)
    {
        try
        {
            ps.AddScript(script);
            Collection<PSObject> results = ps.Invoke();
            Console.WriteLine("Output:");
            foreach (var psObject in results)
            {
                Console.WriteLine(psObject);
            }
            Console.WriteLine("Non-terminating errors:");
            foreach (ErrorRecord err in ps.Streams.Error)
            {
                Console.WriteLine(err.ToString());
            }
        }
        catch (RuntimeException ex)
        {
            Console.WriteLine("Terminating error:");
            Console.WriteLine(ex.Message);
        }
    }
}

এবং আউটপুটটি হ'ল:

PS1 লোড করা যায় না কারণ এই সিস্টেমে চলমান স্ক্রিপ্টগুলি অক্ষম রয়েছে। আরও তথ্যের জন্য http://go.microsoft.com/fwlink/?LinkID=135170 এ সম্পর্কে_এক্সেকিউশন_পলসিগুলি দেখুন


4
আপনি কি স্থানীয় মেশিনে নীতি স্কোপ সেট করার চেষ্টা করেছেন? 'সেট-এক্সিকিউশনপলিসি -স্কোপ লোকালম্যাচাইন-এক্সিকিউশনপলিসি রিসার্চড'
টোটেম

6
Get-ExecutionPolicy -Listফলাফল সহ আপনার প্রশ্নটি চালান এবং সম্পাদনা করুন। এই কমান্ডটি আপনাকে বিভিন্ন স্কোপ এবং তাদের এক্সিকিউশনপলিসি সেটিংস প্রদর্শন করবে।
জেমস সি

এটি কাজ করে বলে মনে হচ্ছে না যে আমি ভীত, তবে কেবল স্পষ্ট করে বলার জন্য, এটি কমান্ড লাইন স্তরে নয়, কারণ আমি সমস্যা ছাড়াই দূরবর্তী ডেস্কটপে চালাতে সক্ষম হয়েছি।
ইয়র্কশায়ারফ্ল্যাটক্যাপ

উত্তর:


328

এটি বর্তমান ব্যবহারকারী অনির্ধারিত থাকার কারণে হতে পারে ExecutionPolicy

আপনি নিম্নলিখিত চেষ্টা করতে পারেন:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted

4
কাজ !! ধন্যবাদ!
রাখি ধাওয়ালে

4
আমার এই সমস্যাটি পার্সেলের সাথে ছিল এবং আমি আপনার উত্তরটি দিয়ে সমাধান করেছি, আপনাকে ধন্যবাদ!
অ্যাঞ্জেলো পোলোটো

9
বিটিডাব্লু, এটি Powershellউইন্ডোজ এর সেন্টিমিডি না করে চালানো উচিত
এরিক ওয়াং

অনেক ধন্যবাদ!! ছেলেদের প্রথমে এটি চেষ্টা করা উচিত!
ফেস এনগুইন

4
@ এইচডিজেইএমআই, আমি অনুমান করি এটি আপনি কী প্রসঙ্গে চালাচ্ছেন তার উপর নির্ভর করে। Unrestrictedএর অর্থ আপনি সমস্ত স্ক্রিপ্ট চালাতে পারেন। এর আর একটি বিকল্প হ'ল কার্যকরকরণের নীতি সেট করা যা এটি RemoteSignedঅনুমতি দেবে Allow local scripts and remote signed scriptsতবে প্রয়োগের উপর নির্ভর করে এবং এটি কী করছে এটি এখনও একই ত্রুটি ফেলতে পারে। আমি মনে করি আপনার দৃষ্টিভঙ্গি সুরক্ষার ক্ষেত্রে বৈধ এবং আপনি ব্যবহারের আগে নীতিটি কী তা সর্বদা পড়তে পারেন Get-ExecutionPloicy। যদিও এটি বলা হচ্ছে সুযোগটি বর্তমান ব্যবহারকারী তাই আমার মতে ঝুঁকি কম is আশা করি এটা কাজে লাগবে.
টম

25

প্রশাসনিক মোডে পাওয়ারশেল খুলুন এবং নিম্নলিখিত কমান্ডটি চালান

Set-ExecutionPolicy RemoteSigned


23

আপনার পাওয়ারশেল বা সেমিডিতে এই কোডটি চালান

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

4
অন্যান্য ভাষার জন্যও (এখনই একটি আয়নিক অ্যাপ্লিকেশন সম্পাদনা করা) কাজ করে!
চিওয়দা

আমার জন্যও কাজ করেছেন, টিএসসি কমান্ড ব্যবহার করে টাইপস্ক্রিপ্ট চলার জন্য ভিজুয়াল স্টুডিও কোড টার্মিনালের অভ্যন্তরে দৌড়েছিলেন
অনেপাথন

8

আপনি যদি ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করছেন:

  1. টার্মিনাল খুলুন
  2. কমান্ডটি চালান: সেট-এক্সিকিউশনপলিসি -স্কোপ কারেন্ট ইউজার-এক্সিকিউশনপলিসি সীমাহীন
  3. তারপরে কমান্ড প্রটেক্টর কনফারেন্স চালান

এটি প্রোটেক্টর টেস্ট স্ক্রিপ্ট সম্পাদনের সাথে সম্পর্কিত এবং আমি একই সমস্যার মুখোমুখি হয়েছি এবং এটি এর মতো সমাধান হয়েছে।


7

চলমান স্ক্রিপ্টগুলি ঠিক করার জন্য নিম্নলিখিত তিনটি পদক্ষেপ ব্যবহার করা হয় এই সিস্টেম ত্রুটিতে অক্ষম

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

পদক্ষেপ 2: নিম্নলিখিত আদেশটি নির্বাহ করুন সেট-এক্সিকিউশনপলিসি রিমোটসাইনড স্টিপ 3: আপনার নিশ্চিতকরণের জন্য Y টিপুন।

আরও তথ্যের জন্য নিম্নলিখিতটি দেখুন https://youtu.be/J_596H-sWsk


3

পাওয়ারশেল সম্পাদন নীতিটি সীমাবদ্ধতে ডিফল্ট সেট করা আছে। আপনি সেট-এক্সিকিউশনপলিসি সেমিডলেট দিয়ে পাওয়ারশেল কার্যকরকরণের নীতিগুলি পরিবর্তন করতে পারেন। দূরবর্তী স্ক্রিপ্টের বাইরে নীতিটি চালানোর জন্য রিমোটসাইনডে নীতি সেট করুন।

পিএস সি:> সেট-এক্সিকিউশনপলিসি রিমোটসাইনড নীচে পাওয়ারশেলের চারটি পৃথক বাস্তবায়ন নীতির তালিকা রয়েছে

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


3

উইন্ডোজ পাওয়ারশেলটি অ্যাডমিনিস্ট্রেটর মোডে খুলুন এবং নিম্নলিখিত কমান্ডটি চালান এবং এটির কাজ VOILA !!

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


1

আর একটি সমাধান হ'ল ডিরেক্টরি সি থেকে ng.ps1 সরান:% ব্যবহারকারী% ব্যবহারকারী নাম% \ অ্যাপডাটা \ রোমিং \ npm \ এবং এনপিএম ক্যাশে সাফ করা


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