در این بخش می‌توانید در رابطه با شبکه و کلیه مباحث مربوط به آن بحث و تبادل نظر نمایید
Novice Poster

Novice Poster



no avatar
پست ها

53

تشکر کرده: 0 مرتبه
تشکر شده: 34 مرتبه
تاريخ عضويت

سه شنبه 28 اردیبهشت 1395 11:53

آرشيو سپاس: 0 مرتبه در 0 پست

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

توسط twinkle » پنج شنبه 7 اردیبهشت 1396 11:42

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



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

شاید شما هم از آن دسته کاربرانی باشید که قصد داشتید 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 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 است ) .

منبع : سایت هیوا شبکه

 


  • موضوعات مشابه
    پاسخ ها
    بازديدها
    آخرين پست

چه کسي حاضر است ؟

کاربران حاضر در اين انجمن: بدون كاربران آنلاين و 0 مهمان