خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

4 روش برای رفع خطای Windows “PowerShell نمی تواند بارگیری شود زیرا اجرای اسکریپت ها غیرفعال است”

گاهی اوقات ویندوز با استناد به گزینه ای که اسکریپت های در حال اجرا را غیرفعال می کند، شما را از PowerShell منع می کند. در اینجا نحوه رفع آن آورده شده است.

شما در حال اجرای برخی از دستورات در PowerShell هستید و ناگهان یک پیغام خطایی می بینید که می گوید: “PowerShell نمی تواند بارگیری شود زیرا اجرای اسکریپت ها در این سیستم غیرفعال است.”

آیا نمی دانید علت این مشکل چیست و چگونه می توانید آن را حل کنید؟ ما شما را از طریق روش‌های آسانی راهنمایی می‌کنیم که می‌توانند به شما کمک کنند تا یک بار برای همیشه با این مشکل مقابله کنید.

بیایید شیرجه بزنیم!

1. PowerShell را در حالت Administrator اجرا کنید

آیا در حال حاضر PowerShell را بدون حقوق مدیریتی مناسب اجرا می کنید؟ اگر چنین است، پس شاید مشکل همین جاست.

بنابراین، بیایید مراحلی را که باید برای اجرای ابزار در حالت مدیر اعمال کنید، بررسی کنیم:

  1. Win + X را فشار دهید تا منوی دسترسی سریع باز شود.
  2. گزینه Windows PowerShell (Admin) را انتخاب کنید.

با انتخاب گزینه Windows PowerShell (Admin) در منوی دسترسی سریع

و اگر کمکی نکرد، راه های مختلف باز کردن Windows PowerShell را بررسی کنید. اما شما فقط باید روی روش هایی تمرکز کنید که به شما نشان می دهد چگونه ابزار را با امتیازات مدیریتی اجرا کنید.

2. Execution Policy را در PowerShell تغییر دهید

در برخی موارد، تغییر خط مشی اجرا می تواند کمک کننده باشد. اما قبل از اینکه راه‌حل‌ها را بررسی کنیم، اجازه دهید ابتدا شما را در مورد اینکه سیاست اجرا چیست و چگونه کار می‌کند آشنا کنیم.

سیاست اجرا چیست و چگونه کار می کند؟

خط مشی اجرا یک ویژگی امنیتی است که نحوه اجرای اسکریپت های PowerShell را در دستگاه شما کنترل می کند. این به سادگی تعیین می کند که کدام نوع از اسکریپت ها را می توان اجرا کرد و از کدام یک باید اجتناب کرد. بهترین بخش این است که می توانید این سیاست را به دلخواه خود پیکربندی کنید.

در اینجا گزینه هایی هستند که می توانید هنگام پیکربندی خط مشی اجرا انتخاب کنید:

  • محدود: این سیاست شما را از اجرای هر اسکریپت PowerShell منع می کند.
  • نامحدود: به شما امکان می‌دهد هر اسکریپتی را اجرا کنید، اما زمانی که اسکریپت‌های مشکوک را اجرا می‌کنید، یک پیام هشدار به شما نشان می‌دهد.
  • RemoteSigned: هنگام اجرای اسکریپت هایی که به صورت آنلاین دانلود کرده اید، این خط مشی به امضای دیجیتال نیاز دارد. با این حال، برای اسکریپت های محلی نیازی به امضا ندارد.
  • ByPass: این امکان را به شما می دهد تا هر اسکریپتی را بدون هیچ محدودیتی اجرا کنید. برخلاف خط‌مشی «محدود نشده»، خط‌مشی «ByPass» هیچ پیام هشداری را هنگام اجرای اسکریپت‌های مشکوک به شما نشان نمی‌دهد. بنابراین، همیشه این سیاست را فقط هنگام اجرای اسکریپت های قانونی اعمال کنید.
  • AllSigned: این خط مشی فقط اسکریپت هایی را اجرا می کند که توسط یک ناشر مورد اعتماد امضا شده اند.
مطلب مرتبط:   آیا مایکروسافت اج همچنان در ویندوز باز می شود؟ این راه حل ها را امتحان کنید

حال، اگر به طور منظم از PowerShell استفاده می کنید، ممکن است بخواهید هر از چند گاهی سیاست اجرا را تغییر دهید. با این حال، برخی از سیاست های اجرایی ممکن است هنگام اجرای اسکریپت های PowerShell خود، پیام های خطا را نشان دهند.

به عنوان مثال، فعال کردن خط‌مشی‌های «محدود شده»، «همه ثبت‌شده» یا «Signed از راه دور» ممکن است به پیام‌های خطایی مانند خطای «اسکریپت‌های در حال اجرا غیرفعال است» منجر شود.

برای حل مشکل، شما به سادگی باید سیاست اجرا را به “Unrestricted” یا “ByPass” تغییر دهید. اما این همه ماجرا نیست؛ شما همچنین باید تصمیم بگیرید که این سیاست چگونه باید اجرا شود. به عنوان مثال، آیا می خواهید این خط مشی را برای همه کاربران اعمال کنید یا فقط برای جلسه PowerShell فعلی خود؟

بیایید تمام دستورات PowerShell اضافی را که باید هنگام تغییر خط مشی اجرا اضافه کنید، بررسی کنیم:

  • CurrentUser: این خط مشی فقط برای تمام جلسات PowerShell شخصی که در حال حاضر در دستگاه وارد شده است اعمال می شود.
  • LocalMachine: برای همه کاربرانی که در دستگاه حساب دارند اعمال می شود. این خط مشی فقط توسط کاربران محلی که دارای امتیازات مدیریتی هستند قابل پیکربندی است.
  • فرآیند: فقط در جلسه فعلی PowerShell اعمال می شود. این بدان معنی است که اگر جلسه جدیدی را شروع کنید، باید دوباره خط مشی را اجرا کنید.
  • MachinePolicy: این خط مشی برای همه کاربرانی که در دستگاه شما حساب دارند اعمال می شود. با این حال، آن را فقط می توان توسط مدیران شبکه که دارای مجوزهای مناسب هستند پیکربندی کرد. اما اغلب این امکان برای مدیران محلی وجود دارد که این خط مشی اجرا را با استفاده از ویرایشگر خط مشی گروه محلی پیکربندی کنند.
  • UserPolicy: برای تمام جلسات PowerShell و اسکریپت های اجرا شده توسط یک کاربر خاص اعمال می شود.

اکنون که همه چیز مشخص است، بیایید بررسی کنیم که چگونه می توانید سیاست های مربوطه را برای مقابله با مشکل “PowerShell نمی تواند بارگیری کند” را اجرا کنید.

نحوه تغییر سیاست اجرا به “نامحدود”

بهترین راه برای مقابله با موضوع، تغییر سیاست اجرا به “نامحدود” است. اما قبل از آن، باید نحوه پیکربندی هر خط مشی اجرا را بررسی کنید.

مطلب مرتبط:   نحوه همگام سازی دستگاه اندروید و iOS خود با رایانه شخصی ویندوز 11 با استفاده از برنامه Unison اینتل

در اینجا مراحل برای بررسی نحوه پیکربندی سیاست های اجرا آمده است:

  1. Win + X را فشار دهید تا منوی دسترسی سریع باز شود.
  2. Windows PowerShell (Admin) را از میان گزینه ها انتخاب کنید.
  3. دستور زیر را تایپ کرده و Enter را فشار دهید:

Get-ExecutionPolicy -List

نمایش لیست سیاست های اجرایی

این باید به شما نشان دهد که چگونه سیاست های اجرایی برای کاربران و سیستم های مختلف پیکربندی شده اند.

برای اینکه بتوانید خط مشی اجرا را برای کاربر فعال فعلی به “Unrestricted” تغییر دهید، دستور زیر را تایپ کرده و Enter را فشار دهید:

Set-ExecutionPolicy Unrestricted -Scope CurrentUser

تنظیم سیاست اجرا در PowerShell

برای تغییر سیاست اجرا به “Unrestricted” برای همه کاربران، دستور زیر را تایپ کرده و Enter را فشار دهید:

Set-ExecutionPolicy Unrestricted -Scope LocalMachine

پس از اتمام اجرای دستور، PowerShell را ببندید و کامپیوتر خود را مجددا راه اندازی کنید تا این تغییرات ذخیره شوند.

نحوه تغییر سیاست اجرا به “ByPass”

سیاست اجرای «ByPass» به شما این امکان را می دهد که هر اسکریپت PowerShell را بدون دردسر اجرا کنید. اما به یاد داشته باشید که ممکن است به شما امکان اجرای فایل های باگ را نیز بدهد. بنابراین، همیشه این خط مشی اجرا را فقط در هنگام اجرای فایل های PowerShell قابل اعتماد پیکربندی کنید.

برای تغییر سیاست اجرا به “ByPass” برای کاربر فعال فعلی، دستور زیر را تایپ کرده و Enter را فشار دهید:

Set-ExecutionPolicy ByPass -Scope CurrentUser

و برای تغییر سیاست اجرا به “ByPass” برای همه کاربران، دستور زیر را تایپ کرده و Enter را فشار دهید:

Set-ExecutionPolicy ByPass -Scope LocalMachine

پس از اتمام کار، PowerShell را ببندید و سپس دستگاه خود را مجددا راه اندازی کنید.

3. سیاست اجرا را از طریق ویرایشگر خط مشی گروه محلی تغییر دهید

خانمی که از رایانه شخصی ویندوزی استفاده می کند در حالی که فنجانی در دست دارد

ویرایشگر خط مشی گروه محلی (LGPE) همچنین تغییر خط مشی اجرا را برای شما آسان می کند. در واقع، این ابزار همچنین می تواند به شما در پیکربندی تنظیمات مختلف سیستم یا عیب یابی هزاران مشکل رایانه کمک کند.

به یاد داشته باشید، هدف اصلی این است که سیاست اجرا را تغییر دهید تا بتوانید اسکریپ های PowerShell خود را بدون دردسر اجرا کنید. و با انجام این کار، از شر خطای اجرای اسکریپت‌ها غیرفعال است در PowerShell خلاص خواهید شد.

در اینجا نحوه تغییر خط مشی اجرا در LGPE آمده است:

  1. Edit group policy را در نوار جستجوی منوی Start تایپ کنید و بهترین مطابقت را انتخاب کنید. روش دیگر، راه های مختلف باز کردن LGPE را بررسی کنید.
  2. به Computer Configuration > Administrative Templates > Windows Components > Windows PowerShell بروید.
  3. بر روی گزینه Turn on Script Execution دوبار کلیک کنید.
مطلب مرتبط:   نحوه رفع باز نشدن لانچر Epic Games در ویندوز 11 یا 10

با کلیک روی گزینه Turn on Script Execution

کادر Enabled را علامت بزنید. از آنجا، روی منوی کشویی Execution Policy کلیک کنید و Allow local scripts and remote signed scripts را انتخاب کنید. این گزینه مشابه گزینه RemoteSigned است که قبلا کشف کردیم.

اگر می خواهید همه اسکریپت ها را بدون محدودیت اجرا کنید، گزینه Allow all scripts را از منوی کشویی “Execution Policy” انتخاب کنید.

از آنجا روی Apply و سپس روی OK کلیک کنید تا این تغییرات ذخیره شوند.

4. سیاست اجرا را با استفاده از ویرایشگر رجیستری تغییر دهید

خانمی که در حالی که روی تخت نشسته از رایانه شخصی ویندوزی خود استفاده می کند

اگر روش‌های دیگر کمکی نکردند، سیاست اجرا را با استفاده از ویرایشگر رجیستری تغییر دهید. با این حال، هنگام ویرایش کلیدهای رجیستری باید مراقب باشید. اگر کلیدهای اشتباه را تنظیم کنید، ممکن است به رایانه شخصی خود آسیب وارد کنید.

اکنون، در اینجا نحوه تغییر سیاست اجرا از طریق ویرایشگر رجیستری آمده است:

  1. Win + R را فشار دهید تا کادر محاوره ای Run باز شود.
  2. Regedit را تایپ کنید و Enter را فشار دهید تا ویرایشگر رجیستری باز شود.
  3. دستور زیر را در نوار آدرس کپی کرده و Enter را فشار دهید:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell

مقدار ExecutionPolicy را در سمت راست پیدا کنید.

انتخاب مقدار ExecutionPolicy

اگر مقدار موجود نیست، آن را از طریق این مراحل ایجاد کنید:

  1. روی یک فضای خالی در سمت راست کلیک راست کنید.
  2. New > DWORD (32-bit) Value را انتخاب کنید.
  3. مقدار را ExecutionPolicy نامگذاری کنید و Enter را فشار دهید.

بر روی مقدار ExecutionPolicy دوبار کلیک کنید. بعد، RemoteSigned را در بخش “Value data” تایپ کنید. این به PowerShell اجازه می دهد تا اسکریپت های محلی و امضا شده را اجرا کند.

همچنین، ByPass را در بخش “Value data” تایپ کنید. این به PowerShell اجازه می دهد تا هر اسکریپتی را بدون محدودیت اجرا کند.

پس از وارد کردن مقدار دلخواه خود در بخش “Value data”، OK را فشار دهید تا تغییرات ذخیره شوند. در نهایت، ویرایشگر رجیستری را ببندید و سپس دستگاه خود را مجددا راه اندازی کنید.

اسکریپت های PowerShell خود را بدون هیچ محدودیتی اجرا کنید

زمانی که به طور ناگهانی نمی توانید دستورات خاصی را در Windows PowerShell اجرا کنید، می تواند بسیار خسته کننده باشد. اما اگر با خطای «اسکریپت‌ها غیرفعال است» مواجه شدید، راه‌حل‌هایی که پوشش داده‌ایم باید کمک کنند.

حالا، آیا PowerShell اغلب مسائل دیگری را به شما ارائه می دهد؟ خوب، راه حل های بیشتری وجود دارد که می تواند به شما کمک کند.