PowerShell ช่วยให้คุณควบคุมทั้งหมดที่คุณต้องการผ่านพีซี Windows ของคุณและเรียนรู้ได้ง่าย ดังนั้นให้ทิ้ง Command Prompt และใช้คำสั่ง Windows PowerShell เพื่อดำเนินงานด้านการดูแลระบบที่ซ้ำซ้อนโดยอัตโนมัติ ป>
การเรียนรู้ PowerShell จะสอนวิธีจัดการงานดูแลระบบ Linux ส่วนใหญ่ภายใน bash shell PowerShell นั้นคล้ายกับสิ่งที่คุณพบใน Linux Distros ส่วนใหญ่ ป>
PowerShell คืออะไร
Windows PowerShell เป็นอินเทอร์เฟซบรรทัดคำสั่งและภาษาสคริปต์ที่พัฒนาโดย Microsoft สำหรับผู้ดูแลระบบ แต่คุณไม่จำเป็นต้องเป็นผู้ดูแลระบบหรือโปรแกรมเมอร์เพื่อใช้งาน เพราะมันง่ายกว่าภาษาโปรแกรมอื่นๆ มาก คล้ายกับภาษาอังกฤษทั่วไป และทุกคนสามารถเข้าใจและใช้มันเพื่อดูแลคอมพิวเตอร์ของตนได้
คำสั่งที่ใช้ใน Windows PowerShell เรียกว่า “cmdlets” พวกเขาจะให้คุณเปิดใช้งานการกระทำเฉพาะหรือชุดการกระทำบนคอมพิวเตอร์ของคุณ การดำเนินการเหล่านี้อาจทำได้ง่าย เช่น การเข้าสู่ระบบเครือข่ายไร้สาย หรือซับซ้อนกว่านั้น เช่น การทำงานซ้ำๆ โดยอัตโนมัติ ป>
หากต้องการเปิด PowerShell ให้กด เริ่ม ปุ่ม พิมพ์ “powershell ” ในช่องค้นหา และเลือก Windows PowerShell . คุณจะเปิดอินเทอร์เฟซบรรทัดคำสั่งซึ่งคุณพร้อมที่จะเริ่มพิมพ์คำสั่งแล้ว
ในบทความนี้ เราจะพูดถึงคำสั่ง PowerShell ที่มีประโยชน์และง่ายที่สุดมากกว่า 10 คำสั่ง
1. รับความช่วยเหลือ
Get-Help cmdlet เป็นจุดเริ่มต้นที่ดีเยี่ยมใน PowerShell โดยจะให้ภาพรวมของสิ่งที่คุณสามารถทำได้ และยังมีประโยชน์เมื่อคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับ cmdlet เฉพาะ ป>
เพียงเปิดหน้าต่าง PowerShell แล้วพิมพ์ รับความช่วยเหลือ . นี่จะเป็นการเปิดภาพรวมที่ครอบคลุมซึ่งจะสอนคุณว่า PowerShell คืออะไร และคุณจะเข้าใจฟังก์ชันและโครงสร้างของ PowerShell คุณยังสามารถเข้าถึงเว็บเพื่อดูไฟล์วิธีใช้ขั้นสูงเพิ่มเติมได้โดยตรงผ่านอินเทอร์เฟซ คุณสามารถดาวน์โหลดไฟล์เหล่านี้เพื่อใช้ในภายหลังได้ ป>
แต่นั่นไม่ใช่จุดสิ้นสุดของคำสั่ง get-help ประเภท:
รับความช่วยเหลือ * ป>
PowerShell จะแสดงรายการ cmdlets ทั้งหมดที่คุณสามารถใช้ในขณะนั้นได้ รายการอาจมีขนาดใหญ่ และคุณไม่จำเป็นต้องเรียนรู้ cmdlets ที่แสดงทั้งหมด แต่อย่าลังเลที่จะอ่านและสำรวจความเป็นไปได้ทั้งหมดที่มีให้กับคุณ
ประเภท:
รับความช่วยเหลือ <ชื่อคำสั่ง> ป>
คุณไม่จำเป็นต้องมีวงเล็บ เพียงพิมพ์ชื่อคำสั่งที่คุณสนใจ จากนั้น cmdlet นี้จะให้ข้อมูลพื้นฐานเกี่ยวกับคำสั่งนั้นแก่คุณ สำหรับคำอธิบายคำสั่งโดยละเอียดเพิ่มเติม ให้พิมพ์:
รับความช่วยเหลือ <ชื่อคำสั่ง> -เต็ม ป>
หากคุณต้องการตัวอย่างวิธีใช้คำสั่งบางประเภท:
รับ-ช่วยเหลือ <ชื่อคำสั่ง> -ตัวอย่าง ป>
2. รับคำสั่ง
คุณต้องการดึงข้อมูลเกี่ยวกับคำสั่งเฉพาะหรือชุดคำสั่งอย่างรวดเร็วหรือไม่? Get-Command cmdlet จะทำสิ่งนั้นเพื่อคุณ มีตัวเลือกมากมายภายใน Get-Command แต่คุณในฐานะผู้ใช้พื้นฐานของ PowerShell ไม่ต้องการตัวเลือกส่วนใหญ่ ต่อไปนี้เป็น cmdlet พื้นฐานบางส่วนที่จะเป็นประโยชน์ โดยเฉพาะอย่างยิ่งเมื่อใช้งานคำสั่งที่มีอยู่
หากคุณต้องการรายการ cmdlets เฉพาะที่เป็นประเภทเดียวกัน:
รับคำสั่ง -
ตัวอย่างเช่น วลีที่ซับซ้อนนี้จะสั่งให้คอมพิวเตอร์ของคุณแสดงรายการคำสั่งประเภท cmdlet ทั้งหมดที่มีอยู่ และเรียงลำดับตามตัวอักษรของคำนามในชื่อ:
รับคำสั่ง -พิมพ์ Cmdlet | เรียงลำดับวัตถุ - คำนามทรัพย์สิน | รูปแบบ-ตาราง -GroupBy Noun ป>
นี่เป็นตัวอย่างที่ดีเยี่ยมของคำสั่งที่ซับซ้อนมากขึ้นซึ่งจะทำให้ PowerShell ดำเนินงานที่ซับซ้อนได้ เมื่อคุณเข้าใจไวยากรณ์แล้ว คุณจะเห็นว่าการใช้ PowerShell มักจะเป็นวิธีที่เร็วและง่ายที่สุดในการทำบางสิ่งบนคอมพิวเตอร์ของคุณ
หากคุณต้องการค้นหาคำสั่งเฉพาะตามชื่อ เพียงพิมพ์:
รับคำสั่ง - ชื่อ <ชื่อของคำสั่ง> ป>
หากคุณไม่ทราบชื่อที่แน่นอนของคำสั่งที่ต้องการ แต่คุณทราบชื่อบางส่วน คุณสามารถพิมพ์:
รับคำสั่ง - ชื่อ <ชื่อของคำสั่ง> -UseFuzzyMatching ป>
cmdlet นี้จะมอบหมายให้คอมพิวเตอร์ของคุณค้นหาคำสั่งที่ใกล้เคียงกับสิ่งที่คุณพิมพ์ในช่อง
3. รับเนื้อหา
หากคุณต้องการดูเนื้อหาของไฟล์ ให้ใช้ Get-Content cmdlet คุณจะต้องระบุตำแหน่งที่แน่นอนของไฟล์ดังกล่าวเพื่อให้คอมพิวเตอร์ของคุณสามารถค้นหาได้
ในตัวอย่างด้านบน คุณสามารถดูเนื้อหาของไฟล์ข้อความทดสอบที่สร้างขึ้นเพื่อจุดประสงค์นี้ นี่เป็นคำสั่งที่ตรงไปตรงมา แต่ถ้าคุณรู้ว่ามันทำอะไร คุณสามารถรวมมันเข้ากับคำสั่งอื่นๆ และทำงานที่ทรงพลังจริงๆ ผ่าน Windows PowerShell ได้
4. รับกระบวนการ
Get-Process cmdlet จะให้ข้อมูลเกี่ยวกับกระบวนการที่กำลังทำงานอยู่ในคอมพิวเตอร์ของคุณ คุณสามารถดูการใช้งานหน่วยความจำ รอบ CPU รหัสกระบวนการ และคุณลักษณะอื่นๆ ป>
หากคุณเพิ่มชื่อของกระบวนการลงใน cmdlet นี้ คุณสามารถดูข้อมูลเกี่ยวกับกระบวนการเฉพาะได้ ตัวอย่างเช่น หากคุณต้องการข้อมูลเกี่ยวกับขั้นตอนการสมัคร Discord เพียงพิมพ์ Get-Process Discord .
คุณสามารถเริ่มหรือหยุดกระบวนการผ่าน PowerShell ได้โดยเพียงแค่แทนที่คำนำหน้า "รับ" ของไวยากรณ์ หากต้องการเริ่มกระบวนการ ให้พิมพ์:
เริ่มกระบวนการ <ชื่อกระบวนการหรือ ID> ป>
หากต้องการหยุดกระบวนการ ให้พิมพ์:
หยุดกระบวนการ <ชื่อกระบวนการหรือ ID> ป>
5. รับบริการ
ในฐานะผู้ดูแลระบบ คุณอาจพบว่า Get-Service cmdlet มีประโยชน์มาก cmdlet แบบง่ายนี้จะแสดงบริการทั้งหมดที่ทำงานอยู่บนระบบของคุณและช่วยให้คุณสามารถควบคุมได้ ซึ่งหมายความว่าคุณสามารถดูโปรแกรมทั้งหมดที่ทำให้คอมพิวเตอร์ของคุณทำงานได้ ป>
ตอนนี้คุณสามารถใช้ชื่อบริการเพื่อควบคุมได้ ใช้คำสั่งเช่น Restart-Service
6. รับรายการ
หากคุณต้องการรายการใดรายการหนึ่ง การค้นหาผ่าน PowerShell อาจเร็วกว่าการใช้แถบค้นหาที่รวมอยู่ในระบบปฏิบัติการของคุณ จะสะดวกเป็นพิเศษหากคุณทราบตำแหน่งของไฟล์ที่คุณต้องการ เพียงใช้คำสั่งในลักษณะนี้:
รับรายการ C: ป>
นี่จะแสดงรายการไฟล์ในฮาร์ดไดรฟ์ “C:” คุณสามารถระบุให้เจาะจงยิ่งขึ้นและค้นหาในไดเร็กทอรีทั้งหมดภายใต้โปรไฟล์ของผู้ใช้หรือเจาะลึกเข้าไปในไดเร็กทอรี "เอกสาร" หรือ "ดาวน์โหลด" เมื่อต้องการทำเช่นนี้ ให้พิมพ์:
รับ Tem C:\users\<ชื่อผู้ใช้>\* ป>
หากคุณต้องการดึงข้อมูลรายการลูกจากคอนเทนเนอร์ เช่น ไดเร็กทอรีระบบ คุณสามารถใช้ cmdlet Get-ChildItem . คำสั่งนี้จะแสดงไฟล์และไดเร็กทอรีทั้งหมดภายในคอนเทนเนอร์นั้น เช่นเดียวกับ Get-Item cmdlet คุณจะต้องระบุเส้นทางของคอนเทนเนอร์
หากต้องการลบรายการ คุณสามารถแทนที่ส่วนต่อท้าย "รับ" ด้วย "ลบ" ซึ่งจะช่วยให้คุณสามารถลบทุกอย่างได้ตั้งแต่ไฟล์และโฟลเดอร์ไปจนถึงรีจิสตรีคีย์และฟังก์ชัน พิมพ์ ลบรายการ <สถานที่\ ชื่อ> . คุณสามารถอธิบายรายละเอียด cmdlet นี้และลบเฉพาะไฟล์ที่ซ่อนและ "อ่านอย่างเดียว" หรือลบรายการออกจากโฟลเดอร์และโฟลเดอร์ย่อยที่ระบุ
7. แปลงเป็น Html
คำสั่งนี้จะช่วยคุณแปลงวัตถุ .NET ให้เป็นไฟล์ HTML ที่สามารถแสดงในเว็บเบราว์เซอร์ได้ นี่คือ cmdlet เอาต์พุตซึ่งหมายความว่าใช้งานได้ดีกับ cmdlet อื่นๆ เพียงเพิ่มไปที่ส่วนท้ายของ cmdlets อื่นๆ และรวมเส้นทางของไฟล์เฉพาะไว้ด้วย ป>
ตัวอย่างเช่น หากคุณต้องการสร้างไฟล์ HTML ที่แสดงชื่อ เส้นทาง และบริษัทของกระบวนการปัจจุบันทั้งหมดของคอมพิวเตอร์ในระบบ ให้พิมพ์:
รับกระบวนการ | ConvertTo-Html -ชื่อทรัพย์สิน, เส้นทาง, บริษัท -หัวข้อ “ข้อมูลกระบวนการ” | filename.htm ออกไฟล์ ป>
แทนที่ filename.htm ด้วยชื่อไฟล์ที่คุณต้องการ
หากต้องการเปิดไฟล์ที่สร้างขึ้น ให้ใช้ Invoid-Item cmdlet บวก <ชื่อไฟล์.htm> . เนื้อหาควรมีลักษณะคล้ายกับภาพด้านล่าง
8. กำหนดนโยบายการดำเนินการ
หากคุณต้องการเรียกใช้สคริปต์ PowerShell ภายใน คุณจะต้องเปลี่ยนนโยบายการดำเนินการของ PowerShell เอง ในคอมพิวเตอร์ Windows นโยบายการดำเนินการจะถูกจำกัดอยู่เสมอ และคุณจะต้องเปลี่ยนเป็น RemoteSigned หรือ Unrestricted ในคอมพิวเตอร์ที่ไม่ใช่ Windows เช่น Linux หรือ Mac โดยทั่วไปจะตั้งค่าเป็นไม่จำกัด และไม่สามารถเปลี่ยนแปลงได้ ป>
หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับนโยบายการดำเนินการของ PowerShell เพียงพิมพ์:
ช่วยตั้งค่า-ExecutionPolicy ป>
PowerShell จะแสดงไฟล์วิธีใช้เกี่ยวกับนโยบายการดำเนินการบนคอมพิวเตอร์ของคุณหรือแจ้งให้คุณทราบหากไม่มี แต่ยังให้ลิงก์ที่คุณสามารถติดตามและอ่านเกี่ยวกับเรื่องนี้ทางออนไลน์ได้ด้วย
หากต้องการตั้งค่านโยบายเป็น RemoteSigned เพียงพิมพ์:
ตั้งค่านโยบายการดำเนินการ RemoteSigned ป>
หากต้องการตั้งค่าเป็นประเภทไม่จำกัด:
กำหนดนโยบายการดำเนินการไม่ถูกจำกัด ป>
หากต้องการตรวจสอบการตั้งค่าปัจจุบันสำหรับนโยบายการดำเนินการ ให้พิมพ์:
รับนโยบายการดำเนินการ ป>
เนื่องจากนโยบายการดำเนินการเป็นส่วนหนึ่งของกลยุทธ์ความปลอดภัยของ PowerShell จึงจะขอให้คุณยืนยันการเปลี่ยนแปลง พิมพ์ Y เฉพาะในกรณีที่คุณแน่ใจว่าต้องการดำเนินการต่อ
9. เลือก-วัตถุ
คำสั่งนี้ใช้เพื่อเลือกวัตถุและชุดของวัตถุ วัตถุเฉพาะ และวัตถุในตำแหน่งเฉพาะในอาร์เรย์ มีพารามิเตอร์ต่างๆ ที่คุณสามารถใช้เพื่อระบุออบเจ็กต์ที่คุณต้องการเลือก ซึ่งรวมถึงคุณสมบัติ ค่าตัวเลข และออบเจ็กต์อินพุตเฉพาะ ป>
ในการเลือกออบเจ็กต์ตามแอตทริบิวต์คุณสมบัติ คุณจะต้องระบุแอตทริบิวต์ เช่น ชื่อ ID หรือ CPU คุณสามารถจัดกลุ่มแอตทริบิวต์ได้ แต่คุณต้องคั่นด้วยเครื่องหมายจุลภาคเมื่อพิมพ์คำสั่ง หากต้องการดู Select-Object cmdlet ในประเภทการดำเนินการ:
รับกระบวนการ | เลือก-วัตถุ -ชื่อกระบวนการคุณสมบัติ, รหัส, CPU ป>
PowerShell จะแสดงรายการกระบวนการปัจจุบันและคุณลักษณะทั้งหมดดังที่แสดงด้านล่าง
ตอนนี้คุณสามารถใช้คำสั่ง -EpandProperty เพื่อรับข้อมูลโดยละเอียดเกี่ยวกับแอ็ตทริบิวต์เฉพาะ หากคุณต้องการรายละเอียดเกี่ยวกับคุณสมบัติ Modules ของประเภทแอตทริบิวต์ ProcessName:
รับกระบวนการ Chrome | เลือก-วัตถุ -Property ProcessName -ExpandProperty Modules | รายการรูปแบบ ป>
เอาต์พุต "Format-list" ของคำสั่งมีไว้เพื่อทำให้ผลลัพธ์มีการจัดรูปแบบและอ่านได้
10. ส่งออก-CSV
บางครั้งคำสั่ง PowerShell ส่งผลให้เกิดรายการยาว ดังที่เราเห็นใน Get-Command cmdlet รายการยาวๆ และข้อมูลมากมายอ่านยาก และคุณจะต้องการรายการที่มีระเบียบมากขึ้น ในการดำเนินการนี้ ให้ส่งออกข้อมูลทั้งหมดเป็นไฟล์ CSV คุณสามารถทำได้โดยตรงใน PowerShell โดยใช้ฟังก์ชันส่งออก-CSV
ตัวอย่างเช่น เราเห็นว่า cmdlet Get-Command ให้รายการ cmdlet ที่มีอยู่ทั้งหมดที่เราสามารถใช้ได้ใน PowerShell ในขณะนั้น คุณสามารถรวม Get-Command และ Export-CSV เข้าด้วยกันเพื่อสร้างรายการโดยละเอียดด้วยค่าที่คั่นด้วยเครื่องหมายจุลภาค เช่น ชื่อ แหล่งที่มา และเวอร์ชันที่แอปอย่าง Excel จำได้ ป>
เมื่อต้องการทำเช่นนี้ ให้พิมพ์คำสั่งต่อไปนี้ลงในพรอมต์คำสั่ง PowerShell แต่โปรดทราบว่าคุณสามารถตั้งค่าเส้นทางใดก็ได้ที่คุณต้องการ และคุณสามารถตั้งชื่อไฟล์ของคุณแตกต่างออกไปได้:
รับคำสั่ง | เลือกชื่อ แหล่งที่มา เวอร์ชัน | ส่งออก-csv D:\AllCommands.csv ป>
ตอนนี้คุณสามารถเปิดรายการใน Excel ได้แล้ว และคุณควรเห็นสิ่งที่คล้ายกับรูปภาพต่อไปนี้