PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : PowerShell چیست؟



twinkle
March 10th, 2016, 10:52
با عرض سلام و وقت بخیر خدمت تمامی دوستان و علاقه مندان به شبکه .

در این مقاله قصد داریم شما را با Windows PowerShell یکی از ابزارهای قدرتمند اجرایی ویندوز یا Administrative tool که بسیار هم مفید است آشنا کنیم.

اما PowerShell چیست؟

PowerShell تقریبا همان Command Prompt (خودمان) است با کمی تفاوت فراوان!

شاید این ساده
ترین تعریفی باشد که می توان در مورد PowerShell بیان کرد. در این مقاله ممکن است با تعاریف پیچیده ای روبرو شویم پس بهتر است برای این که توضیحات این مقاله را بهتر درک کنیم باهم کارهای ساده زیر را انجام می دهیم:

1- از صفحه کلید دکمه های Win+R را فشار دهید تا پنجره Run باز شود.
2- عبارت CMD را تایپ Enter کنید!


http://www.hiva-network.com/images/03-edu03/PowerShell_01.gif



3- دوباره Win+R را فشار دهید.
4- عبارت PowerShell را تایپ و Enter کنید.


http://www.hiva-network.com/images/03-edu03/PowerShell_02.gif



5- هر دو پنجره را کنار هم قرار دهید و عبارت IPconfig را در هر دو تایپ و Enter کنید.


http://www.hiva-network.com/images/03-edu03/PowerShell_03.gif



6- عبارت CLS را تایپ و Enter کنید تا صفحه تمیز شود.

7- عبارت Color A را تایپ و Enter کنید تا رنگ نوشته عوض شود. رنگ متن در CMD سبز خواهد شد (علاقه مندان به ماتریکس !!!)


http://www.hiva-network.com/images/03-edu03/PowerShell_04.gif


8- در PowerShell به خطا برخوردید !

http://www.hiva-network.com/images/03-edu03/PowerShell_05.gif


9- عبارت get-Command را در هر دو تایپ و Enter کنید!

http://www.hiva-network.com/images/03-edu03/PowerShell_06.gif


10- در CMD به خطا برخوردید !

http://www.hiva-network.com/images/03-edu03/PowerShell_07.gif


11- نوشته های داخل CMD و PowerShell را کپی کنید!

در CMD شما باید بر روی صفحه راست کلیک کنید و عبارت Mark را کلیک کنید و متن مورد نظر را Select کنید، سپس دوباره راست کلیک کنید و عبارت را Copy و در نهایت با راست کلیک کردن و Paste کردن کار خود را خاتمه دهید.

در PowerShell کافیست متن مورد نظر را با موس Select کنید
با راست کلیک کردن، متن به طور خودکار کپی می شود.
با راست کلیک کردن مجدد ، متن به طور خودکار Paste خواهد شد.
خدا قوت !

با همین چند کار ساده اطلاعات زیادی کسب کردید و در ادامه بحث های پیچیده و تعاریف پیچیده تر در مورد PowerShell برایتان ساده تر خواهد شد.

اما PowerShell چیست؟ ( ادامه ! )همان طور که دیدید PowerShell مانند CMD یک محیط خط فرمان است (Command-Line Shell)و تقریبا هر کاری که با CMD انجام می دهید با PowerShell نیز می توانید انجام دهید. همچنین با یک زبان اسکریپ نویسی بر پایه .NET Framework آمیخته شده است.اما اصل قدرت PowerShell به انجام کارهایی است که با PowerShell می توانید انجام دهید ولی با CMD نمی توانید انجام دهید و یا به سختی می توانید انجام دهید !PoweShell بیش تر از 130 ابزار خط فرمانی که cmdlets نوشته می شود و (command-Lets) خوانده می شود ، را شامل می شود.

بر خلاف Command Shell های سنتی مانند CMD در ویندوز و BASH در یونیکس که یک دستور متنی یا یک پردازه یا ابزار مجزا را دریافت می کنند و نتایج آن ها را در قالب متن برمیگرداندند، PowerShell مستقیما تغییرات Object های .NET Framework را در خط فرمان دستکاری می کند. ( تعریف پیچیده !)

یکی دیگر از مهمترین تفاوت هایی PowerShell با CMD دارد این است که رنگ Background در PowerShell آبی است اما در CMD مشکی است !
شما همچنین می توانید از PowerShell به عنوان یک ماشین حساب ساده ولی کاربردی استفاده کنید.

1- PowerShell را باز کنید و چند عمل جمع و تفریق و ضرب و تقسیم انجام دهید مثلا عبارت زیر را در PowerShell وارد کنید ! (اما کپی نکنید به دلیل مشکل راست به چپ)

2-(2/6)-3*(1+2)+5
( فقط نابغه ها انجام بدن !)

http://www.hiva-network.com/images/03-edu03/PowerShell_08.gif


پیاده سازی PipeLineیکی دیگر جنبه های قدرت PowerShell پیاده سازی مفهوم PipeLine در آن است ( تعریف پیچیده )
اما این که گفتیم یعنی چه؟
یعنی اینکه وقتی یک cmdlet را اجرا می کنیم ( مثلا get-process ) خروجی که به می دهد را می توانیم به عنوان ورودی به یک cmdlet دیگر ( مثلا sort-object ) قرار بگیرد.
به مثال زیر توجه کنید :

فرض کنید می خواهیم لیست process های ویندوز را ببینیم:
برای این کار باید از cmdlet زیر در PowerShell استفاده کنیم
:
Get-Process
به این تریتیب پردازه ها به شما نمایش داده می شود (که به طور پیشفرض بر اساس حروف الفبا مرتب شده اند ) ( تصویر زیر )


http://www.hiva-network.com/images/03-edu03/PowerShell_09.gif



حالا فرض کنید می خواهیم پردازه های سیستم را ببینیم به طوری که بر اساس Handles مرتب شده باشد، در این صورت به روش زیر کار می کنیم:

Get-Process | Sort-Object

http://www.hiva-network.com/images/03-edu03/PowerShell_10.gif



این یک مثال ساده از مفهوم Pipeline بود.

این هم مقدمه ای بر Windows PowerShell که امیدوارم برای شما عزیزان مفید واقع شده باشد.

همانطور که قبلا اشاره کردم PowerShell می تواند جایگزین مناسبی برای CMD باشد. اما ممکن دل کندن از CMD و کوچ کردن به PowerShell برای شما کار دشورای باشد ( همانطور که برای من کار سختی بود) . اما دانستن چند نکته زیر خالی از لطف نیست:

چرا باید از PowerShell استفاده کنیم ؟

این ابزار همیشه همراه ویندوز خواهد بود ( و با نسخه های بعدی هم عرضه خواهد شد)
بسیاری از محصولات مایکروسافت با PowerShell قابل مدیریت است.
برخی کارهای خاص را لزوما باید در محیط خط فرمان اجرا کنید ( در محیط GUI در دسترس نخواهد بود )
مایکروسافت در آزمون های بین المللی اش حتما از PowerShell سوال خواهد داد !
تقریبا هر کاری که با CMD می توانیم انجام در PowerShell هم می توانیم انجام دهیم.
پنجره پیشفرض PowerShell بسیار انعطاف پذیرتر از پنجره پیشفرض CMD است.
Select کردن و Copy و Paste کردن متن در آن خیلی راحتتر از CMD است.
قرار نیست برای همیشه CMD را کنار بگذارید !
اگر شما از PowerShell استفاده نکنید شخص دیگری این کار را خواهد کرد !


امیدوارم دلایلی که گفتم برای کوچ کردن به PowerShell کافی بوده باشد.

در پایان از شما دوستان گرامی و علاقه مندان به شبکه سپاس گزارم و از CMD عزیز هم شرمندم.



منبع : راه خوب

Kian
March 10th, 2016, 11:45
دوست عزیز ، برخی کارهایی که cmd میتونه انجام بده رو این پاورشل نمیتونه انجام بده !

twinkle
March 10th, 2016, 12:37
دوست عزیز ، برخی کارهایی که cmd میتونه انجام بده رو این پاورشل نمیتونه انجام بده !

سلام به شما
میتونید بگید کدوم ها ؟!!!

Kian
March 10th, 2016, 13:06
دستور های برداشتن لیمیت های مایکروسافت که جلوی نصب برخی برنامه ها رو میگیره، مانند دستور MSEInstall.exe /disableoslimit که در پاور شل اجرا نمیشه، ولی این دستور برای رفع لیمیت مایکروسافت و نصب Microsoft Security Essentials روی ویندوز سرور با cmd براحتی اجرا میشه