دستورات مهم پاورشل

دستورات مهم پاورشل گستردگی های بسیاری را به خود اختصاص داده اند که هر کدام ویژگی های متفاوتی را به همراه دارند و باعث می شود تا کارها سرعت بالایی را داشته باشند و به نوعی سریع تر انجام گیرند. پاورشل به عنوان یک ابزار قدرتمند و اتوماسیون می تواند به کاربران ویندوز این فرصت را بدهد تا تجربه های زیادی را در زمینه های مختلف سروری به دست آورند. پاورشل سازگاری های زیادی را از خود به نمایش می گذارد و می تواند با هر ابزاری اجرا شود. در ادامه این مقاله به بررسی مهم ترین دستوراتی خواهیم پرداخت که در محیط پاورشل بسیار کاربردی هستند که در صورت فراگیری کامل آن ها می توانید به یک فرد حرفه ای در این زمینه تبدیل شوید.

آموزش دستورات پاورشل

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

دستور Get-Help

بدون شک یکی از مهم ترین دستوراتی که در پاورشل وجود دارد، دستور Get-Help می باشد که به عنوان یک کمک کننده بسیار بزرگ شناخته شده است. تمامی اطلاعاتی که به آن نیاز دارید را می توانید از درون این دستور پیدا کنید. این دستور می تواند جزئیات را نیز به شما نشان دهید. البته این نکته نیز باید ذکر شود که استفاده از این اسکریپت بسیار راحت بوده است و می توانید به راحتی آن را در محیط پاورشل وارد نمایید و سپس آن را اجرا کنید.

به عنوان مثال اگر بخواهید تمام اطلاعات را در مورد Get-Process بدانید، باید دستور زیر را وارد نمایید:

Get-Help Get-Process

تصویر زیر به خوبی روند اجرای دستور فوق را نشان می دهد:

دستور Get-Help پاورشل

دستور Get-Process در پاورشل

دستور Get-Command

یکی از ابتدایی ترین ولی کاربردی ترین دستوران مربوط به Get-Command می باشد که تمام ویژگی های مختلف را در یک دستور پیدا می کند و آن را در اختیاز شما قرار می دهد. این ویژگی ها هنگامی نشان داده می شوند که خود شما یک پارامتر و یا دستور خاصی را جستجو کرده اید. به عنوان مثال پارامتری که به آن نیاز دارید –Service می باشد. هنگامی که این پارامتر را در کنار دستور Get-Command تایپ کنید، نتیجه ای که مشاهده خواهید کرد، مربوط به تمامی اسکریپت هایی می باشند که این نام را در خود دارند.

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

Get-Command *-Service*

در تصویر زیر می توانید تمام دستوراتی با اجرا این دستور نشان داده شده اند را مشاهده کنید:

دستور Get-Command ویندوز پاورشل

دستور Get-Command

دستور Get-Process

دستور Get-Process نیز از دیگر دستوراتی می باشد که کاربرد بسیار گسترده ای در ویندوز پاورشل دارد. اگر می خواهید پردازش هایی را مشاهده کنید که در کامپیوتر در حال انجام هستند به راحتی می توانید از این اسکریپت بهره ببرید. متنی که قصد جستجوی آن را دارید باید داخل دو ستاره در کنار این دستور قرار بگیرند تا نتیجه نهایی و مطلوب را به شما بدهند. به عنوان مثال می خواهید تمام اطلاعات و پردازش هایی که در داخل explore قرار دارند را به دست بیاورید. در این صورت باید دستور زیر را در پاورشل تایپ کنید سپس آن را اجرا کنید:

Get-Command

دستور Get-Service

دستور Get-Service نیز از جمله اسکریپت هایی است که استفاده بسیار در پاورشل دارد. با کاربرد این دستور می توانید در هنگام نیاز به اطلاعاتی در مورد یکی سرویس مشخص شده آشنا شوید. همچنین با استفاده از این کد می توانید تمامی سرویس هایی که بر روی کامپیوتر نصب شده اند را ببینید. پارامترها در این دستور بسیار مهم است. زیرا اگر قصد دارید که از این دستور استفاده کنید، باید پارامترهای این دستور را در کنار آن در محیط پاورشل وارد نمایید و سپس آن را به مرحله اجرا برسانید. اگر می خواهید سرویس های در حال اجرا را مشاهده کنید، می توانید دستور زیر را وارد نمایید:

Get-Service | Where-Object { $_.Status –eq "Running"}

تصویر زیر به خوبی دستور بالا را نشان می دهد:

دستور Get-Service

دستور Get-Service پاورشل

دستور Get-Variable

شاید یکی از دستوراتی که شناخته شده نمی باشد، دستور Get-Variable است اما بر خلاف این ناشناختگی کاربرد بسیاری را به دست آورده است. اگر می خواهید که از متغیرهای مختلف در این موتور خودکار استفاده کنید، می توان از این دستور بهره برد. برای درک بهتر تصور کنید که می خواهید متغیرهای مربوط به desc را به دست آورید . در این صورت باید دستور زیر را در پاورشل ویندوز اجرا کنید:

Get-Variable -Name “desc”

دستور Set-Variable در powershell

دستور Get-Variable

دستور Get-Content

اگر می خواهید تمامی محتویات یک فایل را دریافت کنید، بدون اینکه آن فایل را باز کنید، به راحتی می توانید از پاورشل بهره ببرید. دستوری که به انجام رساندن این امر کمک می کند، اسکریپت Get-Content می باشد.

به عنوان مثال فرض کنید که می خواهید فایلی را از Services.htm به دست بیاورید. در این صورت باید دستور زیر را در پاورشل ویندوز تایپ کنید تا نتیجه نهایی برای شما نشان داده شود:

Get-Content “C:Services.htm”

دستور Set-Content

در دستور قبل طریقه دریافت محتویات یک فایل را یاد گرفتید. حالا نوبت آن است که با دستوری مشابه و هم رده با آن آشنا شوید. دستور Set-Content برای زمانی به کار می رود که قصد دارید نتایج دستورات را با Get-Content ادغام نمایید. با این دستور می توانید محتویاتی را که دریافت کرده اید را در یک فایل دیگر ذخیره نمایید. این دستور در کنار Get-Content در محیط پاورشل ویندوز وارد می شود. به طوری که این نتیجه به طور کامل با دستور قبل ترکیب می شود و آن در یک فایل جدید که توسط خود شما تعیین می شود، ذخیره خواهد شد. با توجه به دستور زیر راحت تر می توانید اسکریپت را در پاورشل به اجرا برسانید:

Get-Content “C:\Services.html” -TotalCount ۵۰ | Set-Content “Sample.txt”

خروجی این دستور در فایل جدیدی به نام Sample.txt ذخیره خواهد شد. به تصویر زیرا برای درک بهتر توجه کنید:

دستور Set-Content در windows

دستور Set-Content

دستور Get-Item

اگر می خواهید به سرعت به یک آیتم و یا فایل خاص دسترسی پیدا کنید، می توانید از یک دستور بسیار منحصر به فرد در پاورشل بهره ببرید و آن اسکریپت Get-Item می باشد. به عنوان مثال تصور کنید که می خواهید به تمامی فایل هایی که با حرف لاتین M شروع می شوند، دسترسی پیدا کنید. در این صورت باید در کنار دستور فوق این حرف را جای دهید تا نتیجه دلخواهتان را کسب کنید. تمام نتایجی که به شما نشان داده خواهد شد جزو زیر شاخه ها می باشند و تنها با همین راه محتویات و زیر شاخه ها به شما نشان داده خواهند شد. حال برای این دستور، می توانید همانند چیزی که در ادامه آورده خواهد شد عمل کنید و آن را در پاورشل وارد کنید:

Get-Item M*

تصویر زیر نیز به خوبی این دستور را به نمایش می گذارد:

دستور Get-Item

دستور Get-Item در ویندوز پاورشل

دستور Invoke-Command

دستور Invoke-Command می تواند به شما در هر شرایطی برای اجرای دستورتان کمک کند. به این صورت که فرقی ندارد اجرای دستور پاورشل شما داخلی و یا از راه دور باشد. همچنین اگر بخواهید یک دستور را بر روی چندین کامپیوتر و سرور اجرا کنید، به راحتی می توانید از دستور Invoke-Command بهره ببرید. به عنوان مثال می خواهید که دستور را از کنترل از راه دور به مرحله اجرا برسانید. در این صورت می توانید به طور پیش فرض دستور زیر را وارد نمایید:

Invoke-Command –ScriptBlock {Get-EventLog System –Newest 50}

در دستور بالا، اسکریپتی که مد نظر می باشد، EventLog می باشد. Invoke-Command نیز به طور کامل همراه با مسیر نهایی تایپ شده است. تصویر زیر به خوبی نشان دهنده این موضوع می باشد:

دستور Invoke-Command در ویندوز پاورشل

دستور Invoke-Expression

این دستور دارای یک تفاوت با اسکریپت قبلی می باشد. به طوری که دستور Invoke-Expression فقط قابلیت اجرا به صورت داخلی را بر روی کامپیوتر و سرورهای آن دارد. اگر قصد دارید که یک دستور و یا اصطلاح دیگر را اجرا کنید، می توانید از همین اسکریپت استفاده کنید. همچنین دستوری که می خواهید آن را وارد کنید باید به عنوان ورودی باشد. همچنین در ابتدا Invoke-Expression دستور وارد شده شما را به صورت کامل ارزیابی می کند و سپس تصمیم بر اجرای آن می گیرد.

به عنوان مثال دو متغیر و دستور $Command و Get-Process را در نظر بگیرید. قرار است که این متغیر را همراه با یک رشته به نام Get-Process تعریف کنید. در این صورت در دستور شما فقط متغیر $Command وارد خواهد شد و دستور Get-Process که یک دستور داخلی در کامپیوتر به حساب می آید، به راحتی با پاورشل ویندوز اجرا خواهد شد. دستوری که در پاورشل باید وارد کنید و سپس آن را به مرحله اجرا برسانید به صورت زیر می باشد:

Invoke-Expression $Command

شکل زیر نیز نشان دهنده نتیجه نهایی دستور فوق است:

دستور Invoke-Expression در powershell

دستور Invoke-Expression

دستور Invoke-WebRequest

یکی از منحصر به فردترین دستورها در پاورشل ویندوز به منظور یادگیری دستور Invoke-WebRequest می باشد که به شما این قابلیت را می دهد تا بتوانید اطلاعات مورد نیاز خود را از وب سایت های مختلف دانلود کنید و وارد آن ها بشوید تا هر آنچه که به آن احتیاج دارید را کشف کنید و در نهایت به دست آورید. این در صورتی است که شما در حال استفاده از ابزار قدرتمند و خودکار پاورشل هستنید. برای اینکه بتوانید با این دستور کار کنید، در ابتدا باید نام خود دستور یعنی Invoke-WebRequest را وارد نمایید و پس از آن لینک هایی که مورد نظرتان می باشد را تایپ کنید و سپس آن را محیط پاورشل وارد نمایید تا به خوبی اجرا گردد.

دستور زیر را باید وارد کنید:

(Invoke-WebRequest -Uri https://docs.microsoft.com) .Links.Href

در این دستور وب سایتی که می خواهید به آن دسترسی داشته باشید و اطلاعات مورد نیاز خود را کسب کنید، https://docs.microsoft.com است. به تصویر زیر توجه کنید تا نتیجه نهایی را مشاهده کنید:

دستور Invoke-WebRequest

دستور Invoke-WebRequest

دستور Copy-Item

در بیشتر مواقع هنگام کارکردن با سیستم کامپیوتری و سروری خود به کپی کردن فایل ها و آیتم های مختلف نیاز دارید. به همین منظور برای سرعت بخشیدن به کارهایتان می توانید از پاورشل ویندوز استفاده کنید و با باز کردن دستور Copy-Item اقدام به کپی نمودن فایل های خود کنید. همچنین اسکریپت ذکرشده دارای یک قابلیت دیگری دارد و آن نام گذاری مجدد فایل ها و شاخه های مربوطه است. نام جدید فایلی که می خواهید را در کنار این دستور وارد نمایید و سپس آن را اجرا کنید.

مثلا فرض کنید فایلی که مد نظر شما می باشد دارای نام Services.htm می باشد و حال می خواهید آن را به نام جدید خود یعنی MyServices.txt تغییر دهید. در این صورت دستوری که باید آن را در پاورشل ویندوز تایپ کنید به شکل زیر می باشد:

Copy-Item “C:\Servies.htm” -Destination “C:\MyData\MyServices.txt” MyServices.txt

دستور Remove-Item

دستور Remove-Item همانطور که از نامش پیداست وظیفه حذف آیتم ها، فایل ها و همچنین Registry Key های مختلف را دارد. اگر پارامترهای مختلفی را در نظر دارید می توانید آن ها را از مکانی که در آن قرار دارند و یا ذخیره شده اند، حذف کنید. فرض کنید می خواهیم فایلی را که در دستور قبل آن را تغییر نام داده ایم را از پوشه خود حذف کنیم. در این صورت باید دستور زیرا در پاورشل وارد کنید تا به نتیجه نهایی یعنی حذف آیتم دست یابید:

Remove-Item “C:\MyData\MyServices.txt

دستور Set-Variable

دستور Set-Variable می تواند به دو منظور به کار رود که یکی از آن ها تغییر دادن یک متغییر و دیگری تنظیم مجدد همان متغییر عوض شده می باشد. فرض کنید که می خواهید مقدار متغییر decs را تعیین نمایید. در این صورت باید از دستور زیر برای به اجرا رساندن آن استفاده کنید:

Set-Variable -Name “desc” -Value “A Description”

با دقت به تصویر زیر دقت کنید تا به خوبی متوجه دستور بالا شوید:

دستور Start-Process

اگر بخواهید به پردازش یک و یا چندین دستور بپردازید، می توانید از اسکریپت کاربردی Start-Process استفاده کنید. همچنین اگر قصد دارید که به خودکارسازی پردازش های موجود بپردازید چیزی بهتر از دستور ذکرشده نخواهد بود.

پارامترهایی که در نظر دارید را در کنار این دستور باید وارد کنید تا بتوانید نتیجه نهایی آن را مشاهده کنید. فرض کنید می خواهید پارامتر Notepad را پردازش و اجرا کنید. دستوری که به آن نیاز پیدا خواهید کرد، به صورت زیر می باشد:

Start-Process -FilePath “notepad” -Verb runAs

در شکل زیر می توانید به خوبی دستور بالا را مشاهده نمایید:

دستور Start-Process

دستور Start-Process

دستور Stop-Process

این دستور نیز در بین کاربردی ترین دستورات پاورشل قرار دارد و پیچیدگی چندانی را به خود اختصاص نداده است. اگر آیدی پردازش را در دست داشته باشید می توانید یک یا چندین فرایند را از فعالیت باز بدارید و یا آن ها را متوقف نمایید. شاید باور کردن این موضوع برایتان سخت باشد اما با استفاده از دسترس Stop-Process می توانید پردازش هایی که هنوز به دست شما شروع نشده اند را متوقف کنید. برای مثال می خواهید فرآیند Notepad را از فعالیت باز دارید. در این صورت کافی است تا دستور زیر را در پاورشل ویندوز وارد کنید و سپس آن را در مرحله اجرا قرار دهید:

Stop-Process -Name “notepad”

دستور Start-Service

یکی از قدرتمند دستوراتی که در ویندوز پاورشل می توانید به آن دسترسی پیدا کنید، دستور Start-Service است که با بهره گیری از آن سرویس های مد نظرتان بر روی ویندوز اجرا کنید. همچنین در صورتی که یک سرویس در کامپیوتر شما با روش خاصی متوقف شده باشید، با این دستور می توانید دوباره آن را اجرا کنید. به عنوان مثال سرویسی که قصد فعال کردن آن را دارید Wsearch می باشد. کافیست این نام را در کنار دستور ذکرشده قرار دهید تا پاورشل خروجی نهایی را به شما نشان دهد.

به دستور زیر دقت کنید:

Start-Service - Name “WSearch”

دستور Stop-Service

همانطور که از نام این سرویس مشخص است در زمانی به کار می رود که قصد متوقف نمودن یک سرویس را دارید. عملکردی که دستور Stop-Service از خود به نمایش می گذارد، درست برعکس دستور قبلی می باشد. در مثال این دستور نیز فرض کنید که قصد داریم همان سرویس شروع را، متوقف کنی. در این صورت تنها چیزی که مورد نیاز شما کاربران می باشد، وارد نمودن دستور زیر است:

Stop-Service -Name “WSearch”

این دستور در تصویر زیر به خوبی مشهود می باشد:

دستور Stop-Service

دستور Stop-Service

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

جمع بندی

در این مقاله به مهم ترین دستوراتی که در پاورشل وجود دارند پرداخته شد. از این رو می توانید با دنبال کردن تمامی آن ها به یک تسلط نسبی برسید و بهره کافی را از آن در به جریان انداختن سریع کارهای خود ببینید. پاورشل به عنوان یک ابزار قدرتمند مه هسته مرکزی مایکروسافت محسوب می شود می تواند به شما کمک کند تا مشکلات خود را با استفاده از این ابزار حل کنید. به همین منظور نیاز است تا قبل از شروع به کار وقت خود را برای یادگیری تمام دستورات پاورشل بگذارید تا بتوانید به یکی از حرفه ای ترین کاربران ویندوز تبدیل شوید.

سوالات متداول

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

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

برای اینکه بتوانیم در هنگام ساخت و اجرای اسکریپت ها امنیت را بالا ببریم، از دستور Set-ExecutionPolicy استفاده خواهیم کرد که دستور کلی آن به صورت زیر است:

Set-ExecutePolicy -ExecutionPolicy Restricted

2. چه دستوری در پاورشل با Get-Help برابری می کند؟

دستور Man را می تواند به جای دستور Help به کار برد و اطلاعات مورد نیاز را در پاورشل دریافت نمود.

3. اگر در هنگام خواندن دستورات در –Help دچار مشکل شویم، چه راه حلی پیش روی ما قرار دارد؟

اگر در خواندن دستورات در _Help با استفاده از پاورشل دچار مشکل شدید، می توانید از پارامتر –Example بهره ببرید.

4. اگر بخواهیم آدرسی را در پاورشل تغییر بدهیم، از چه دستوری می توان بهره برد؟

برای تغییر دادن نام آدرس می توان از دستور Set-Location بهره برد.

  • با خدمات ابری پارس آشنا شوید

    اولین ارائه‌دهنده خدمات رایانش ابری در ایران هستیم

    سرور ابری

    سرور ابری

    چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد

    سرور هیبردی

    سرور هیبردی

    چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد

    سرور ماکرو

    سرور ماکرو

    چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد

    میزبانی ابری

    میزبانی ابری

    چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد

    هاست دانلود

    هاست دانلود

    چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است و برای شرایط فعلی تکنولوژی مورد

    مطالعه این مطالب نیز پیشنهاد می‌شود

    مقالات و نظرات اعضای تیم ما درباره تکنولوژی، روزهای کاری و چیزای دیگر…

    سرور بورس

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

    سرور اختصاصی چیست؟

    سرور اختصاصی یک سرویس بسیار کار بردی برای وب سایت های بزرگ و توسعه دهندگان میباشد؛ در این مطلب با زبان بسیار ساده، درباره سرور اختصاصی صحبت می کنیم و ...

    رفع مشکل امنیتی پروتکل smb

    مایکروسافت یک بسته امنیتی بسیار مهم را برای پروتکل SMBv3 منتشر کرده است؛ اخیرا یک مشکل امنیتی بسیار خطرناک در این پروتکل مشاهده شده است که به مهاجمان ...

  • کلیه حقوق برای شرکت دانش بنیان پارس پک محفوظ می باشد.

    Copyright © 2019 Pars Parva System Ltd. ParsPack Cloud Computing Technology ® , All Rights Reserved.