โฮมเพจ » เดสก์ทอป » 20 Windows PowerShell คำสั่งที่คุณต้องรู้จัก

    20 Windows PowerShell คำสั่งที่คุณต้องรู้จัก

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

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

    บันทึก: Windows PowerShell สร้างขึ้นด้วย ความเข้ากันได้ย้อนหลัง ในใจและสนับสนุนคำสั่งมากมายของ Command Prompt ที่กล่าวว่าคุณสามารถใช้คำสั่งเก่าในอินเทอร์เฟซใหม่ที่มีสีสัน.

    รับความช่วยเหลือ [ช่วยเหลือ]

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

    ยิ่งกว่านั้นมันง่าย: คุณต้องพิมพ์ ขอความช่วยเหลือ ตามด้วยคำสั่งที่คุณค้นหารายละเอียด ตัวอย่างเช่นคุณสามารถรับข้อมูลเกี่ยวกับ “Get-กระบวนการ” การใช้ รับความช่วยเหลือรับกระบวนการ.

    รับคำสั่ง [gcm]

    Windows PowerShell อนุญาตให้ค้นหาคำสั่งและคุณสมบัติต่าง ๆ โดยใช้ Get-Command จะแสดงรายการของ คำสั่งของคุณสมบัติเฉพาะ หรือเพื่อวัตถุประสงค์เฉพาะตามพารามิเตอร์การค้นหาของคุณ.

    คุณจะต้องพิมพ์ Get-คำสั่ง ตามด้วยคำค้นหาของคุณใน PowerShell ตัวอย่างเช่น, รับคำสั่ง * - บริการ * แสดงคำสั่งด้วย “-บริการ” ในชื่อ โปรดจำไว้ว่า ใช้เครื่องหมายดอกจันทั้งสองด้านของการสืบค้นของคุณ เพราะมันเป็นไวลด์การ์ดที่ช่วยในการค้นหาสิ่งแปลกปลอม.

    เรียกใช้คำสั่ง [icm]

    เมื่อคุณต้องการ เรียกใช้คำสั่งหรือสคริปต์ ของ PowerShell - ภายในเครื่องหรือระยะไกลบนคอมพิวเตอร์เครื่องเดียวหรือหลายเครื่อง - “เรียก-คำสั่ง” เป็นเพื่อนของคุณ. มันใช้งานง่ายและช่วยให้คุณควบคุมคอมพิวเตอร์แบบแบตช์.

    คุณต้องพิมพ์ เรียก-คำสั่ง ตามด้วยคำสั่งหรือสคริปต์ที่มีเส้นทางที่สมบูรณ์ ตัวอย่างเช่นคุณสามารถ เรียกใช้คำสั่ง “Get-EventLog” การใช้ เรียกใช้คำสั่ง -ScriptBlock ระบบ Get-EventLog ใหม่ล่าสุด 50 หรือบนคอมพิวเตอร์ระยะไกล “Server01” การใช้ เรียกใช้คำสั่ง -ScriptBlock ระบบ Get-EventLog ใหม่ล่าสุด 50 -ComputerName Server01.

    วิงวอน - แสดงออก [iex]

    ก่อให้เกิดการแสดงออก รันคำสั่งหรือนิพจน์อื่น. หากคุณให้นิพจน์หรือสตริงเป็นอินพุตคำสั่งนี้จะประเมินค่าก่อนจากนั้นรันมัน แต่จะทำงานเฉพาะภายในเท่านั้นไม่เหมือนกับคำสั่งก่อนหน้า.

    คุณต้องพิมพ์ ก่อให้เกิดการแสดงออก ตามด้วยคำสั่งหรือการแสดงออก ตัวอย่างเช่นคุณสามารถกำหนดตัวแปร “$ คำสั่ง” ด้วยสตริงบอกคำสั่ง “Get-กระบวนการ”. เมื่อคุณวิ่ง เรียกใช้คำสั่ง $ Expression, “Get-กระบวนการ” ได้รับการเรียกใช้เป็นคำสั่งในเครื่องคอมพิวเตอร์ของคุณ.

    เรียกใช้ -R WebRequest [iwr]

    คุณสามารถ ดาวน์โหลดเข้าสู่ระบบและขูดสำหรับข้อมูล บนเว็บไซต์และบริการเว็บขณะทำงานบน Windows PowerShell โดยใช้ Invoke-WebRequest.

    คุณต้องใช้มันเหมือน เรียก-WebRequest ตามด้วยพารามิเตอร์ ตัวอย่างเช่นคุณสามารถรับลิงก์ในหน้าเว็บที่กำหนดโดยใช้คำสั่งเป็น (เรียกใช้ -Request -Uri "https://docs.microsoft.com") .Links.Href.

    ตั้ง ExecutionPolicy

    แม้ว่าการสร้างและการดำเนินการสคริปต์ (มีส่วนขยาย “PS1”) ใน Windows PowerShell เป็นไปได้; อย่างไรก็ตามมีข้อ จำกัด สำหรับวัตถุประสงค์ด้านความปลอดภัย แต่คุณทำได้ เปลี่ยนระดับความปลอดภัย ใช้คำสั่ง Set-ExecutionPolicy.

    คุณสามารถพิมพ์ ตั้ง ExecutionPolicy ตามด้วยหนึ่งในสี่ระดับความปลอดภัย - ถูก จำกัด , การลงชื่อทางไกล, การลงนามทั้งหมดหรือไม่ จำกัด เพื่อใช้คำสั่ง ตัวอย่างเช่นคุณสามารถกำหนดสถานะนโยบายที่ จำกัด ได้โดยใช้ Set-ExecutionPolicy -ExecutionPolicy Restricted.

    รับรายการ [gi]

    หากคุณกำลังมองหา ข้อมูลเกี่ยวกับรายการ รับไฟล์ในฮาร์ดดิสก์ของคุณในตำแหน่งใด ๆ Get-Item เป็นวิธีที่ดีที่สุดในการรับมันใน Windows PowerShell คุณต้องรู้ว่า ไม่ได้รับเนื้อหาของรายการ, เช่นไฟล์และไดเรกทอรีย่อยในไดเรกทอรีที่กำหนดเว้นแต่คุณจะระบุไว้อย่างชัดเจน.

    คุณต้องพิมพ์ รับรายการ ตามด้วยเส้นทางหรือสตริงพร้อมกับพารามิเตอร์ถ้ามี ตัวอย่างเช่นคุณสามารถรับรายการทั้งหมด (ไฟล์หรือโฟลเดอร์) เริ่มต้นด้วย “M” ในไดเรกทอรีปัจจุบันโดยใช้ รับรายการ M *. นอกจากเนื้อหาของไดเรกทอรีแล้วยังสามารถรับเนื้อหาของรีจิสตรีคีย์ได้อีกด้วย.

    คัดลอก - รายการ [คัดลอก]

    หากคุณต้องการ คัดลอกไฟล์และไดเรกทอรี บนดิสก์หน่วยเก็บข้อมูลหรือรายการรีจิสทรีและคีย์ในรีจิสทรีคุณสามารถใช้ Copy-Item มันทำหน้าที่คล้ายกับ “ซีพี” คำสั่งที่เรามีในพรอมต์คำสั่ง แต่มันจะดีกว่ามาก.

    คุณสามารถใช้ประโยชน์จาก คัดลอกรายการ คำสั่งไปที่ คัดลอกและเปลี่ยนชื่อรายการในคำสั่งเดียวกัน เช่นกัน - ให้ชื่อใหม่เป็นปลายทาง ตัวอย่างเช่นคุณสามารถคัดลอกและเปลี่ยนชื่อ “Services.htm” ไปยัง “MyServices.txt” การใช้ คัดลอกรายการ "C: \ Services.htm" -Destination "C: \ MyData \ MyServices.txt".

    ลบรายการ [เดล]

    ถ้าคุณต้องการ เพื่อลบรายการ เช่นไฟล์โฟลเดอร์ฟังก์ชั่นและรีจิสตรีคีย์และตัวแปร Remove-Item เป็นคำสั่งสำหรับคุณ สิ่งที่ฉันคิดว่าน่าสนใจคือมันมีพารามิเตอร์ในการรวมและแยกรายการ.

    คุณสามารถใช้ประโยชน์จาก ลบรายการ คำสั่งไปที่ ลบรายการออกจากตำแหน่งเฉพาะโดยใช้พารามิเตอร์. ตัวอย่างเช่นคุณสามารถลบไฟล์ “MyServices.txt” ด้วยคำสั่ง ลบรายการ "C: \ MyData \ MyServices.txt".

    รับเนื้อหา [cat]

    เมื่อคุณต้องการดูเนื้อหาของไฟล์ข้อความที่ตำแหน่งเฉพาะคุณเปิดและอ่านในตัวแก้ไขรหัส / ข้อความเช่น Notepad ++ ใน Windows PowerShell คุณสามารถใช้ Get-Content ได้ ดึงเนื้อหา โดยไม่ต้องเปิดไฟล์.

    ตัวอย่างเช่นคุณสามารถดึงเนื้อหาได้ 50 บรรทัด “Services.htm”, จากนั้นคุณสามารถใช้ รับเนื้อหา "C: \ Services.htm" - ยอดรวม 50.

    ตั้งค่าเนื้อหา [SC]

    คุณสามารถบันทึกข้อความเป็นไฟล์โดยใช้ Set-Content คล้ายกับ “เสียงสะท้อน” คำสั่งของ Bash Shell เมื่อรวมกับ Get-Content แล้วคุณยังสามารถ ดึงเนื้อหาของไฟล์หนึ่งไฟล์และคัดลอกไปยังไฟล์อื่น ใช้คำสั่งนี้.

    ตัวอย่างเช่นคุณสามารถพิมพ์ ตั้งเนื้อหา ไปยัง เขียนหรือแทนที่เนื้อหา ของไฟล์ที่มีเนื้อหาใหม่ ยิ่งกว่านั้นคุณสามารถรวมเข้ากับตัวอย่างของคำสั่งก่อนหน้าเพื่อบันทึกผลลัพธ์ลงในไฟล์ใหม่ที่ชื่อว่า “sample.txt” การใช้ รับเนื้อหา "C: \ Services.htm" - ยอดรวม 50 | ชุดเนื้อหา "Sample.txt".

    รับตัวแปร [gv]

    หากคุณต้องการใช้ตัวแปรใน Windows PowerShell คำสั่ง Get-Variable จะช่วยคุณได้ เห็นภาพค่าของตัวแปร. มันแสดงให้พวกเขาในรูปแบบตารางและช่วยให้รวมถึงการยกเว้นและการใช้สัญลักษณ์แทน.

    คุณสามารถใช้คำสั่งนี้โดยการพิมพ์ Get-ตัวแปร ตามด้วยตัวเลือกและพารามิเตอร์ ตัวอย่างเช่นคุณสามารถดึงค่าสำหรับชื่อตัวแปร “รายละเอียด” ใช้รหัสต่อไปนี้: รับ - ตัวแปร - ชื่อ "desc".

    ตั้งค่าตัวแปร [ชุด]

    คุณสามารถ กำหนดหรือเปลี่ยนแปลง / รีเซ็ตค่าของตัวแปร โดยใช้คำสั่ง Set-Variable เป็นทางลัดคุณสามารถตั้งค่าตัวแปรอย่างง่ายโดยใช้รูปแบบ $ $ VarName = VarValue $ เช่น $ desc = "A คำอธิบาย".

    คุณสามารถใช้คำสั่ง ตั้งตัวแปร ตามด้วยพารามิเตอร์เพื่อตั้งค่าตัวแปร ตัวอย่างเช่นเราสามารถตั้งค่าสำหรับตัวแปรที่ชื่อว่า “รายละเอียด” ใช้คำสั่ง ชุดตัวแปร - ชื่อ "desc" - ค่า "คำอธิบาย".

    รับกระบวนการ [gps]

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

    คุณสามารถเขียนคำสั่งเป็น Get-กระบวนการ พร้อมกับคำค้นหาของคุณ ตัวอย่างเช่นหากคุณต้องการข้อมูลเกี่ยวกับกระบวนการด้วย “สำรวจ” ในชื่อของพวกเขาคุณสามารถพิมพ์ รับกระบวนการ * สำรวจ * (บันทึกเครื่องหมายดอกจัน).

    เริ่มกระบวนการ [saps]

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

    คุณสามารถพิมพ์ เริ่มต้นกระบวนการ ตามด้วยพารามิเตอร์เพื่อใช้คำสั่ง ตัวอย่างเช่นคุณสามารถเริ่ม Notepad ได้โดยพิมพ์ เริ่มต้นกระบวนการ -FilePath "notepad" -Verb runAs ใน Windows PowerShell.

    หยุดกระบวนการ [ฆ่า]

    คุณสามารถ หยุดกระบวนการที่เฉพาะเจาะจงหรือทั้งหมดของกระบวนการทำงาน บนคอมพิวเตอร์ของคุณโดยใช้ชื่อหรือ PID (ID กระบวนการ) ต้องขอบคุณคำสั่ง Stop-Process สิ่งที่ทำให้มันน่าสนใจคือคุณสามารถตรวจสอบกระบวนการหยุดทำงานหรือไม่และคุณสามารถหยุดกระบวนการที่ผู้ใช้ปัจจุบันไม่ได้เป็นเจ้าของหรือเริ่มต้นได้.

    คุณสามารถพิมพ์คำสั่ง หยุดกระบวนการ ตามด้วยพารามิเตอร์เพื่อหยุดกระบวนการที่กำหนด ตัวอย่างเช่นคุณสามารถหยุดกระบวนการทั้งหมดของ Notepad โดยใช้คำสั่ง หยุดกระบวนการ - ชื่อ "notepad".

    รับบริการ [gsv]

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

    หากคุณต้องการใช้คำสั่งนี้คุณสามารถพิมพ์ รับบริการ ตามด้วยพารามิเตอร์ ตัวอย่างเช่นพิมพ์ดังต่อไปนี้ รับบริการ | โดยที่-Object $ _. Status -eq "Running" เพื่อรับบริการ “วิ่ง” ในระบบของคุณ.

    บริการเริ่มต้น [sasv]

    หากคุณต้องการ เริ่มบริการ บนคอมพิวเตอร์ของคุณคำสั่ง Start-Service สามารถช่วยคุณทำสิ่งเดียวกันได้จาก Windows PowerShell ฉันพบว่ามันทรงพลังพอที่จะเริ่มบริการแม้ว่าบริการนั้นจะปิดการใช้งานบนคอมพิวเตอร์ของคุณ.

    คุณต้องระบุชื่อของบริการในขณะที่ใช้คำสั่ง เริ่มบริการ. ตัวอย่างเช่น, เริ่มบริการ - ชื่อ "WSearch" เริ่มบริการ “ค้นหา Windows” บนเครื่องคอมพิวเตอร์ของคุณ.

    หยุดบริการ [spsv]

    หากคุณต้องการ หยุดบริการที่ทำงานอยู่ ในคอมพิวเตอร์ของคุณคำสั่ง Stop-Service จะเป็นประโยชน์ คุณต้องระบุชื่อของบริการพร้อมกับ หยุดบริการ. ตัวอย่างเช่นพิมพ์ หยุดบริการ - ชื่อ "WSearch" เพื่อหยุดบริการ “ค้นหา Windows” บนคอมพิวเตอร์ของคุณ.

    ConvertTo-HTML

    PowerShell สามารถให้ข้อมูลที่น่าอัศจรรย์เกี่ยวกับระบบของคุณ อย่างไรก็ตามส่วนใหญ่จะมีการนำเสนอในรูปแบบที่ย่อยไม่ได้ แต่คุณสามารถใช้ ConvertTo-HTML เพื่อ สร้างและจัดรูปแบบรายงาน เพื่อวิเคราะห์หรือส่งมันให้ใครบางคน.

    คุณสามารถใช้ได้ ConvertTo-HTML พร้อมกับเอาต์พุตของคำสั่งอื่นโดยใช้ piping ตัวอย่างเช่น รับบริการ | ConvertTo-HTML- ชื่อคุณสมบัติสถานะ> C: \ Services.htm แสดงรายการบริการทั้งหมดและสถานะของบริการในรูปแบบของรายงานทางเว็บซึ่งจัดเก็บไว้ในไฟล์ “Services.htm”.

    นั่นคือทั้งหมดที่เกี่ยวกับคำสั่งที่จำเป็น .