مقدمه
Windows PowerShell یک رابط خط فرمان و زبان برنامه نویسی است که به طور خاص برای مدیریت و اتوماسیون سیستم عامل های ویندوز و محصولات مرتبط مایکروسافت طراحی شده است. اولین بار در سال 2006 منتشر شد و از آن زمان تاکنون نقش مهمی در مدیریت سیستم سیستم های ویندوز ایفا کرده است.
یک اسکریپت PowerShell متشکل از دنباله ای از cmdlet های PowerShell، توابع، متغیرها، شرایط و دستورالعمل های دیگر برای خودکارسازی فرآیندها و وظایف تکرار شونده است. اسکریپت های PowerShell در فایل های متنی با پسوند فایل .ps1 ذخیره می شوند. می توانید از هر ویرایشگر متنی یا کنسول PowerShell Integrated Scripting Environment (ISE) برای ایجاد آنها استفاده کنید. برای اجرای اسکریپت، کنسول PowerShell را باز کرده و مسیر فایل اسکریپت را وارد کنید.
صرف نظر از اینکه چگونه یک اسکریپت PowerShell را فراخوانی می کنید، باید مطمئن شوید که سیاست های اجرای اسکریپت به درستی در محیط PowerShell شما پیکربندی شده است. به طور پیش فرض، اجرای اسکریپت PowerShell در بسیاری از سیستم ها غیرفعال است تا خطرات امنیتی به حداقل برسد. می توانید سیاست های اجرا را با استفاده از cmdlet Set-ExecutionPolicy تغییر دهید.
نحوه ایجاد یک اسکریپت PowerShell با استفاده از کد ویژوال استودیو
Visual Studio Code (VS Code) یک ویرایشگر کد محبوب و رایگان از مایکروسافت است که به طور خاص برای ایجاد اسکریپت ها و برنامه ها طراحی شده است. این شامل برجسته سازی نحوی قدرتمند برای کد PowerShell است و از IntelliSense پشتیبانی می کند که امکان تکمیل خودکار کدها را فراهم می کند.
مرحله 1: VS Code را نصب کنید
اگر VS Code را نصب نکرده اید، می توانید آن را از وب سایت رسمی دانلود کنید. ویندوز را به عنوان سیستم عامل انتخاب کنید و برای شروع نصب دوبار کلیک کنید.
مرحله ۲: افزونه PowerShell را اضافه کنید
برای اینکه بتوانید از PowerShell به طور موثر در VS Code استفاده کنید، باید افزونه رسمی PowerShell را از مایکروسافت نصب کنید. برای این کار به قسمت Extensions در VS Code (نماد در نوار کناری سمت چپ) بروید و PowerShell را جستجو کنید. یا از میانبر [Ctrl] + [Shift] + [X] استفاده کنید. با کلیک بر روی Trust Workspace & Install افزونه را نصب کنید.
مرحله 3: اسکریپت PowerShell را ایجاد کنید
میتوانید یک اسکریپت PowerShell موجود را باز کنید یا با انتخاب File > New Text File و سپس وارد کردن نام فایل از جمله پسوند “.ps1” در زیر Save As، یک اسکریپت جدید ایجاد کنید.
در اینجا یک نمونه از کد PowerShell است که می تواند در فایل باز نوشته شود:
$message = "Script to be executed"
Write-Host $message
مرحله 4: اسکریپت PowerShell را اجرا کنید
VS Code حاوی یک ترمینال یکپارچه است که می توانید از آن برای اجرای دستورات PowerShell به طور مستقیم در محیط استفاده کنید. ترمینال را با کلیک بر روی Terminal > New Terminal و انتخاب PowerShell به عنوان نوع ترمینال باز کنید.
نحوه ایجاد یک اسکریپت PowerShell با استفاده از Notepad
در این بخش، نحوه ایجاد یک اسکریپت PowerShell با استفاده از ویرایشگر متن Notepad را به شما نشان خواهیم داد.
مرحله 1: Notepad را باز کنید
بر روی Start یا روی نماد ویندوز در پایین سمت چپ دسکتاپ خود کلیک کنید. “Notepad” را در نوار جستجو وارد کرده و کلید Enter را فشار دهید. با این کار ویرایشگر متن Notepad باز می شود.
مرحله 2: کد PowerShell را بنویسید
می توانید کد PowerShell را مستقیماً در ویرایشگر Notepad قرار دهید.
روی File > Save کلیک کنید یا از کلید ترکیبی [Ctrl] + [S] استفاده کنید. نام فایل را وارد کنید و “ps1.” را به انتهای آن اضافه کنید تا اسکریپت به عنوان یک فایل PowerShell ذخیره شود. یک مکان ذخیره سازی در رایانه خود انتخاب کنید و روی ذخیره کلیک کنید.
نحوه ایجاد یک اسکریپت PowerShell با استفاده از محیط اسکریپت یکپارچه (ISE)
PowerShell Integrated Scripting Environment (ISE) یک محیط توسعه یکپارچه (IDE) از مایکروسافت است. PowerShell ISE به طور پیش فرض در سیستم های ویندوز موجود است و یک محیط قوی و کاربرپسند برای توسعه اسکریپت های PowerShell است. توجه داشته باشید که ISE با Visual Studio Code (VS Code) در PowerShell 5.0 و بالاتر جایگزین شده است، زیرا دارای ویژگی ها و انعطاف پذیری اضافی است.
مرحله 1: PowerShell ISE را باز کنید
روی Start در پایین سمت چپ دسکتاپ خود کلیک کنید. “PowerShell ISE” را در نوار جستجو تایپ کنید و Run as administrator را انتخاب کنید.
مرحله 2: یک اسکریپت جدید ایجاد کنید
در PowerShell ISE میتوانید با کلیک بر روی File > New یا با استفاده از کلید ترکیبی [Ctrl] + [N] یک اسکریپت جدید ایجاد کنید. کد PowerShell خود را در پنجره اصلی ISE بنویسید. شما به ویژگی هایی مانند برجسته سازی نحو، تکمیل خودکار کد و یک رابط کاربری واضح دسترسی دارید که توسعه اسکریپت را آسان تر می کند.
در اینجا یک نمونه از یک اسکریپت ساده PowerShell آورده شده است:
# This is a comment
$message = "Hello World!"
Write-Host $message
مرحله 3: اسکریپت را ذخیره کنید
روی File > Save کلیک کنید یا [Ctrl] + [S] را فشار دهید. برای ذخیره اسکریپت به عنوان یک فایل PowerShell، مطمئن شوید که “.ps1” را در انتها اضافه کرده اید.
نحوه اجرای اسکریپت PowerShell
یک اسکریپت PowerShell معمولاً از طریق کنسول PowerShell یا ترمینال دیگری شروع می شود.
مرحله 1: PowerShell را راه اندازی کنید
ابتدا PowerShell را با حقوق مدیر مانند مثال ISE باز کنید.
مرحله 2: سیاست اجرا را تغییر دهید
PowerShell دارای چهار سیاست اجرایی مختلف است که امنیت و توانایی اجرای اسکریپت ها را در محیط PowerShell کنترل می کند. چهار سیاست اجرایی عبارتند از:
- Restricted: این سیاست اجرای پیشفرض برای PowerShell است. با این خط مشی، اسکریپت ها غیرفعال می شوند و فقط دستورات تعاملی را می توان در کنسول اجرا کرد. از آنجایی که این کار از اجرای همه اسکریپت ها جلوگیری می کند، بالاترین سطح امنیت را فراهم می کند.
- AllSigned: با این خط مشی، همه اسکریپت ها برای اجرا باید به صورت دیجیتال امضا شوند. این بدان معناست که نویسنده فیلمنامه باید از گواهی دیجیتال برای امضای فیلمنامه استفاده کند.
- RemoteSigned: با RemoteSigned، فقط اسکریپت هایی که از اینترنت یا از یک مکان شبکه نشات می گیرند باید امضا شوند. اسکریپت های محلی که در رایانه شما ذخیره می شوند را می توان بدون امضا اجرا کرد. این کار استفاده از اسکریپت های محلی را آسان تر می کند.
- نامحدود: این خط مشی اجازه می دهد تا همه اسکریپت ها را بدون امضا یا محدودیت اجرا کنید. استفاده از این سیاست در محیط تولید به شدت منع می شود زیرا خطر امنیتی دارد. فقط باید برای اهداف آزمایشی یا در محیط های امن در نظر گرفته شود.
با استفاده از دستور Get-ExecutionPolicy می توانید خط مشی اجرایی فعلی را در محیط PowerShell خود مشاهده کنید. برای تغییر سیاست اجرا، از دستور Set-ExecutionPolicy و به دنبال آن خط مشی مورد نظر خود استفاده کنید.
می توانید دستور زیر را وارد کنید تا اجازه دهید اسکریپت ها در PowerShell اجرا شوند:
Set-ExecutionPolicy RemoteSigned
مرحله 3: تأیید اجرا (در صورت لزوم)
بسته به تنظیمات امنیتی محیط PowerShell خود، ممکن است یک پیام امنیتی برای تأیید اینکه میخواهید اسکریپت را اجرا کنید دریافت کنید. برای موافقت، «Y» یا «A» یا اگر نمیخواهید اجرا کنید، «N» را وارد کنید.
مرحله 4: اسکریپت Powershell را اجرا کنید
برای اجرای اسکریپت PowerShell، مسیر فایل را وارد کنید:
& "C:\PATH\TO\SCRIPT\script.ps1"