hiva-network.com

کارگاه تخصصی شبکه - هیوا شبکه

آموزش رایگان

PowerShell چه ورژن هایی دارد؟

PowerShell Versions 01

سلام به همه شما دوستان و همراهان همیشگی هیوا

شاید شما هم از آن دسته کاربرانی باشید که قصد داشتید PowerShell را به عنوان خط فرمان Default خود قرار دهید اما پس از نظرتان را عوض کردید و CMD را بار دیگر در سمت خود ابقاء کردید! چرا؟ چون بعضی از cmdlet های PowerShell در ویندوز 8.1 کار می کنند اما در Windows 7 نه! بعضی از cmdlet ها در Windows Server 2012 کار می کنند اما در Windows Server 2008 نه! شاید اولین باری که به چنین مشکلی برخوردید گمان کردید که فرمان را اشتباه نوشتید و بعد به این نتیجه رسیدید که PowerShell ویندوز شما مشکل دارد و در نهایت به کار با CMD برگشتید!

خب چرا این اتفاق می افتد؟ آیا PowerShell در ویندوز 8 با PowerShell در ویندوز 7 فرق می کند؟

اصلا PowerShell چه ورژن هایی دارد؟

این ورژن های چه تفاوت هایی با هم دارند؟

چگونه بفهمیم در حال استفاده از کدام ورژن PowerShell هستیم؟

چطور مطمئن شوم اسکریپت PowerShell ای که نوشتم بر روی تمامی نسخه های آن کار خواهد کرد؟

بسته به سیستم عاملی که استفاده می کنید ورژن PowerShell متفاوت است. در جدول زیر ورژن PowerShell و سیستم عاملی را که از آن ورژن بهره می برد، می بینید:

می تواند بر روی این ویندوز ها نصب شود ویندوز پیشفرض تاریخ Release ورژن PowerShell

Windows XP SP2/SP3

Windows Server 2003 SP1/SP2

Windows Server 2003 R2

Windows Vista

Windows Vista SP2

Windows Server 2008 2006 PowerShell 1.0

Windows XP SP3

Windows Server 2003 SP2

Windows Vista SP1/SP2

Windows Server 2008 SP1/SP2

Windows 7

Windows Server 2008 R2

2009 PowerShell 2.0

Windows 7 SP1

Windows Server 2008 SP2

Windows Server 2008 R2 SP1

Windows 8

Windows Server 2012

2012 PowerShell 3.0

Windows 7 SP1

Windows Server 2008 R2 SP1

Windows Server 2012

Windows 8.1

Windows Server 2012 R2

2013 PowerShell 4.0

Windows 8.1

Windows Server 2012 R2

Windows 10 2014 PowerShell 5.0

ورژن های مختلف PowerShell چه تفاوتی با هم دارند؟

پاسخ این سوال را در پایان نوشته به شما خواهم گفت!

چطوری ورژن PowerShell را تشخیص دهیم؟

یکی از راه حل ها استفاده از جدول بالاست. یعنی اگر کاربری از ویندوز 8 استفاده می کند پس می توانیم نتیجه بگیریم که از PowerShell 3.0 استفاده می کند. اما این نتیجه گیری به شرطی درست است که PowerShell پیشفرض آن به نسخه بالاتر Upgrade نشده باشد.

راه حل دقیق شناسایی ورژن PowerShell

با فرمان زیر می توانیم ورژن PowerShell را شناسایی کنیم:

$PSVersionTable

و باز هم دقیقتر:

$PSVersionTable.PSVersion

PowerShell Versions 02

اجرای PowerShell 4.0 یا PowerShell 3.0 در حالت PowerShell 2.0 !

خیلی جالب است. اگر بتوانیم PowerShell را در Version 2 اجرا کنیم در این صورت می توانیم حداقل به این سوال پاسخ دهیم که آیا اسکریپتی که برای PowerShell نوشتید در تمامی ورژن ها کار می کند یا نه. از آنجایی که PowerShell Version 2.0 از ویندوز 7 به بعد در تمامی سیستم عامل ها پشتیبانی می شود و وجه اشتراک تمام سیستم عامل های بعدی است نوشتن اسکریپت برای این ورژن می تواند به صرفه تر باشد (اگر بخواهیم اسکریپتی بنویسیم که روی تمامی ورژن های ویندوز کار کند)

مثلا فرض کنید از ویندوز 8.1 استفاده می کنید اما می خواهید اسکریپتی بنویسید که لزوما برای ویندوز 7 باشد می توانید از همان ابتدا PowerShell را در حالت ورژن 2 اجرا کنید تا مطمئن باشید cmdlet هایی که استفاده می کنید همگی در PowerShell 2.0 معتبر هستند.

برای این که PowerShell را در ورژن 2 اجرا کنید باید از فرمان زیر استفاده کنید. ( در این مثال ورژن پیشفرض، PowerShell 4.0 است ) .

PowerShell –Version 2

برای اینکه مطمئن شویم که با اجرای فرمان بالا، حالت اجرا به ورژن پایین تر تغییر می کنید می توانیم از فرمان $PSVersionTableبرای چک کردن ورژن استفاده کنیم:

PowerShell Versions 03

 

در صورتی که کنسول PowerShell را ببندید و دوباره باز کنید، ورژن آن به حالت پیشفرض برخواهد گشت.

خب حالا زمان پرداختن به تفاوت های ورژن های مختلف PowerShell است.

ورژن های مختلف پاورشل چه تفاوتی با هم دارند؟

یکی از تفاوت های آن ها در تعداد cmdlet ها و فرمان هایی است که هر کدام دارا هستند. برای این که ببینید هر ورژن PowerShell از چه cmdlet و فرمانی پشتیبانی می کند کافیست کارهای ساده زیر را انجام دهید:

PowerShell را در هر یک از ورژن های 1 و 2 و 3 و 4 و 5 اجرا کنید و فرمان Get-Command را اجرا کنید. این cmdlet لیست فرمان های PowerShell را به شما نمایش می دهد که بسته به ورژن پاورشل، متفاوت است. برای مثال با اجرای فرمان بالا در PowerShell 2.0 تعداد 413 عدد فرمان و در PowerShell 3.0 تعداد 1153 عدد فرمان وجود دارد. برای این که خروجی فرمان Get-Commandبه صورت مرتب شده بر اساس حروف الفبا باشد می توانید آن را به صورت زیر اجرا کنید:

Get-Command | Sort-Object CommandType

در جدول زیر لیست Feature هایی را که در هر ورژن افزوده شده، می بینید:

 

PowerShell 2.0 PowerShell 3.0 PowerShell 4.0

PowerShell Remoting

Background Jobs

Transactions

ScriptCmdlets

SteppablePipelines

Modules

Data Language

Eventing

Windows PowerShell Integrated Scripting Environment (ISE)

Network File Transfer

New Cmdlets

New Operators

Exception Handling with Try-Catch-Finally

Nestable Here-Strings

Block Comments

New APIs

Scheduled jobs

Session connectivity

Improved code writing

Delegation support

Help update

Automatic module detection

New commands

Desired State Configuration

New Default Execution Policy

Save-Help

Enhanced debugging

-PipelineVariable switch

Network diagnostics

Where and ForEach

***********

PowerShell 5.0

PowerShell class definitions (properties, methods)

PowerShell .NET Enumerations

Debugging for PowerShell Runspaces in remote processes

Debugging for PowerShell Background Jobs

Desired State Configuration (DSC) Local Configuration Manager (LCM) version 2.0

DSC partial configurations

DSC Local Configuration Manager meta-configurations

Authoring of DSC resources using PowerShell classes

امیدواریم که این آموزش برای شما دوستان مفید باشد.

با سپاس از همراهی شما

هیوا شبکه

دانلود رایگان PowerShell چه ورژن هایی دارد؟

                                         twitter.com/hivanetwork                               


روزی یک خط، فرمان با خط فرمان

حافظه کش DNS در کامپیوتر رو چطوری می شه پاک کرد؟ اینطوری :
Ipconfig /FlushDNS

بیشتر بگو!

به دوستانتان هم بگویید...

Submit to FacebookSubmit to Google PlusSubmit to TwitterSubmit to LinkedIn

دوره های جدید

 

کانال تلگرام و اینستاگرام هیوا شبکه

telegram Hivashabakeinstagram hiva.network

تجهیزات شبکه

آمار بازدید سایت

3776738
امروز
هفته جاری
ماه جاری
بازدید کل
1476
12859
46589
3776738

آی‌پی شما: 54.224.203.224
امروز: ج، 28 مهر 1396

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

 

سامانه مشاوره و پشتیبانی

سازمان ها و ادارات ...

کارخانه ها و شرکت ها ...

 

تا راه اندازی و نگهداری از

سرویس های شبکه شما ...

با ما در تماس باشید ...

 

تلفن: 33241269-13

تلفن: 33260041-13

ایمیل: info@hiva-network.com

محصول ویژه برای شما

در جستجوی محصول آموزشی خاصی هستید اما هرچه جستجو می کنید آن را نمی یابید ؟

به ما بگویید...