Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> ซอฟต์แวร์

เชี่ยวชาญ 10 คำสั่ง PowerShell พื้นฐานสำหรับ Power User Windows

PowerShell ให้คุณควบคุม Windows PC ได้ครบถ้วน และเรียนรู้ง่าย ให้ทิ้ง Command Prompt ไป ใช้คำสั่ง Windows PowerShell เพื่อทำให้งานบริหารจัดการที่ซ้ำซากกลายเป็นอัตโนมัติ

การเรียน PowerShell ยังช่วยให้คุณจัดการงานบริหาร Linux ใน Bash Shell ได้ เพราะ PowerShell คล้ายกับสิ่งที่พบใน Linux Distro ส่วนใหญ่

PowerShell คืออะไร?

Windows PowerShell เป็น Command-line Interface และ Scripting Language ที่ Microsoft พัฒนาสำหรับ System Administrator แต่คุณไม่ต้องเป็น Admin หรือ Programmer เพราะมันง่ายกว่าภาษาเขียนโปรแกรมอื่นๆ คล้ายภาษาอังกฤษ ทุกคนเข้าใจและใช้บริหารคอมพิวเตอร์ได้

คำสั่งใน Windows PowerShell เรียกว่า "Cmdlets" (อ่านว่า คอม-เล็ท) ให้คุณเปิดใช้งานการกระทำเฉพาะ หรือชุดการกระทำบนคอมพิวเตอร์ การกระทำเหล่านี้อาจง่าย เช่น ล็อกอินเครือข่ายไร้สาย หรือซับซ้อน เช่น ทำให้งานซ้ำซากกลายเป็นอัตโนมัติ

เปิด PowerShell: กดปุ่ม Start พิมพ์ "powershell" ในกล่องค้นหา เลือก Windows PowerShell จะเปิด Command-line Interface พร้อมพิมพ์คำสั่ง

ในบทความนี้ เราจะครอบคลุม 10 คำสั่ง PowerShell ที่มีประโยชน์และง่ายที่สุด

1. Get-Help

Get-Help Cmdlet เป็นจุดเริ่มต้นที่ดีใน PowerShell ให้ภาพรวมว่าทำอะไรได้บ้าง และช่วยตอนต้องการรายละเอียด Cmdlet ใดๆ

เปิด PowerShell พิมพ์ Get-Help จะแสดงภาพรวมครบถ้วน สอนว่า PowerShell คืออะไร เข้าใจฟังก์ชันและโครงสร้าง สามารถเข้าถึง Web สำหรับ Help files ขั้นสูง และดาวน์โหลดไว้ใช้ภายหลัง

เชี่ยวชาญ 10 คำสั่ง PowerShell พื้นฐานสำหรับ Power User Windows

แค่นี้ยังไม่จบ พิมพ์: Get-Help * PowerShell จะรายการ Cmdlets ทั้งหมดที่ใช้ได้ ณ ตอนนั้น รายการอาจยาวมาก ไม่ต้องเรียนทั้งหมด แต่อ่านและสำรวจความเป็นไปได้ได้อิสระ

พิมพ์: Get-Help <command name> (ไม่ต้องใส่วงเล็บ) พิมพ์ชื่อคำสั่งที่สนใจ จะได้ข้อมูลพื้นฐาน สำหรับรายละเอียดเต็ม: Get-Help <command name> -Full ต้องการตัวอย่างการใช้งาน: Get-Help <command name> -Example

2. Get-Command

ต้องการดูข้อมูลคำสั่งเฉพาะหรือกลุ่มคำสั่งอย่างรวดเร็ว? Get-Command Cmdlet ทำได้ มี Options มากมาย แต่ผู้ใช้พื้นฐานไม่ต้องใช้ส่วนใหญ่ นี่คือ Cmdlets พื้นฐานที่ช่วยเหลือ โดยเฉพาะการนำทางคำสั่งที่มีอยู่

ต้องการรายการ Cmdlets ประเภทเฉพาะ: Get-Command -<CommandType>

ตัวอย่าง คำสั่งซับซ้อนนี้ สั่งให้แสดงรายการ Cmdlet ทั้งหมด และจัดเรียงตามตัวอักษรของ Noun ในชื่อ:

Get-Command -Type Cmdlet | Sort-Object -Property Noun | Format-Table -GroupBy Noun

นี่คือตัวอย่างคำสั่งซับซ้อนที่ทำให้ PowerShell ทำงานซับซ้อน เมื่อเข้าใจ Syntax แล้ว จะเห็นว่า PowerShell มักเป็นวิธีเร็วที่สุดและง่ายที่สุดในการทำบางอย่างบนคอมพิวเตอร์

เชี่ยวชาญ 10 คำสั่ง PowerShell พื้นฐานสำหรับ Power User Windows

ต้องการหาคำสั่งเฉพาะจากชื่อ: Get-Command -Name <name of command>

หากไม่ทราบชื่อคำสั่งที่แน่นอน แต่รู้ส่วนหนึ่งของชื่อ: Get-Command -Name <name of command> -UseFuzzyMatching Cmdlet นี้จะหาคำสั่งที่ชื่อใกล้เคียงกับที่พิมพ์ ในฟิลด์ <name> เหมาะสำหรับคนสะกดผิดบ่อย ไม่อยากแก้ไขตลอด

3. Get-Content

ต้องการดูเนื้อหาไฟล์ ใช้ Get-Content Cmdlet ต้องระบุตำแหน่งไฟล์ที่แน่นอน เพื่อให้คอมพิวเตอร์หาเจอ

เชี่ยวชาญ 10 คำสั่ง PowerShell พื้นฐานสำหรับ Power User Windows

ตัวอย่างข้างต้นแสดงเนื้อหาไฟล์ Text ทดสอบ คำสั่งตรงไปตรงมา แต่หากรู้ว่ามันทำอะไร สามารถรวมกับคำสั่งอื่น และทำงานทรงพลังผ่าน Windows PowerShell ได้

4. Get-Process

Get-Process Cmdlet ให้ข้อมูล Process ที่กำลังรันอยู่บนคอมพิวเตอร์: การใช้หน่วยความจำ CPU Cycles Process ID และแอตทริบิวต์อื่นๆ

เพิ่มชื่อ Process เข้าไปใน Cmdlet นี้ จะได้ข้อมูล Process เฉพาะ ตัวอย่าง: ต้องการข้อมูล Process ของแอป Discord พิมพ์ Get-Process Discord

เชี่ยวชาญ 10 คำสั่ง PowerShell พื้นฐานสำหรับ Power User Windows

คุณสามารถ Start หรือ Stop Process ผ่าน PowerShell ได้ โดยเปลี่ยน Prefix "Get" ของ Syntax: เริ่ม Process: Start-Process <process name or ID> หยุด Process: Stop-Process <process name or ID>

5. Get-Service

ในฐานะ System Admin คุณอาจพบ Get-Service Cmdlet มีประโยชน์มาก Cmdlet เรียบง้ายนี้ แสดง Service ทั้งหมดที่รันอยู่บนระบบ และควบคุมได้ มองเห็นโปรแกรมทั้งหมดที่ทำงานเพื่อให้คอมพิวเตอร์ทำงาน

เชี่ยวชาญ 10 คำสั่ง PowerShell พื้นฐานสำหรับ Power User Windows

ตอนนี้ใช้ชื่อ Service ควบคุมได้: คำสั่ง Restart-Service <service name> รีสตาร์ตที่ค้าง Stop-Service <service name> หยุดทุกประการ Start-Service เริ่มใหม่

6. Get-Item

ต้องการไอเท็มเฉพาะ อาจหาผ่าน PowerShell เร็วกว่า Search bar ของ OS โดยเฉพาะหากรู้ตำแหน่งไฟล์ ใช้คำสั่ง: Get-Item C: จะแสดงรายการไฟล์ในฮาร์ดดิสก์ "C:"

ระบุเจาะจงได้: ค้นหาใน Directory ทั้งหมดใต้ User Profile หรือลึกเข้าไปใน "Documents" หรือ "Downloads" พิมพ์: Get-Item C:\users\<user name>\*

เชี่ยวชาญ 10 คำสั่ง PowerShell พื้นฐานสำหรับ Power User Windows

ต้องการดึง Child Item จาก Container (เช่น System Directory) ใช้ Cmdlet Get-ChildItem แสดงไฟล์และ Directory ทั้งหมดภายใน Container ต้องระบุ Path ของ Container เช่นกัน

ลบไอเท็ม: เปลี่ยน Suffix "Get" เป็น "Remove" ลบได้ทุกอย่าง: ไฟล์ โฟลเดอร์ Registry Keys Functions พิมพ์ Remove-Item <location\ name> สามารถขยาย Cmdlet นี้ ให้ลบเฉพาะไฟล์ Hidden และ Read-only หรือลบจากโฟลเดอร์/ซับโฟลเดอร์เฉพาะ

7. ConvertTo-Html

คำสั่งนี้แปลง Object .NET ให้เป็นไฟล์ HTML ที่แสดงใน Web Browser ได้ เป็น Output Cmdlet ทำงานร่วมกับ Cmdlets อื่นได้ดี เพิ่มไปท้าย Cmdlets อื่น พร้อมระบุ File Path เฉพาะ

ตัวอย่าง: ต้องการสร้างไฟล์ HTML แสดง Name, Path, Company ของ Process ทั้งหมดของคอมพิวเตอร์ท้องถิ่น พิมพ์: Get-Process | ConvertTo-Html -Property Name, Path, Company -Title "Process Information" | Out-File filename.htm

เชี่ยวชาญ 10 คำสั่ง PowerShell พื้นฐานสำหรับ Power User Windows

แทนที่ filename.htm ด้วยชื่อไฟล์ที่ต้องการ

เปิดไฟล์ที่สร้าง: ใช้ Invoke-Item Cmdlet บวก <file name.htm> เนื้อหาจะคล้ายภาพด้านล่าง

เชี่ยวชาญ 10 คำสั่ง PowerShell พื้นฐานสำหรับ Power User Windows

8. Set-ExecutionPolicy

หากต้องการรัน PowerShell Script ท้องถิ่น ต้องเปลี่ยน Execution Policy ของ PowerShell เอง บน Windows Policy จะเป็น Restricted เสมอ ต้องเปลี่ยนเป็น RemoteSigned หรือ Unrestricted บน Non-Windows (Linux, Mac) มักเป็น Unrestricted และเปลี่ยนไม่ได้

ต้องการเรียนรู้ Execution Policy เพิ่มเติม พิมพ์: help Set-ExecutionPolicy PowerShell จะแสดง Help files เกี่ยว Execution Policy หรือแจ้งถ้าไม่มี พร้อมลิงก์อ่านออนไลน์

เชี่ยวชาญ 10 คำสั่ง PowerShell พื้นฐานสำหรับ Power User Windows

ตั้ง Policy เป็น RemoteSigned: Set-Executionpolicy RemoteSigned ตั้งเป็น Unrestricted: Set-Executionpolicy Unrestricted ตรวจสอบ Setting ปัจจุบัน: Get-Executionpolicy

เชี่ยวชาญ 10 คำสั่ง PowerShell พื้นฐานสำหรับ Power User Windows

เนื่องจาก Execution Policies เป็นส่วนหนึ่งของกลยุทธ์ความปลอดภัย PowerShell จะขอยืนยันการเปลี่ยนแปลง พิมพ์ Y ก็ต่อเมื่อคุณแน่ใจว่าต้องการดำเนินการ

9. Select-Object

คำสั่งนี้เลือก Object และชุด Objects, Objects ที่ไม่ซ้ำ และ Objects ในตำแหน่งเฉพาะใน Array มี Parameters ต่างๆ ระบุ Objects ที่ต้องการเลือก รวมถึง Properties, ค่าตัวเลข, Input Objects เฉพาะ

เลือก Objects โดย Property Attribute: ระบุ Attributes เช่น Name, ID, CPU สามารถจัดกลุ่ม Attributes ได้ แต่ต้องคั่นด้วย Comma เมื่อพิมพ์คำสั่ง พิมพ์: Get-Process | Select-Object -Property ProcessName, Id, CPU PowerShell จะรายการ Process ปัจจุบันและ Attributes

เชี่ยวชาญ 10 คำสั่ง PowerShell พื้นฐานสำหรับ Power User Windows

ใช้คำสั่ง -ExpandProperty เพื่อรายละเอียด Attribute เฉพาะ ต้องการรายละเอียด Modules Property ของ ProcessName Attribute พิมพ์: Get-Process Chrome | Select-Object -Property ProcessName -ExpandProperty Modules | Format-list "Format-list" ทำให้ผลลัพธ์อ่านง่าย

10. Export-CSV

บางครั้งคำสั่ง PowerShell ให้รายการยาวมาก (เหมือน Get-Command) รายการยาวและข้อมูลเยอะ อ่านยาก ต้องการจัดระเบียบ ให้ Export ข้อมูลเป็นไฟล์ CSV ทำได้ใน PowerShell โดยตรงด้วย Export-CSV

ตัวอย่าง: Get-Command ให้รายการ Cmdlets ยาว เราสามารถรวม Get-Command และ Export-CSV สร้างรายการรายละเอียดคั่นด้วย Comma เช่น Name, Source, Version ที่ Excel เปิดได้

พิมพ์คำสั่งใน PowerShell Prompt (ระบุ Path และชื่อไฟล์ได้ตามต้องการ): Get-Command | Select Name, Source, Version | export-csv D:\AllCommands.csv

เปิดรายการใน Excel จะเห็นภาพคล้ายด้านล่าง

เชี่ยวชาญ 10 คำสั่ง PowerShell พื้นฐานสำหรับ Power User Windows