PowerShell เป็นเครื่องมือสร้างสคริปต์ที่ทรงพลังที่สุดชิ้นหนึ่งที่ Microsoft สร้างขึ้น ในโพสต์นี้ เราจะมาแชร์ว่า PWSH.exeคืออะไร และรายการ ไวยากรณ์ PWM . ที่สำคัญ . ฉันแน่ใจว่าผู้ใช้หลายคนเคยใช้ Windows PowerShell แล้ว แต่ตอนนี้ PWSH เป็นเครื่องมือเขียนสคริปต์ข้ามแพลตฟอร์มที่ทำงานบน Windows, macOS และ Linux อย่างไรก็ตาม WSL ไม่รองรับ เช่น ระบบย่อย Windows บน Linux และการพยายามตั้งค่า PWM เป็นเชลล์การเข้าสู่ระบบจะนำไปสู่ WSL ที่ไม่เสถียร
PWSH.EXE คืออะไร
ก่อนที่เราจะเริ่ม เรามาดูรายละเอียดกันก่อน PWM.EXE เป็นชื่อใหม่ของ PowerShell ตั้งแต่เวอร์ชัน 6 จะเรียกว่า PowerShell Core ก่อนหน้านี้มีชื่อว่า powershell.exe ซึ่งคุณต้องเคยเห็นติดตั้งใน Windows (เวอร์ชัน 5.1) ไม่น่าแปลกใจทุกครั้งที่คุณเปิด PowerShell ใน Windows คุณจะได้รับข้อความ:
“ลองใช้ PowerShell ข้ามแพลตฟอร์มใหม่ https://aka.ms/pscore6”
คุณสามารถอ่านเกี่ยวกับความแตกต่างระหว่าง PowerShell และ PowerShell Core
กรอไปข้างหน้าในวันนี้ PowerShell ได้มาถึงเวอร์ชัน 7 แล้ว ซึ่งเป็นการเปลี่ยนแปลงครั้งสำคัญเมื่อเทียบกับเวอร์ชัน 6 และใช้ .NET Core 3 แทน .Net Framework หากคุณต้องการทดลองใช้ เรียนรู้วิธีติดตั้ง PowerShell 7.0 บน Windows 10
ไวยากรณ์ PWSH ที่สำคัญ
-ไฟล์ | -f: หากคุณมีคำสั่งในไฟล์สคริปต์ คุณสามารถใช้คำสั่งนั้นเป็นอินพุตได้ คุณยังโต้แย้งสำหรับไฟล์ได้เมื่อจำเป็น
pwsh -File .\test.ps1 -TestParam $env:windir
-คำสั่ง | -c :ใช้คำสั่งนี้เพื่อดำเนินการคำสั่งหรือ ScriptBlock ScriptBlock คือชุดของฟังก์ชันที่อยู่ภายใน {}
pwsh -Command {Get-WinEvent -LogName security}
หรือ
@' "in" "hi" | % { "$_ there" } "out" '@ | powershell -NoProfile -Command -
-EncodedCommand | -e | -ec :ใช้สิ่งนี้เมื่อจำเป็นต้องใช้เครื่องหมายคำพูดที่ซับซ้อนหรือวงเล็บปีกกา
$command = 'dir "c:\program files" ' $bytes = [System.Text.Encoding]::Unicode.GetBytes($command) $encodedCommand = [Convert]::ToBase64String($bytes) pwsh -encodedcommand $encodedCommand
-เข้าสู่ระบบ | -l: บน Linux และ macOS ให้เริ่ม PowerShell เป็นเชลล์การเข้าสู่ระบบ โดยใช้ /bin/sh เพื่อดำเนินการโปรไฟล์การเข้าสู่ระบบ เช่น /etc/profile และ ~/.profile ใช้ไม่ได้กับ Windows
คุณจะต้องตรวจสอบเส้นทางที่แน่นอนภายใต้ /etc/shells คุณสามารถใช้ chsh ยูทิลิตี้เพื่อตั้งค่าเชลล์ของผู้ใช้ปัจจุบันของคุณเป็น pwsh
chsh -s /usr/bin/pwsh
-SettingsFile | -การตั้งค่า
หากคุณต้องการเขียนทับการตั้งค่าส่วนกลางด้วยการตั้งค่าโปรเจ็กต์ในพื้นที่ คุณสามารถระบุไฟล์การตั้งค่าโดยใช้ตัวเลือกนี้ การตั้งค่าทั้งระบบมีอยู่ใน powershell.config.json
pwsh -SettingsFile c:\myproject\powershell.config.json
รายการที่สมบูรณ์ของ PWSH Syntax
pwsh[.exe] [[-File] <filePath> [args]] [-Command { - | <script-block> [-args <arg-array>] | <string> [<CommandParameters>] } ] [-ConfigurationName <string>] [-CustomPipeName <string>] [-EncodedCommand <Base64EncodedCommand>] [-ExecutionPolicy <ExecutionPolicy>] [-InputFormat {Text | XML}] [-Interactive] [-Login] [-MTA] [-NoExit] [-NoLogo] [-NonInteractive] [-NoProfile] [-OutputFormat {Text | XML}] [-SettingsFile <SettingsFilePath>] [-STA] [-Version] [-WindowStyle <style>] [-WorkingDirectory <directoryPath>] pwsh[.exe] -h | -Help | -? | /?
หากต้องการรายละเอียดเพิ่มเติม คุณสามารถไปที่ docs.microsoft.com