فهرست ویژگی های جدید PowerShell 7

نسخه اصلی بعدی PowerShell منتشر شده است و تغییرات قابل توجهی را به همراه دارد. نسخه هفتم شامل ویژگی هایی مانند اجرای موازی، وارد کردن ماژول ها برای اجرای از راه دور، اپراتورهای جدید و غیره است. در این پست، تمام ویژگی‌های جدید (New)PowerShell 7.0 را بررسی می‌کنیم.

ویژگی های PowerShell 7

تغییرات دایرکتوری PowerShell

هنگامی که PowerShell 7(install PowerShell 7) را نصب می کنید، در یک فهرست جدید نصب می شود و همراه با PowerShell 5.1 اجرا می شود . اگر از PowerShell Core 6.x ارتقا می‌دهید ، دایرکتوری PowerShell 6 را بازنویسی می‌کند و همه فایل‌های غیر ضروری را حذف می‌کند. در اینجا لیست دایرکتوری هایی است که باید بدانید:

PowerShell 7 نصب شده است

%programfiles%\PowerShell\7

پوشه % programfiles  %programfiles%\PowerShell\7 به $env:PATH

بسته های نصب کننده PowerShell 7 نسخه های قبلی (PowerShell 7)PowerShell Core 6.x را ارتقا می دهند :

PowerShell Core 6.x در ویندوز:(PowerShell Core 6.x on Windows:)

%programfiles%\PowerShell\6

جایگزین می شود 

%programfiles%\PowerShell\7

لینوکس:(Linux:)

/opt/microsoft/powershell/6

جایگزین می شود 

/opt/microsoft/powershell/7

macOS:  (macOS: )

/usr/local/microsoft/powershell/6

جایگزین می شود

/usr/local/microsoft/powershell/7

ویژگی های جدید در PowerShell 7

من سعی کردم هر یک از این ویژگی ها را به طور خلاصه توضیح دهم و چگونه به کاربران (users)PowerShell کمک می کند . با این حال، مطمئن شوید که جزئیات بیشتری را در صفحه رسمی مایکروسافت بخوانید.(Microsoft)

  1. موازی سازی خط لوله
  2. اپراتورهای جدید
  3. cmdlet ConciseView و Get-Error
  4. اعلان های خودکار نسخه جدید
  5. منابع DSC(Invoke DSC) را مستقیماً از PowerShell 7 فراخوانی کنید(PowerShell 7)
  6. لایه سازگاری

همیشه قبل از آزمایش کدهای واقعی، متغیر Environment را بررسی کنید.(Environment Variable)

1] موازی سازی خط لوله

اکنون می توانید هنگام استفاده از ForEach-Object -Parallel، به جای روش sequence، اشیاء را به صورت موازی اجرا یا مدیریت کنید. در پست ما در مورد حذف نصب WIM ، این روش می‌تواند سه تصویر WIM را در کمتر از 10 ثانیه به جای تقریباً 25 ثانیه هنگام اجرای متوالی حذف کند. در اینجا یک کد نمونه برای آن وجود دارد:

Get-WindowsImage -Mounted | foreach -Parallel {Measure-Command {Dismount-WindowsImage -Discard -Path $_.Path}}

2] اپراتورهای جدید

سه اپراتور جدید وجود دارد. اپراتور سه گانه Ternary operator: a ? b : c, Pipeline chain operators: || and && and Null conditional operators: ?? and ??=.اینها مانند یک عبارت ساده شده if-else رفتار می کنند. (behaves like a simplified if-else statement.)آنها نوشتن کد را به جای استفاده دائمی از حلقه If-else آسان می کنند.

3] cmdlet ConciseView(ConciseView) و Get-Error

دریافت فرمان خطا اجازه دهید PowerShell 7

ConciseView یک نمای قابل انتخاب توسط کاربر است که به عنوان نمای پیش فرض PowerShell 7 فعال است. اگر خطا از اسکریپت نباشد، یک خطای خطی دریافت خواهید کرد. با این حال، اگر از اسکریپت باشد یا خطای تجزیه وجود داشته باشد، یک پیام خطای چند خطی دریافت خواهید کرد و یک اشاره گر نشان می دهد که خطا در کدام خط رخ داده است.

سپس یک cmdlet Get-Error جدید دارید که می تواند در صورت تمایل به شما کمک کند تا نمای دقیقی از خطا دریافت کنید. این می تواند جزئیات کامل، از جمله استثناهای داخلی، آخرین خطای رخ داده را نمایش دهد.

$Error | Get-Error

Get-Error -Newest 3 # Displays the last three errors that occurred in the session

4 ](] Automatic) اعلان های خودکار نسخه جدید

با شروع با PowerShell 7 ، سیستم یک بار در روز به‌روزرسانی‌ها را بررسی می‌کند و در صورت موجود بودن نسخه جدید را مطلع می‌کند. اطلاعات فقط در شروع جلسات بعدی نشان داده می شود. سه پرچم برای به‌روزرسانی PowerShell وجود دارد(PowerShell Update)

  • نسخه های پیش فرض(Default ) GA، پیش نمایش و RC
  • خاموش(Off) Â ویژگی اعلان به روز رسانی را خاموش می کند
  • LTS فقط از به‌روزرسانی‌های نسخه‌های GA با سرویس طولانی مدت ( LTS ) اطلاع می‌دهد.(LTS)

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

$Env:POWERSHELL_UPDATECHECK = 'Off'

5] منابع DSC(Invoke DSC) را مستقیماً از PowerShell 7 فراخوانی کنید(PowerShell 7)

cmdlet Invoke-DscResource(Invoke-DscResource) روشی  از یک منبع مشخص شده PowerShell Desired State Configuration ( DSC ) را اجرا می کند. این یک ویژگی آزمایشی است.

Using this cmdlet, configuration management products can manage Windows or Linux by using DSC resources. This cmdlet also enables debugging of resources when the DSC engine is running with debugging enabled.

6] لایه سازگاری

این به کاربران PowerShell اجازه می دهد تا ماژول ها را در یک جلسه ضمنی Windows PowerShell وارد کنند. با استفاده از این، شما قادر خواهید بود دستور واقعی را به عنوان یک جلسه در رایانه راه دور انجام دهید و نتایج را به جلسه محلی بازگردانید. اکنون که از وارد کردن ماژول ها پشتیبانی می کند، می توانید این ماژول ها را روی رایانه های راه دور اجرا کنید.

PowerShell یک نرم افزار منبع باز است که در لینوکس(Linux) و macOS نیز موجود است. دیدن بسیاری از ویژگی‌های جدید در PowerShell 7 بسیار عالی است ، و ما امیدواریم که همچنان در حال رشد باشد. می توانید اطلاعات بیشتری در مورد آن در مایکروسافت(about it on Microsoft) بخوانید .



About the author

من یک مهندس سخت افزار هستم و متخصص در طراحی و توسعه محصولات اپل مانند آیفون و آیپد هستم. من با هر دو دستگاه iOS و edge و همچنین ابزارهای توسعه نرم افزار مانند Git و Swift تجربه دارم. مهارت های من در هر دو زمینه به من درک قوی از نحوه تعامل سیستم عامل دستگاه های اپل (OS) با برنامه ها و منابع داده می دهد. علاوه بر این، تجربه من با Git به من امکان می دهد روی سیستم های کنترل نسخه کد کار کنم، که می تواند به بهبود کارایی و بهره وری در هنگام توسعه نرم افزار کمک کند.



Related posts