PowerShell یک ابزار داخلی ویندوز است که شامل یک زبان برنامه نویسی گسترده است. اگر به نوشتن فایلهای bat برای انجام اقدامات خط فرمان عادت دارید، از تمام کارهایی که PowerShell میتواند انجام دهد تحت تأثیر قرار خواهید گرفت. لطفاً توجه داشته باشید که من (هنوز) گورو PowerShell نیستم. با این حال، همانطور که با آن کار می کردم، آنقدر مرا تحت تاثیر قرار داد که می خواستم خوانندگان وفادار را معرفی کنم.
به آن
میتوانید PowerShell را به چند روش مختلف راهاندازی کنید، و بستگی به نسخهای از ویندوز دارد که میبینید. بنابراین، اگرچه روشهای مختلف فراخوانی آن را ذکر میکنم، اما روی استفاده از PowerShell از خط فرمان تمرکز میکنم.
یکی از راه های فراخوانی PowerShell این است که یک پنجره Command Line را باز کنید (که در زیر یک نوک دیگر پوشانده شده است) و عبارت "PowerShell" (بدون علامت نقل قول) و سپس Enter را تایپ کنید . راه دیگر استفاده از قابلیت های جستجوی ویندوز برای جستجوی "Windows PowerShell" است. راه سوم این است که دوباره "Windows PowerShell" را جستجو کنید و نتیجه جستجو به نام "Windows PowerShell ISE" را انتخاب کنید. در آخرین نسخه ویندوز 10، وقتی این مورد را انتخاب میکنید، یک صفحه تقسیم میبینید که میتوانید به صورت تعاملی دستورات PowerShell را در سمت چپ صفحه وارد کنید و همچنین یک فایل اسکریپت PowerShell را در سمت چپ صفحه بسازید. صفحه Windows PowerShell ISE به شکل زیر است: (شکل 1 را ببینید.)
شکل 1. Windows PowerShell ISE.
اگر از نسخه قبلی ویندوز 10 استفاده می کنید، وقتی این مورد را انتخاب می کنید، یک صفحه تقسیم می بینید که در آن می توانید به صورت تعاملی دستورات PowerShell را در پایین صفحه وارد کنید و همچنین یک فایل اسکریپت PowerShell در بالای صفحه بسازید. این صفحه تقسیم ممکن است به این شکل باشد: (شکل 2 را ببینید.)
شکل 2. PowerShell ISE.
هنگامی که در PowerShell هستید، بیشتر با "cmdlets" سروکار دارید. cmdlet ها از الگوی پیروی می کنند
verb-noun
. به عنوان مثال، برای دریافت کمک در PowerShell، Get-Help را تایپ کرده و
Enter را فشار دهید . نکات دیگری در مورد PowerShell وجود خواهد داشت، اما اگر نمی توانید صبر کنید، پیشنهاد می شود با مرور مباحث راهنمای زیر شروع کنید:
PS> Get-Help Get-Command PS> Get-Help Get-Member PS> Get-Help Where-Object PS> Get-Help About_Object
دستور اول اطلاعات مربوط به cmdlet ها را برمی گرداند، در حالی که دستور دوم ویژگی ها و روش های یک شی را دریافت می کند. فرمان سوم ویژگی های شی را فیلتر می کند و فرمان نهایی استفاده از اشیاء در PowerShell را توضیح می دهد.
یک اسکریپت PowerShell میتواند کمی به صورت پرمخاطب باشد، بنابراین چیزهایی به نام مستعار را در خود جای میدهد که میانبرهای بسیاری از cmdletهای محبوبتر هستند. به عنوان مثال، به جای تایپ Get-Help، می توانید فقط Help را تایپ کنید. برای مشاهده لیستی از نام مستعار موجود، Get-Alias را در اعلان PS تایپ کنید.
اسکریپتهای PowerShell فایلهای متنی معمولی هستند که با پسوند ps1. ختم میشوند و حاوی دنبالهای از cmdletهای طراحیشده برای انجام یک عملکرد هستند. به عنوان مثال، می توانید یک اسکریپت PowerShell بنویسید که "Hello" را به کنسول نمایش می دهد. قبل از اینکه بتوانید اسکریپت ها را اجرا کنید، ابتدا باید محیط امنیتی را ایجاد کنید. این مراحل را دنبال کنید:
خط فرمان ویندوز را فراخوانی کنید و Run As Administrator را مشخص کنید
PowerShell را با تایپ کردن "PowerShell" در خط فرمان فراخوانی کنید
در اعلان PowerShell Set-ExecutionPolicy RemoteSigned را تایپ کنید
این مراحل فقط یک بار باید انجام شود تا بتوانید از این پس اسکریپت ها را اجرا کنید. حالا Notepad را اجرا کنید و عبارت زیر را در آن تایپ کنید:
Write-Output "Hello"
از Notepad خارج شوید و نام فایل خود را Hello.ps1 بگذارید و مطمئن شوید که در دایرکتوری مشخص شده توسط جلسه PowerShell شما ذخیره شده است. (نام دایرکتوری بخشی از فرمان PowerShell است؛ من یک دایرکتوری C:PowerShell دارم که همه فایلهای ps1. را در آن ذخیره میکنم.) از دستور PowerShell خود تایپ کنید ".Hello.ps1" و باید اسکریپت خود را اجرا کنید، به عنوان مثال. ، کلمه "Hello" روی صفحه نمایش داده می شود.
چیزهای بیشتری در مورد PowerShell می توان گفت، اما از آنجایی که این یک نکته مقدماتی است، من فقط به چند مورد دیگر اشاره می کنم. از آنجایی که همیشه تمرین خوبی برای نظر دادن به اسکریپتهایتان است، باید بدانید که کاراکتر نظر PowerShell نماد "#" است. هر چیزی که در سمت راست این شخصیت ظاهر شود نادیده گرفته می شود. و در مورد کاراکترهای خاص، اگر نیاز دارید که یک خط PowerShell را به خط دیگری ادامه دهید، خط اول را با یک قبر تاکیدی ("`") به پایان برسانید، که گاهی اوقات یک کاراکتر backtick یا یک آپستروف به عقب نامیده می شود.
یکی دیگر از چیزهایی که باید به آن عادت کنید، توانایی "لوله" کردن خروجی یک فرمان به فرمان دیگر است. اسکریپت های PowerShell اغلب cmdlet های خود را به cmdlet های دیگر منتقل می کنند. کاراکتر لوله "|" است سمبل. بنابراین، به عنوان مثال، می توانید خروجی یک cmdlet را با لوله گذاری در یکی از cmdlet های "format" به روش های مختلف فرمت کنید. فرض کنید میخواهید ویژگیهای فایلی به نام «C:TempVmwareStatus.log» را دریافت کنید. می توانید این کار را با استفاده از cmdlet Get-ItemProperty انجام دهید:
PS> Get-ItemProperty C:TempVmwareStatus.log
به طور پیش فرض، ویژگی های فایل در قالب جدول نمایش داده می شود. اگر می خواهید ویژگی ها در یک لیست نمایش داده شوند، می توانید خروجی را به cmdlet Format-List لوله کنید:
PS> Get-ItemProperty C:TempVmwareStatus.log | قالب-فهرست
در نهایت، اگر میخواهید به محیط خط فرمان آشنا بازگردید، کافی است «cmd» را در خط فرمان PowerShell تایپ کنید. برای خروج از این محیط کافیست "Exit" را تایپ کنید. برای خروج از PowerShell، "Exit" را نیز تایپ کنید.