آموزش کار با پاورشل (دستورات مبتدی برای انجام کارهای روزانه)
ابزار PowerShell ویندوز همانند CMD دارای دستورات فراوانی میباشد که کار مدیران IT را در زمینه Automation نمودن فعالیت های ویندوز بسیار ساده کرده. یکی از مزیت های ابزار PowerShell این است که دستورات آن در دو نسخه مختصر (Aliases) و کامل (cmdlet) وجود دارند و میتوانید از هر دو نسخه
آنها با هم استفاده کنید. اکثر دستورات مختصر شده PowerShell همنام و همانند دستورات لینوکس عمل میکنند. مثلا دستور cp در لینوکس برای کپی گرفتن از فایلها استفاده میشود و همین دستور در PowerShell هم قابل اجرا است یا دستور ps که برای فهرست گیری از Process های فعال لینوکس استفاده میشود. در کل افرادی که با دستورات لینوکس آشنایی داشته باشند به سادگی میتوانند کار با PowerShell ویندوز را یاد بگیرند.
نکته: دستورات Aliases که در این آموزش آنها را با نام دستورات مختصر معرفی نمودم درواقع همان مستعار دستورات کامل میباشند.
کمک گرفتن از PowerShell
همانند CMD و Bash Shell لینوکس، اولین دستوری که باید در PowerShell ویندوز یاد بگیرید دستور Get-Help برای کمک گرفتن از PowerShell میباشد. کار دستور Get-Help همانند دستور man در لینوکس است. با استفاده از این دستور میتوانید از نحوه عملکرد دیگر دستورات باخبر شوید.
فرض کنید نمیدانید دستور Get-Childitem چگونه کار میکند برای اینکه از نحوه عملکرد این دستور مطلع شوید کافیست دستور Get-Help را به همراه دستور Get-ChildItem در خط فرمان PowerShell وارد کنید. به مثال زیر توجه کنید:
Get-Help Get-Childitem
همانطور که گفتم دستورات PowerShell در دو نسخه مختصر و کامل میباشند دستور Get-Help نسخه کامل است و نسخه مختصر آن همان دستور man در لینوکس است. اگر یک کاربر لینوکس باشید میدانید که دقیقا دستور man در لینوکس همین گونه عمل میکند. نحوه استفاده از دستور MAN دقیقا همانند دستور Get-Help است به مثال زیر توجه کنید:
MAN Get-Childitem
تفاوت دستور Get-help با دستور MAN در متوقف شدن خودکار صفحه در هنگام نمایش خروجی دستور MAN میباشد. یعنی اگر محتوای خروجی بیش از سایز صفحه باشد به صورت خودکار از نمایش ادامه محتوا جلوگیری میشود تا کاربر به سادگی بتواند متن را بخواند. و با کلید Space و Enter ادامه مطلب را مشاهده کند.
نکته: در PowerShell ویندوز فرقی بین حروف کوچک و بزرگ نمیباشد.
فهرست گیری از فایلها و دایرکتوری ها
برای فهرست گیری از فایلها و پوشه ها میتوانید از دستور LS یا نسخه کامل آن یعنی GET-CHILDITEM استفاده کنید. نحوه استفاده از این دستور بسیار ساده است کافیست دستور را بدون پارامتر در خط فرمان PowerShell وارد کنید. برای مثال:
LS Get-Childitem
برای دیدن کلیه پارامترهای دستور LS یا Get-Childitem از دستور MAN یا Get-Help استفاده کنید.
MAN LS
برای نمایش فایلهای دارای Attribute باید از پارامتر -Attribute به همراه نام Attribute استفاده کنید. مثلا برای نمایش فایلهای مخفی باید از دستور زیر استفاده کنید:
LS -Attributes hidden
نکته: در PowerShell میتوانید همانند Bash Shell لینوکس بخشی از دستورات را وارد کنید و با زدن کلید تب دستور را کامل کنید. همچنین میتوانید این کار را برای پارامترهای دستورات هم انجام دهید.
در PowerShell نیاز نیست بعضی از مقدارهای پارامتر را کاملا تایپ کنید. مثلا بجای کلمه hidden میتوانید از حرف h استفاده کنید یا بجای کلمه System از حرف s و …
LS -Attrib h
حرکت بین دایرکتوری ها در PowerShell
برای تغییر آدرس در PowerShell میتوانید از دستور CD یا نسخه کامل آن Set-Location استفاده کنید. کار با این دستور فرقی با دستور CD در CMD ندارد. کافیست کلمه CD یا Set-Location را به همراه آدرس مورد نظر وارد کنید برای مثال:
CD Windows\System32
یا
Set-Location E:\Software\
یکی از مزیت های دستور CD یا Set-Location در PowerShell وارد نمودن آدرس کامل میباشد. یعنی نیاز نیست ابتدا وارد یک درایو شوید تا بتوانید وارد دایرکتوری های آن درایو شوید. پس میتوانید به صورت مستقیم آدرس یک درایو و دایرکتوری را با هم وارد کنید.
یکی دیگر از ویژگیهای جالب دستور CD یا Set-Location در PowerShell رفتن به مسیرهای Registry در ویندوز میباشد. برای اینکار کافیست از پارامتر -path استفاده کنید. به مثال زیر توجه کنید:
Set-Location -Path “HKLM:”
دستور بالا شما را وارد مسیر HKEY Local Machine در رجیستری ویندوز میکند.
پاک کردن نتایج صفحه PowerShell
همانند Command Prompt و Bash Shell لینوکس میتوانید از دستور CLS یا Clear برای پاک کردن محتوای نمایش داده شده در صفحه PowerShell استفاده کنید. برای مثال:
CLS
یا
Clear
نمایش محتوای فایلهای متنی در PowerShell
برای دیدن محتوای فایلهای متنی میتوانید از دستور Get-Content یا از نسخه مختصر آن یعنی دستور CAT استفاده کنید. استفاده از این دستور بسیار ساده است. کافیست پس از دستور CAT آدرس فایل متنی خود را وارد کنید. به مثال زیر توجه کنید:
CAT “Users\Home\Desktop\Access Control List.txt”
دستور Get-Content یا CAT دارای پارامترهای زیادی میباشد که میتوانید آنها را با دستور MAN پیدا کنید.
کپی گرفتن از فایلها در PowerShell
برای کپی گرفتن از فایلها میتوانید از دستور CP یا Copy و یا نسخه کامل آن Copy-Item استفاده کنید. برای کپی گرفت از یک فایل کافیست پس از تایپ دستور CP آدرس مبدا فایل را مشخص کنید سپس آدرسی که میخواهید فایلهای شما در آنجا کپی شود. به مثال زیر توجه کنید:
CP C:\Windows\System32\cmd.exe D:\
یا
Copy-Item C:\Windows\System32\cmd.exe -Destination D:\
تغییر نام فایلها در PowerShell
برای تغییر نام فایلها و پوشه ها میتوانید از دستور REN یا نسخه کامل آن یعنی Rename-Item استفاده کنید. برای تغییر نام یک فایل کافیست پس از تایپ دستور Rename و آدرس فایل با یک فاصله نام جدید فایل را تایپ کنید. به مثال زیر توجه کنید:
Rename-Item “Command Prompt.exe” CMD.exe
حذف فایلها در PowerShell
برای حذف فایلها و پوشه ها میتوانید از دستور Del یا Remove-Item استفاده کنید. استفاده از این دستور بسیار ساده میباشد کافیست تا پس از تایپ دستور آدرس و نام فایل مورد نظر خود را وارد کنید. برای مثال:
Remove-Item D:\CMD.exe
فهرست گیری از Process های فعال در PowerShell
برای دیدن Process ها یا برنامه های فعال در PowerShell میتوانید از دستور PS یا Get-Process استفاده کنید. کافیست تا دستور PS را در خط فرمان PowerShell بدون پارامتر وارد کنید. به مثال زیر توجه کنید:
PS
یا
Get-Process
یکی از مزایای جالب Get-Process در PowerShell دریافت Process های یک برنامه مشخص میباشد. مثلا برای دیدن Process های مربوط به برنامه Google Chrome کافیست دستور زیر را تایپ کنید:
Get-Process Chrome
بستن Process های فعال در PowerShell
برای بستن Process های فعال در PowerShell میتوانید از دو دستور Kill یا Stop-Process استفاده کنید. برای اینکار ابتدا با دستور Get-Process فهرستی از Process های فعال دریافت کنید و ID برنامه مورد نظر خود را در جلوی دستور kill قرار دهید. برای مثال:
Stop-Process 7628
یا اینکه میتوانید نام برنامه مورد نظر خود را در جلوی دستور Stop-Process یا دستور Kill قرار دهید. برای مثال:
Kill -Name Chrome
در صورتی که در هنگام متوقف سازی یک Process به مشکل برخوردید میتوانید از پارامتر –Force در آخر دستور استفاده کنید. برای مثال:
Stop-Process -Name Chrome -Force
نکته: در صورتی که نحوه عملکرد یک دستور برای شما گیج کننده بود از دستور Get-Help به همراه پارامتر –Example استفاده کنید تا مثالهای از دستور مورد نظر خود را بیابید. به مثال زیر توجه کنید:
Get-Help Stop-Process -Examples