10 PowerShell ง่าย ๆ สั่งให้ผู้ใช้ Windows ทุกคนควรรู้

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

การเรียนรู้PowerShellจะสอนวิธีจัดการกับ งานการดูแลระบบ Linux ส่วนใหญ่ ภายใน bash shell PowerShellคล้ายกับสิ่งที่คุณพบในLinux Distros ส่วน ใหญ่ 

PowerShell คืออะไร?

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

คำสั่งที่ใช้ในWindows PowerShellเรียกว่า “cmdlets” ซึ่งจะให้คุณเปิดใช้งานการทำงานเฉพาะหรือชุดของการกระทำบนคอมพิวเตอร์ของคุณ การดำเนินการเหล่านี้สามารถทำได้ง่าย เช่น การเข้าสู่ระบบเครือข่ายไร้สาย หรือซับซ้อนกว่า เช่น การทำงานซ้ำๆ โดยอัตโนมัติ 

ในการเปิด PowerShell ให้กดปุ่มStartพิมพ์ “ powershell ” ในช่องค้นหา แล้วเลือกWindows PowerShell (Windows PowerShell)คุณจะเปิดอินเทอร์เฟซบรรทัดคำสั่ง ซึ่งคุณพร้อมที่จะเริ่มพิมพ์คำสั่ง

ในบทความนี้ เราจะพูดถึงคำสั่งPowerShell ที่มีประโยชน์และใช้งานง่ายกว่าสิบรายการ(PowerShell)

1. รับความช่วยเหลือ

Get-Help cmdlet เป็น จุด เริ่มต้นที่ ดีในPowerShell จะให้ภาพรวมของสิ่งที่คุณสามารถทำได้ และยังยอดเยี่ยมเมื่อคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับ cmdlet เฉพาะ 

เพียง(Simply)เปิด หน้าต่าง PowerShellแล้วพิมพ์Get-Help ซึ่งจะเป็นการเปิดภาพรวมที่ครอบคลุมซึ่งจะสอนคุณว่าPowerShellคืออะไร และคุณจะเข้าใจการทำงานและโครงสร้างของ PowerShell คุณยังสามารถเข้าถึงเว็บสำหรับไฟล์ช่วยเหลือขั้นสูงได้โดยตรงผ่านอินเทอร์เฟซ คุณสามารถดาวน์โหลดไฟล์เหล่านี้เพื่อใช้ในภายหลังได้ 

แต่นั่นไม่ใช่จุดสิ้นสุดของคำสั่งรับความช่วยเหลือ ประเภท: 

Get-Help * 

PowerShellจะแสดงรายการ cmdlet ทั้งหมดที่คุณสามารถใช้ได้ในขณะนั้น รายการอาจมีขนาดใหญ่ และคุณไม่จำเป็นต้องเรียนรู้ cmdlet ที่แสดงทั้งหมด แต่อย่าลังเลที่จะอ่านและสำรวจความเป็นไปได้ทั้งหมดที่มีให้คุณ

พิมพ์:

Get-Help <command name>

คุณไม่จำเป็นต้องมีวงเล็บปีกกา เพียงพิมพ์ชื่อคำสั่งที่คุณสนใจ แล้ว cmdlet นี้จะให้ข้อมูลพื้นฐานเกี่ยวกับคำสั่งนั้นแก่คุณ สำหรับคำอธิบายโดยละเอียดยิ่งขึ้นของคำสั่ง ให้พิมพ์:

Get-Help <command name> -Full

หากคุณต้องการตัวอย่างวิธีการใช้คำสั่งบางประเภท:

Get-Help <command name> -Example

2. รับคำสั่ง

คุณต้องการดึงข้อมูลเกี่ยวกับคำสั่งเฉพาะหรือชุดคำสั่งอย่างรวดเร็วหรือไม่? Get-Command cmdlet จะทำเพื่อคุณ มีตัวเลือกมากมายภายในGet-Commandแต่คุณในฐานะผู้ใช้พื้นฐานของPowerShellไม่ต้องการตัวเลือกส่วนใหญ่ นี่คือ cmdlet พื้นฐานบางส่วนที่จะเป็นประโยชน์ โดยเฉพาะอย่างยิ่งเมื่อนำทางไปยังคำสั่งที่มี

หากคุณต้องการรายการ cmdlet เฉพาะประเภทเดียวกัน:

Get-Command -<CommandType>

ตัวอย่างเช่น วลีที่ซับซ้อนนี้จะสั่งให้คอมพิวเตอร์ของคุณแสดงรายการคำสั่งประเภท cmdlet ทั้งหมดที่มี และจัดเรียงตามลำดับตัวอักษรของคำนามในชื่อ:

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

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

หากคุณต้องการค้นหาคำสั่งเฉพาะตามชื่อ ให้พิมพ์:

Get-Command -Name <name of command>

หากคุณไม่ทราบชื่อที่แน่นอนของคำสั่งที่คุณกำลังค้นหา แต่คุณทราบชื่อบางส่วน คุณสามารถพิมพ์: 

Get-Command -Name <name of command> -UseFuzzyMatching

cmdlet นี้จะกำหนดให้คอมพิวเตอร์ของคุณค้นหาคำสั่งที่ตรงกับสิ่งที่คุณพิมพ์ในช่อง <name> คุณยังสามารถใช้ cmdlet นี้ได้หากคุณมีแนวโน้มที่จะสะกดผิดและไม่ต้องการที่จะแก้ไขตัวเองตลอดเวลา

3. รับเนื้อหา

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

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

4. รับกระบวนการ

Get-Process cmdlet จะให้ข้อมูลเกี่ยวกับกระบวนการที่กำลังทำงานอยู่ในคอมพิวเตอร์ของคุณ คุณสามารถดูการใช้หน่วยความจำ รอบ CPUรหัสกระบวนการ และคุณลักษณะอื่นๆ ได้ 

ถ้าคุณเพิ่มชื่อของกระบวนการใน cmdlet นี้ คุณสามารถดูข้อมูลเกี่ยวกับกระบวนการเฉพาะได้ ตัวอย่างเช่น หากคุณต้องการข้อมูลเกี่ยวกับ ขั้นตอนการสมัคร Discordเพียงพิมพ์Get-Process Discord

คุณสามารถเริ่มหรือหยุดกระบวนการผ่านPowerShellได้โดยเพียงแค่แทนที่คำนำหน้า "รับ" ของไวยากรณ์ เมื่อต้องการเริ่มกระบวนการ ให้พิมพ์:

Start-Process <process name or ID>   

หากต้องการหยุดกระบวนการ ให้พิมพ์:

Stop-Process <process name or ID>

5. รับบริการ

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

ตอนนี้คุณสามารถใช้ชื่อบริการเพื่อควบคุมได้ ใช้คำสั่งเช่นRestart-Service <service name>เพื่อแกะคำสั่งที่หยุดทำงาน, Stop-Service <service name>เพื่อหยุดการทำงานทั้งหมด และใช้ Start-Service(Start-Service)เพื่อเริ่มใหม่อีกครั้ง

6. รับไอเทม

หากคุณต้องการรายการใดรายการหนึ่ง การค้นหาผ่าน PowerShell(PowerShell)อาจเร็วกว่าการใช้แถบค้นหาที่รวมอยู่ในระบบปฏิบัติการของคุณ จะสะดวกเป็นพิเศษหากคุณทราบตำแหน่งของไฟล์ที่คุณต้องการ เพียง(Simply)ใช้คำสั่งในลักษณะนี้:

รับไอเทม C:(Get-Item C:)

นี่จะแสดงรายการไฟล์ในฮาร์ดไดรฟ์ “C:” คุณสามารถเจาะจงมากขึ้นและค้นหาในไดเร็กทอรีทั้งหมดภายใต้โปรไฟล์ของผู้ใช้ หรือเจาะลึกเข้าไปในไดเร็กทอรี "เอกสาร" หรือ "ดาวน์โหลด" เมื่อต้องการทำเช่นนี้ พิมพ์:

Get-Tem C:\users\<user name>\*

หากคุณต้องการดึงไอเท็ม ย่อยจากคอนเทนเนอร์ เช่น ไดเร็กทอรีระบบ คุณสามารถใช้ cmdlet Get-ChildItem คำสั่งนี้จะแสดงไฟล์และไดเร็กทอรีทั้งหมดภายในคอนเทนเนอร์นั้น เช่นเดียวกับGet-Item cmdlet คุณจะต้องระบุพาธของคอนเทนเนอร์

หากต้องการลบรายการ คุณสามารถแทนที่ส่วนต่อท้าย "รับ" ด้วย "ลบ" ซึ่งจะช่วยให้คุณสามารถลบทุกอย่างได้ ตั้งแต่ไฟล์และโฟลเดอร์ไปจนถึงคีย์รีจิสทรีและฟังก์ชัน พิมพ์Remove-Item <location\ name> > คุณสามารถสร้าง cmdlet นี้อย่างละเอียดและลบเฉพาะไฟล์ที่ซ่อนและ "อ่านอย่างเดียว" หรือลบรายการออกจากโฟลเดอร์และโฟลเดอร์ย่อยที่ระบุ

7. ConvertTo-Html

คำสั่งนี้จะช่วยคุณแปลงวัตถุ .NET เป็น ไฟล์ HTMLที่สามารถแสดงในเว็บ(Web)เบราว์เซอร์ได้ นี่คือ cmdlet ของเอาต์พุต ซึ่งหมายความว่ามันใช้งานได้ดีกับ cmdlet อื่นๆ เพียง(Simply)เพิ่มเข้าไปที่ส่วนท้ายของ cmdlets อื่นๆ และรวมพาธไฟล์เฉพาะ 

ตัวอย่างเช่น ถ้าคุณต้องการสร้าง ไฟล์ HTMLที่แสดงชื่อ พาธ และบริษัทของกระบวนการปัจจุบันทั้งหมดของคอมพิวเตอร์ในระบบ ให้พิมพ์: 

Get-Process | ConvertTo-Html -Property Name, Path, Company -Title “Process Information” | Out-File filename.htm

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

เมื่อต้องการเปิดไฟล์ที่สร้างขึ้น ให้ใช้Invoke-Item cmdlet plus <file name.htm> > เนื้อหาควรมีลักษณะเหมือนภาพด้านล่าง

8. กำหนดนโยบายการดำเนินการ

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

หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ นโยบายการดำเนินการของ PowerShellเพียงพิมพ์:

ช่วย Set-ExecutionPolicy(help Set-ExecutionPolicy)

PowerShell จะแสดงไฟล์ วิธีใช้เกี่ยวกับนโยบายการดำเนินการบนคอมพิวเตอร์ของคุณ หรือแจ้งให้คุณทราบหากไม่มี แต่ยังให้ลิงค์ที่คุณสามารถติดตามและอ่านออนไลน์ได้

หากต้องการตั้งค่านโยบายเป็นRemoteSignedเพียงพิมพ์:

Set-Executionpolicy RemoteSigned

ในการตั้งค่าเป็นประเภทไม่จำกัด:

Set-Executionpolicy ไม่จำกัด(Set-Executionpolicy Unrestricted)

หากต้องการตรวจสอบการตั้งค่าปัจจุบันสำหรับนโยบายการดำเนินการ ให้พิมพ์: 

รับการดำเนินการนโยบาย(Get-Executionpolicy)

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

9. เลือกวัตถุ

คำสั่งนี้ใช้เพื่อเลือกออบเจ็กต์และชุดของอ็อบเจ็กต์ ออบเจ็กต์ที่ไม่ซ้ำกัน และอ็อบเจ็กต์ในตำแหน่งเฉพาะในอาร์เรย์ มีพารามิเตอร์ต่างๆ ที่คุณสามารถใช้ระบุวัตถุที่คุณต้องการเลือกได้ ได้แก่คุณสมบัติ ค่าตัวเลข และออบเจกต์อินพุตเฉพาะ 

ในการเลือกอ็อบเจ็กต์ตามแอ็ตทริบิวต์คุณสมบัติ คุณจะต้องระบุแอ็ตทริบิวต์ เช่น name, ID หรือCPU คุณยังสามารถจัดกลุ่มแอตทริบิวต์ได้ แต่คุณต้องคั่นด้วยเครื่องหมายจุลภาคเมื่อพิมพ์คำสั่ง หากต้องการดู Select-Object cmdlet ในประเภทการดำเนินการ:

Get-Process | Select-Object -Property ProcessName, Id, CPU

PowerShell จะแสดงรายการ กระบวนการปัจจุบันทั้งหมดและแอตทริบิวต์ดังที่แสดงด้านล่าง

ตอนนี้คุณสามารถใช้คำสั่ง -EpandProperty เพื่อรับข้อมูลโดยละเอียดเกี่ยวกับแอตทริบิวต์เฉพาะ หากคุณต้องการรายละเอียดเกี่ยวกับคุณสมบัติโมดูล(Modules) ของประเภท แอตทริบิวต์ProcessName :

Get-Process Chrome | Select-Object -Property ProcessName -ExpandProperty Modules | Format-list

เอาต์พุต "Format-list" ของคำสั่งอยู่ที่นั่นเพื่อทำให้ผลลัพธ์ถูกจัดรูปแบบและอ่านได้

10. ส่งออก-CSV

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

ตัวอย่างเช่น เราเห็นว่า cmdlet Get-Commandแสดงรายการ cmdlet ที่พร้อมใช้งานทั้งหมดที่เราสามารถใช้ได้ในPowerShellในขณะนั้น คุณสามารถรวมGet-CommandและExport-CSVเพื่อสร้างรายการโดยละเอียดโดยมีค่าที่คั่นด้วยเครื่องหมายจุลภาค เช่น ชื่อ แหล่งที่มา และเวอร์ชันที่แอปอย่างExcelสามารถจดจำได้ 

ในการดำเนินการนี้ ให้พิมพ์คำสั่งต่อไปนี้ลงใน พรอมต์คำสั่งของ PowerShellแต่โปรดทราบว่าคุณสามารถกำหนดเส้นทางใดก็ได้ที่ต้องการ และคุณสามารถตั้งชื่อไฟล์ของคุณแบบอื่นได้:

Get-Command | Select Name, Source, Version | export-csv D:\AllCommands.csv

ขณะนี้คุณสามารถเปิดรายการในExcelได้แล้ว และคุณจะเห็นสิ่งที่คล้ายกับรูปภาพต่อไปนี้



About the author

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



Related posts