โฮมเพจ » ทำอย่างไร » 5 Cmdlets เพื่อให้คุณเริ่มต้นกับ PowerShell

    5 Cmdlets เพื่อให้คุณเริ่มต้นกับ PowerShell

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

    Get-คำสั่ง

    Get-Command เป็นหนึ่งใน cmdlet ที่มีประโยชน์มากที่สุดใน PowerShell ทั้งหมดเนื่องจากจะช่วยให้คุณจับกับ PowerShell ได้โดยให้คุณค้นหา cmdlet บางตัว การใช้ Get-Command ด้วยตัวของมันเองนั้นไม่ได้มีประโยชน์มากนักเนื่องจากมันจะคายคำสั่งทุกคำสั่งที่ PowerShell มี.

    แต่จากนี้เราจะเห็นว่าวัตถุที่ PowerShell เอาต์พุตมีทั้งชื่อและคุณสมบัติ ModuleName การใช้ข้อมูลนี้เราสามารถทำให้การค้นหาของเราละเอียดยิ่งขึ้นด้วยการค้นหา cmdlets ที่มีคำบางคำ ตัวอย่างเช่นถ้าฉันต้องการค้นหา cmdlet ทั้งหมดที่มีคำว่า "IP" ฉันสามารถทำได้:

    รับ - คำสั่ง - ชื่อ * IP *

    ดังที่คุณเห็นว่าเรายังได้ผลลัพธ์ค่อนข้างน้อยตัวเลือกถัดไปของเราคือการค้นหาภายในโมดูลที่เฉพาะเจาะจง ในกรณีของเราฉันจะเลือกโมดูล NetTCPIP.

    รับคำสั่ง - โมดูล NetTCPIP - ชื่อ * IP *

    ขอความช่วยเหลือ

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

    ipconfig /?

    นั่นไม่ได้ผลใน PowerShell นี่เป็นเพราะใน PowerShell มีการใช้พื้นที่เพื่อแยกคำสั่งจากพารามิเตอร์ ดังนั้นเราจึงใช้ Get-Help และส่งชื่อ cmdlets ไปที่ Get-Help เป็นพารามิเตอร์.

    รับความช่วยเหลือรับกระบวนการ

    ได้รับการบริการสมาชิก

    รับสมาชิกช่วยให้เราได้รับข้อมูลเกี่ยวกับวัตถุที่ cmdlets กลับมา การจับกับ get-member คือมันอาศัยคุณสมบัติของ PowerShell เพื่อสาธิตสิ่งนี้เราจะสามารถใช้ cmdlet รับกระบวนการได้.

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

    รับกระบวนการ | ได้รับการบริการสมาชิก

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

    เริ่มกระบวนการ notepad.exe
    $ NotepadProc = รับกระบวนการ - ชื่อ notepad
    $ NotepadProc.WaitForExit ()
    เริ่มกระบวนการ calc.exe

    สคริปต์นั้นจะเปิดตัว notepad จากนั้นจะกำหนดเอาท์พุทของ“ Get-Process -Name notepad” ให้กับตัวแปร $ NotepadProc จากนั้นเราเรียกเมธอด WaitForExit บน $ NotepadProc ซึ่งทำให้สคริปต์หยุดชั่วคราวจนกว่าคุณจะปิดแผ่นจดบันทึกเมื่อคุณปิด Notepad จากนั้นเครื่องคิดเลขจะเริ่มทำงาน.

    $ _ (วัตถุไปป์ไลน์ปัจจุบัน)

    แม้ว่าจะไม่ใช่ cmdlet แต่ก็เป็นหนึ่งในตัวแปรพิเศษที่ใช้มากที่สุดใน PowerShell ชื่ออย่างเป็นทางการสำหรับ $ _ คือ“ วัตถุไปป์ไลน์ปัจจุบัน” มันถูกใช้ในบล็อกสคริปต์, ตัวกรอง, ส่วนของกระบวนการของฟังก์ชั่น, ที่วัตถุ, foreach-object และสวิทช์ อย่างไรก็ตามมันง่ายต่อการอธิบายด้วยตัวอย่างซึ่งนำเราไปสู่ ​​cmdlet ถัดไปและสุดท้ายของเรา Where-Object.

    ในกรณีที่วัตถุ

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

    รับกระบวนการ | โดยที่-Object $ _. ชื่อ -eq“ iexplore”

    แล้วคุณจะถามว่าเกิดอะไรขึ้น สิ่งแรกที่เรากำลังทำคือการรับรายการของกระบวนการในคอมพิวเตอร์ของเราและส่งผ่านผลลัพธ์ (โดยใช้อักขระ |) ไปยังตำแหน่ง cmdlet ของเราซึ่งใช้บล็อกสคริปต์เป็นพารามิเตอร์ บล็อกสคริปต์ (กำหนดโดยวงเล็บปีกกา) แนะนำให้ cmdlets Where-Object เลือกเฉพาะวัตถุที่พารามิเตอร์ชื่อเท่ากับ“ iexplore” และเพื่อให้เราได้รับรายการอินสแตนซ์ IE ที่ทำงานอยู่เท่านั้น นั่นคือทั้งหมดที่มีให้มันมีความสนุกสนาน!