PowerShell 7 รายการคุณสมบัติใหม่

PowerShellเวอร์ชันหลักถัดไปออกแล้ว และนำมาซึ่งการเปลี่ยนแปลงที่สำคัญบางประการ เวอร์ชันที่เจ็ดประกอบด้วยคุณลักษณะต่างๆ เช่น การดำเนินการแบบขนาน การนำเข้าโมดูลสำหรับการดำเนินการจากระยะไกล ตัวดำเนินการใหม่ และอื่นๆ ในโพสต์นี้ เรากำลังดูคุณสมบัติใหม่(New)ทั้งหมด ใน PowerShell 7.0

PowerShell 7 คุณสมบัติ

การเปลี่ยนแปลงไดเรกทอรี PowerShell

เมื่อคุณติดตั้ง PowerShell 7(install PowerShell 7)มันจะติดตั้งไปยังไดเร็กทอรีใหม่และทำงานพร้อมกับPowerShell 5.1 (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 บน Windows:(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(Microsoft)

  1. การวางท่อขนาน
  2. ผู้ประกอบการใหม่
  3. ConciseView และcmdlet รับข้อผิดพลาด(Get-Error)
  4. การแจ้งเตือนเวอร์ชันใหม่อัตโนมัติ
  5. (Invoke DSC)เรียก ใช้ทรัพยากรDSC โดยตรงจาก PowerShell 7
  6. ชั้นความเข้ากันได้

ตรวจสอบให้แน่ใจเสมอว่าได้ตรวจสอบEnvironment Variableก่อนทดสอบโค้ดจริง

1] การทำให้ขนานของไปป์ไลน์

ตอนนี้คุณสามารถดำเนินการหรือจัดการอ็อบเจ็กต์ในแบบคู่ขนานแทนวิธีการเรียงลำดับเมื่อใช้ ForEach-Object -Parallel ในโพสต์ของเราเกี่ยวกับการถอนการติดตั้งWIM วิธีนี้สามารถยกเลิกการติดตั้งอิมเมจ (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] ConciseViewและ cmdlet รับข้อผิดพลาด

รับคำสั่งข้อผิดพลาด ให้ PowerShell 7

ConciseViewเป็นมุมมองที่ผู้ใช้เลือกได้ ซึ่งเปิดใช้งานเป็นมุมมองเริ่มต้นของPowerShell 7 (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 Update

  • (Default )GA เริ่มต้น เวอร์ชันตัวอย่าง และรุ่น RC
  • ปิด(Off) Â ปิดคุณสมบัติการแจ้งเตือนการอัปเดต
  • LTS Â แจ้งเฉพาะการอัปเดตสำหรับ รุ่น GA ที่ให้บริการระยะยาว ( LTS ) เท่านั้น(LTS)

หากคุณต้องการปิดการแจ้งเตือนการอัปเดตในPowerShell 7ให้รันคำสั่งนี้ในหน้าต่างPowerShell

$Env:POWERSHELL_UPDATECHECK = 'Off'

5] เรียก ใช้ทรัพยากรDSC โดยตรงจาก (Invoke DSC)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 โดยนัย (Windows PowerShell)เมื่อใช้สิ่งนี้ คุณจะสามารถใช้คำสั่งจริงเป็นเซสชันบนคอมพิวเตอร์ระยะไกลและส่งคืนผลลัพธ์ไปยังเซสชันในเครื่อง ขณะนี้รองรับการนำเข้าโมดูลแล้ว คุณสามารถเรียกใช้โมดูลเหล่านี้บนคอมพิวเตอร์ระยะไกลได้

PowerShellเป็นซอฟต์แวร์โอเพ่นซอร์สที่มีอยู่ในLinuxและ macOS เช่นกัน เป็นเรื่องดีที่ได้เห็นคุณลักษณะใหม่ๆ มากมายในPowerShell 7และเราหวังว่าจะเติบโตอย่างต่อเนื่อง คุณสามารถอ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ใน Microsoft(about it on Microsoft) .



About the author

ฉันเป็นผู้เชี่ยวชาญด้านความปลอดภัยคอมพิวเตอร์ที่มีประสบการณ์มากกว่า 10 ปี เชี่ยวชาญด้านแอปและไฟล์ของ Windows ฉันได้เขียนและ/หรือทบทวนบทความหลายร้อยเรื่องในหัวข้อต่างๆ ที่เกี่ยวข้องกับความปลอดภัยของคอมพิวเตอร์ ซึ่งช่วยให้บุคคลต่างๆ ออนไลน์ได้อย่างปลอดภัย ฉันยังเป็นที่ปรึกษาที่มีประสบการณ์สำหรับธุรกิจที่ต้องการความช่วยเหลือในการปกป้องระบบของตนจากการละเมิดข้อมูลหรือการโจมตีทางไซเบอร์



Related posts