วิธีแสดงรายการบริการ Windows ทั้งหมดโดยใช้ PowerShell หรือ Command Line


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

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

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

แสดงรายการบริการ Windows ใน Command Prompt

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

  1. หากต้องการใช้คำสั่ง queryex ให้เรียกใช้ Command Prompt ในฐานะผู้ดูแลระบบ คุณสามารถค้นหาแอปได้โดยค้นหา cmd ในเมนูเริ่มต้น
    1. การใช้คำสั่ง sc queryex มีหลายวิธี ประเภทและสถานะเป็นพารามิเตอร์ที่ใช้บ่อยที่สุดสองตัว ตัวอย่างเช่น ป้อนคำสั่งต่อไปนี้เพื่อดูกระบวนการ Windows ทั้งหมด:
    2. sc queryex type=service state=all

      1. มุมมองเริ่มต้นอาจมีมากเกินไปเล็กน้อย คุณสามารถแสดงเพียงชื่อของกระบวนการเพื่อทำให้รายการแยกวิเคราะห์ได้ง่ายขึ้น:
      2. sc queryex type=สถานะบริการ=ทั้งหมด | ค้นหา /i “SERVICE_NAME:”

        1. ตามค่าเริ่มต้น คำสั่งจะแสดงรายการกระบวนการที่ใช้งานอยู่ทั้งหมด หากต้องการค้นหารายการที่ไม่ได้ใช้งาน ให้แก้ไขพารามิเตอร์สถานะ:
        2. sc queryex type=service state=inactive

          1. คุณยังสามารถสอบถามสถานะของกระบวนการเฉพาะตามชื่อได้ สิ่งนี้มีประโยชน์อย่างเหลือเชื่อสำหรับผู้ดูแลระบบ เนื่องจากสามารถตั้งค่าไฟล์แบตช์เพื่อตรวจสอบกระบวนการต่างๆ ได้ในคราวเดียว นี่คือตัวอย่าง:
          2. sc สอบถาม DeviceInstall

            การแสดงรายการบริการ Windows ใน PowerShell

            .

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

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

            1. เริ่มต้นด้วยการเปิด PowerShell คุณสามารถค้นหาได้ในเมนู Start; เพียงตรวจสอบให้แน่ใจว่าได้เรียกใช้อินสแตนซ์ที่มีการยกระดับ (เช่น ในฐานะผู้ดูแลระบบ)
              1. คำสั่งที่ง่ายที่สุดในการแสดงรายการบริการ Windows บน PowerShell คือ รับบริการ โดยจะแสดงบริการทั้งหมดบนคอมพิวเตอร์ของคุณ พร้อมด้วยสถานะและชื่อ ปัญหาเดียวคือรายการบริการอาจยาวพอสมควร
                1. เมื่อใช้ Get-Service แนะนำให้ส่งออกรายการเป็นไฟล์ข้อความจะดีกว่า คุณสามารถทำได้โดยใช้ไปป์ เช่นนี้:
                2. รับบริการ | ออกไฟล์ “C:\logs\All_Services.txt”

                  1. หากต้องการค้นหาสถานะของบริการเฉพาะ ให้ทำตามคำสั่ง รับบริการ พร้อมชื่อของบริการ คุณสามารถขอสถานะของกระบวนการต่างๆ ได้โดยคั่นชื่อด้วยเครื่องหมายจุลภาค
                  2. รับบริการ CryptSvc, COMSysApp

                    1. ไปป์ยังสามารถใช้เพื่อรวม Get-Service cmdlet เข้ากับฟังก์ชัน Where-Object และกรองผลลัพธ์ตามสถานะ คำสั่งต่อไปนี้แสดงสิ่งนี้โดยการรับบริการที่ทำงานอยู่ทั้งหมด:
                    2. รับบริการ | โดยที่วัตถุ {$_.Status -EQ “กำลังทำงาน”}

                      การตรวจสอบการพึ่งพาบริการ

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

                      1. หากต้องการดูบริการที่จำเป็นสำหรับบริการใดบริการหนึ่ง ให้ใช้แฟล็ก -RequiredServices พร้อมด้วย Get-Service cmdlet นี่คือตัวอย่าง:
                      2. .

                        รับบริการ - ชื่อ CryptSvc – RequiredServices

                        1. ในทำนองเดียวกัน หากต้องการรับรายการบริการที่ขึ้นอยู่กับบริการเฉพาะ ให้ใช้ประโยชน์จากแฟล็ก -DependentServices
                        2. รับบริการ - ชื่อ CryptSvc - DependentServices

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

                          การแสดงรายการบริการ Windows บนคอมพิวเตอร์ระยะไกล

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

                          นี่คือตัวอย่าง:

                          รับบริการ CryptSvc -ComputerName Workstation7

                          การจัดการบริการ Windows ใน PowerShell

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

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

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

                            1. การเริ่มต้นบริการดำเนินไปในทำนองเดียวกัน:
                            2. เริ่มบริการ - ตัวจัดคิวชื่อ

                              1. หากบริการทำงานไม่ถูกต้อง คุณสามารถเลือกรีสตาร์ทได้:
                              2. เริ่มบริการใหม่ - ตัวจัดคิวชื่อ

                                1. ยังมี Set-Service cmdlet ที่สามารถใช้เพื่อเปลี่ยนคุณสมบัติของบริการได้ ที่นี่เราปิดการใช้งานการเริ่มต้นบริการ Print Spooler โดยอัตโนมัติ:
                                2. .

                                  ตั้งค่าบริการ 'ตัวจัดคิว' -StartupType ถูกปิดใช้งาน

                                  วิธีที่ดีที่สุดในการแสดงรายการบริการ Windows คืออะไร

                                  ไม่ว่าคุณจะใช้ Windows 10 หรือ Windows Server การสามารถดูรายการบริการ Windows ทั้งหมดก็สามารถทำได้สะดวก คุณสามารถวินิจฉัยปัญหาเกี่ยวกับฟังก์ชันระบบที่สำคัญหรือ หยุดบริการของ Microsoft ที่ไม่จำเป็น เพื่อปรับปรุงประสิทธิภาพได้

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

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

                                  .

                                  กระทู้ที่เกี่ยวข้อง:


                                  26.06.2022