کاربرد پاورشل در سیستم عامل ویندوز Windows Powershell
Application of windows powershell | نحوه کار با ویندوز پاورشل
مقدمهای بر موضوع
گاها ممکن است برای شما هم پیش آمده باشد که مشکلی در چندین رایانه به طور همزمان رخ دهد، یا نیاز باشد که یک راه حل امنیتی جدید در سریع ترین زمان ممکن بر روی کل شبکه بارگذاری نمایید، برای مدیری که مجبور باشد هر دستگاه جداگانه را بیابد و همیشه تکرار کند،مقرون به صرفه نخواهد بود.
Windows Powershell این امکان را فراهم میکند که فرآیندی مانند این را به شدت افزایش داده و کارهای روتین را تا حد امکان خودکار کنید. این ،کار مدیر سیستم را تا حد زیادی ساده می کند. در این آموزش ما می توانید دریابید که نرم افزار چه کارهای دیگری می تواند انجام دهد و چه تفاوتی بین Powershell و Command Prompt وجود دارد.
Windows PowerShell چیست؟
همانطور که از نام آن پیداست، Windows PowerShell یک پوسته است.در فناوری اطلاعات، این یک رابط بین رایانه و کاربر آن است. در علوم کامپیوتر، این اصطلاح به رابط کاربری قابل مشاهده اشاره دارد که از طریق آن می توانید با عملکردهای درون سیستمی کامپیوتر تعامل داشته باشید.
پوسته ها معمولاً دستور گرا هستند و منحصراً توسط صفحه کلید و ورودی متن کنترل می شوند. آنها جایگزینی برای رابط های گرافیکی کاربر (GUI) هستند که عمدتاً با استفاده از ماوس هدایت می شوند – مانند Windows Explorer. از آنجایی که پوستهها همچنین دسترسی به عملکردها و اجزای بسیار بیشتری را فراهم میکنند، بسیاری از متخصصان فناوری اطلاعات و مدیران سیستم آنها را ترجیح میدهند.
چرا Windows PowerShell وجود دارد؟
تا همین اواخر، خط فرمان “command.com” و اعلان “cmd.exe” پوسته های پیش فرض در سیستم عامل های DOS و ویندوز بودند.آنها به کاربران پیشرفته رایانه اجازه می دهند برنامه های کنسول را باز کنند، مشکلات را عیب یابی کنند یا درایوهای رایانه شخصی را هدایت کنند. به عنوان مثال، دستور netstat دریافت اطلاعات اولیه در مورد تمام فعالیت های شبکه را ممکن می کند. با این حال، “command.com” و “cmd.exe” همیشه به دلیل دو مشکل برجسته بوده اند: همه اجزای سیستم از طریق آنها قابل دسترسی نیستند و زبان اسکریپت آنها در عملکرد آنها محدود است. بنابراین، برای مدتی آنها به اندازه پوسته های لینوکس و یونیکس فعلی به طور کامل توسعه نیافته بودند.
در نتیجه، توسعه دهندگان مایکروسافت از دهه 1990 در حال برنامه ریزی برای حذف این محدودیت ها بودند. در طول زمان، آنها پوسته های مختلفی را توسعه دادند که گاهی اوقات کمک می کرد، اما گاهی اوقات اوضاع را بدتر می کرد. موناد، که برای اولین بار در سال 2003 معرفی شد و سه سال بعد به PowerShell تغییر نام داد، به ویژه پیشگام بود.
“معیارهای مهندسی مشترک” مایکروسافت که از سال 2009 تمامی محصولات سرور این شرکت را ملزم به پشتیبانی از PowerShell کرده است، پیشرفت کرده و به راه حل مرکزی مدیریت و اتوماسیون در ویندوز تبدیل شده است. از ویندوز 2008 به بعد، به صورت استاندارد با سیستم عامل عرضه شد. همچنین به عنوان یک چارچوب متن باز برای دانلود برای نسخه های قبلی ویندوز موجود است.
در سال 2016، تصمیم گرفته شد که پوسته مستقل از پلتفرم عرضه شود. قصد مایکروسافت: PowerShell باید به یک ابزار جهانی برای مدیران سیستم خارج از ویندوز، یعنی در لینوکس و macOS تبدیل شود. از آن زمان، این پوسته بیشتر و بیشتر گسترش یافته است و دائماً حامیان جدیدی دریافت می کند. به طور خلاصه، PowerShell جانشین خط فرمان است که مدتها پیش مانده است.
تفاوت بین PowerShell و Command Prompt چیست؟
- PowerShell تمام ویژگیهای cmd.exe را دارد، میتواند بسیاری از آنها را بسیار بهتر انجام دهد و همچنین کارهای دیگری را انجام میدهد که قبلاً با ویندوز غیرقابل تصور بودند.
- PowerShell را می توان به همان شیوه خط فرمان استفاده کرد. با این حال، دسترسی به قسمت های داخلی ویندوز را که قبلاً با cmd.exe قابل دسترسی نبودند، نیز امکان پذیر می کند. به عنوان مثال، رجیستری ویندوز و ابزار مدیریت ویندوز (WMI).
- خط فرمان Windows PowerShell نیز از منطق واضح ساختار و نحو دستوری سازگار پیروی می کند و از این نظر منطقی تر از cmd.exe است.
- یکی دیگر از ویژگی هایی که Windows PowerShell را متمایز می کند: برخلاف خط فرمان و سیستم های شبه یونیکس، این برنامه به جای صدور نتایج دستورات به صورت متن (رشته) کاملاً مبتنی بر شی کار می کند. هر شی دارای هر دو ویژگی و روش هایی است که نحوه استفاده از آن را مشخص می کند. به این صورت است که شی، فرآیند ویندوز (هاست ویندوز پلسک.Net)ویژگی هایی مانند نام و شناسه فرآیندها و روش های توقف و خاتمه فرآیندها را نشان می دهد.
- Windows PowerShell فقط یک خط فرمان نیست، بلکه به عنوان یک محیط برنامه نویسی غنی و قدرتمند عمل می کند.در آن، می توانید دستورات خود را بنویسید یا چندین دستور را در اسکریپت های پیچیده ترکیب کنید تا وظایف مدیریت سیستم را ساده کنید. ریموتینگ همچنین امکان اجرای همزمان اسکریپت ها بر روی هر تعداد سیستم،بدون توجه به مکان آنها و از طریق مدیریت، راه اندازی، ضبط و تعمیر آنها را ممکن می سازد.
در اینجا خلاصه ای سریع از مزایا و معایب Windows PowerShell در مقایسه با خط فرمان آمده است:
مشکل PowerShell چیست؟ | چه چیزی با PowerShell درست است؟ |
---|---|
✘ منحنی یادگیری پیچیده و شیب دار | ✔ تمام دستورات موجود از خط فرمان |
✘ عمدتاً متخصصان فناوری اطلاعات و مدیران سیستم را هدف قرار داده است | ✔ دسترسی به بخش های داخلی ویندوز مانند رجیستری و WMI |
✘ هیچ مزیتی برای کاربران رابط کاربری گرافیکی که به ندرت از خط فرمان استفاده می کنند، افزایش نمی یابد | ✔ عملکرد کارآمدتر به لطف ساختار فرمان و نحو سازگار |
✘ آشنایی لازم است | ✔ محیط اسکریپت نویسی جامع، اتوماسیون کارآمد فرآیندها را امکان پذیر می کند |
✔ مدیریت مستقل از مکان چندین سیستم از طریق راه دور | |
Windows PowerShell چگونه کار می کند؟
PowerShell اساساً از دو جزء تشکیل شده است، یعنی PowerShell Engine و زبان برنامه نویسی PowerShell. هر دو را می توان به طور جداگانه یا با هم استفاده کرد تا حداکثر عملکرد را از برنامه دریافت کنید.
موتور PowerShellمفسر خط فرمان PowerShell (CLI) به کاربر امکان دسترسی به عملکردهای داخلی سیستم عامل را از طریق ورودی های صفحه کلید می دهد. دستورات برنامه “cmdlets” نامیده می شوند (تلفظ می شود “commandlets”). طبق یک نحو ثابت، آنها همیشه از یک فعل و یک اسم به شکل مفرد تشکیل می شوند، به عنوان مثال. “توقف فرآیند” یا “مرتب کردن شی”. پارامترها در cmdlet طبق فرمول – Parameter [value] مشخص می شوند، به عنوان مثال:
نام مستعار | Cmdlet | تابع |
---|---|---|
cd | Set-Location | دایرکتوری فعلی را تغییر می دهد. |
dir | Get-ChildItem | تمام موارد موجود در یک پوشه را فهرست می کند. |
gi | Get-Item | دسترسی به یک عنصر خاص |
ps | Get-Process | لیست تمام فرآیندها |
gsv | Get-Service | لیست تمام خدمات نصب شده |
gm | Get-Member | نمایش تمام ویژگی ها و روش های یک شی |
clear | Clear-Host | هاست PowerShell را خالی می کند. |
-
زبان برنامه نویسی PowerShell
سازمان دایرکتوری: تغییر نام چندین فایل به طور همزمان
اگر به صورت فرضی، باید نام حدود1000سندطرح “Text (1).docx”،”Text (2).docx” و غیره را تغییر دهید تا فاصلههای نام فایل با زیرخط جایگزین شود: توصیه می شود هر سند را به صورت جداگانه تغییر دهید.درعوض،احتمالاً از cmd.exe یا – حتی بهتر از آن – یک ابزار خارجی استفاده می کنید.PipeliningدرPowerShell انعطاف پذیری بیشتری را هنگام تغییر نام حجم زیادی از داده ها فراهم می کند.
برای این کار ابتدا به دایرکتوری که اسناد در آن قرار دارند بروید. این را می توان به راحتی با استفاده از cmdlet “Set-Location” در ترکیب با مسیر فایل کامل انجام داد. به عنوان مثال:
چکیده
ویندوز پاورشل (Windows PowerShell) یک ابزار قدرتمند برای خودکارسازی وظایف و سادهسازی پیکربندی است. پاورشل میتواند برای خودکار کردن هر فرایند قابل انجامی در ویندوز، از جمله دایرکتوری فعال و exchange استفاده شود. به همین دلیل است که این ابزار به یک ابزار محبوب در بین کاربران با تجربه ویندوز تبدیل شده است.