แอปพลิเคชั่นที่ทำงานอยู่ที่คุณเห็นบนหน้าจอเป็นเพียงเศษเสี้ยวของสิ่งที่เกิดขึ้นใน Windows ตั้งแต่การจัดการไดรเวอร์อุปกรณ์ไปจนถึงการรับรองความปลอดภัย กระบวนการเบื้องหลังจำนวนมากทำให้พีซี Windows ทำงานได้
สำหรับผู้ดูแลระบบที่ดูแลคอมพิวเตอร์หลายเครื่อง สิ่งสำคัญคือต้องสามารถดูสถานะของบริการที่สำคัญเหล่านี้ได้ วิธีการตัวจัดการงานช้าเกินไปสำหรับสิ่งนี้ และคุณไม่สามารถทำให้เป็นอัตโนมัติด้วยสคริปต์ได้
วิธีแก้ปัญหา? เครื่องมือบรรทัดคำสั่ง เมื่อใช้ Command Prompt หรือ PowerShell คุณสามารถอ่านบริการของ Microsoft ที่ดำเนินงานบนระบบได้อย่างรวดเร็ว ซึ่งช่วยให้คุณวินิจฉัยปัญหาต่างๆ ได้อย่างรวดเร็ว ป>
แสดงรายการบริการ Windows ใน Command Prompt
แม้ว่าจะไม่ยืดหยุ่นหรือทรงพลังเท่ากับ Windows PowerShell แต่ Command Prompt ยังคงเป็นเครื่องมือที่ยอดเยี่ยมสำหรับผู้ดูแลระบบ คุณสามารถใช้ queryex คำสั่งเพื่อรับสถานะของบริการทั้งที่ใช้งานอยู่และปิดใช้งาน จากนั้นใช้คำสั่ง Taskkill เพื่อยุติกระบวนการที่น่ารำคาญ
- หากต้องการใช้คำสั่ง queryex ให้เรียกใช้ Command Prompt ในฐานะผู้ดูแลระบบ คุณสามารถค้นหาแอปได้โดยค้นหา cmd ในเมนูเริ่มต้น
- การใช้คำสั่ง sc queryex มีหลายวิธี ประเภทและสถานะเป็นพารามิเตอร์ที่ใช้บ่อยที่สุดสองตัว ตัวอย่างเช่น ป้อนคำสั่งต่อไปนี้เพื่อดูกระบวนการ Windows ทั้งหมด:
sc queryex type=สถานะบริการ=ทั้งหมด ป>
- มุมมองเริ่มต้นอาจมีมากเกินไปเล็กน้อย คุณสามารถแสดงเพียงชื่อของกระบวนการเพื่อทำให้รายการแยกวิเคราะห์ได้ง่ายขึ้น:
sc queryex type=สถานะบริการ=ทั้งหมด | ค้นหา /i “SERVICE_NAME:” ป>
- ตามค่าเริ่มต้น คำสั่งจะแสดงรายการกระบวนการที่ใช้งานอยู่ทั้งหมด หากต้องการค้นหารายการที่ไม่ได้ใช้งาน ให้แก้ไขพารามิเตอร์สถานะ:
sc queryex type=สถานะบริการ=inactive ป>
- คุณยังสามารถสอบถามสถานะของกระบวนการเฉพาะตามชื่อได้ สิ่งนี้มีประโยชน์อย่างเหลือเชื่อสำหรับผู้ดูแลระบบ เนื่องจากสามารถตั้งค่าไฟล์แบตช์เพื่อตรวจสอบกระบวนการต่างๆ ได้ในคราวเดียว นี่คือตัวอย่าง:
sc สอบถาม DeviceInstall ป>
การแสดงรายการบริการ Windows ใน PowerShell
PowerShell มีวัตถุประสงค์เพื่อเป็นเชลล์บรรทัดคำสั่งเฉพาะสำหรับ Windows สมัยใหม่ ด้วยเหตุนี้ มันจึงให้การเข้าถึงส่วนประกอบของระบบปฏิบัติการเกือบทั้งหมดผ่านคำสั่ง และบริการของ Windows ก็ไม่มีข้อยกเว้น
ข้อดีของ PowerShell คือคุณสามารถทำให้เป็นอัตโนมัติได้อย่างง่ายดาย คำสั่ง PowerShell ทั้งหมดสามารถรวบรวมเป็นสคริปต์ที่ซับซ้อนได้ ทำให้คุณสามารถตั้งค่างานการดูแลระบบบนพีซีหลายเครื่องได้โดยไม่ต้องยุ่งยาก
- เริ่มต้นด้วยการเปิด PowerShell คุณสามารถค้นหาได้ในเมนู Start; เพียงตรวจสอบให้แน่ใจว่าได้เรียกใช้อินสแตนซ์ที่มีการยกระดับ (เช่น ในฐานะผู้ดูแลระบบ)
- คำสั่งที่ง่ายที่สุดในการแสดงรายการบริการ Windows บน PowerShell คือ รับบริการ . โดยจะแสดงบริการทั้งหมดบนคอมพิวเตอร์ของคุณ พร้อมด้วยสถานะและชื่อ ปัญหาเดียวก็คือรายการบริการอาจยาวพอสมควร
- เมื่อใช้ รับบริการ ทางที่ดีควรส่งออกรายการเป็นไฟล์ข้อความ คุณสามารถทำได้โดยใช้ไปป์ เช่นนี้:
รับบริการ | ออกไฟล์ “C:\logs\All_Services.txt” ป>
- หากต้องการค้นหาสถานะของบริการใดบริการหนึ่ง ให้ทำตาม รับบริการ คำสั่งพร้อมชื่อของบริการ คุณสามารถขอสถานะของกระบวนการต่างๆ ได้โดยคั่นชื่อด้วยเครื่องหมายจุลภาค
รับบริการ CryptSvc, COMSysApp ป>
- ไปป์ยังสามารถใช้เพื่อรวม รับบริการ ได้ด้วย cmdlet ด้วย Where-Object ฟังก์ชั่นและกรองผลลัพธ์ตามสถานะ คำสั่งต่อไปนี้แสดงสิ่งนี้โดยการรับบริการที่ทำงานอยู่ทั้งหมด:
รับบริการ | โดยที่วัตถุ {$_.Status -EQ “กำลังทำงาน”} ป>
การตรวจสอบการพึ่งพาบริการ
กระบวนการที่ซับซ้อนใดๆ จะถูกแบ่งออกเป็นบริการต่างๆ ที่พึ่งพาซึ่งกันและกัน นี่คือสาเหตุที่การรับสถานะของบริการใดบริการหนึ่งมักไม่เพียงพอ คุณต้องตรวจสอบสถานะของบริการที่บริการนั้นขึ้นอยู่กับ
- หากต้องการดูบริการที่จำเป็นสำหรับบริการใดบริการหนึ่ง ให้ใช้ -RequiredServices ตั้งค่าสถานะด้วย รับบริการ cmdlet. นี่คือตัวอย่าง:
รับบริการ - ชื่อ CryptSvc –RequiredServices ป>
- ในทำนองเดียวกัน หากต้องการรับรายการบริการที่ขึ้นอยู่กับบริการเฉพาะ ให้ใช้ประโยชน์จาก -DependentServices ธง.
รับบริการ - ชื่อ CryptSvc - DependentServices ป>
ธงทั้งสองนี้มีความสำคัญในการเขียนสคริปต์เพื่อเริ่มหรือหยุดบริการ Windows โดยอัตโนมัติ เนื่องจากเป็นช่องทางในการติดตามบริการทั้งหมดที่เชื่อมต่อกับบริการที่ได้รับผลกระทบ
การแสดงรายการบริการ Windows บนคอมพิวเตอร์ระยะไกล
วิธีการ PowerShell ไม่ได้จำกัดอยู่เฉพาะคอมพิวเตอร์ในระบบ คุณสามารถใช้ Get-Service cmdlet ด้วยไวยากรณ์เดียวกันกับที่อธิบายไว้ข้างต้นเพื่อสอบถามกระบวนการของพีซีระยะไกลได้เช่นกัน เพียงเพิ่ม -ComputerName ต่อท้าย ตั้งค่าสถานะที่ส่วนท้ายเพื่อระบุคอมพิวเตอร์ระยะไกลที่จะดึงข้อมูล ป>
นี่คือตัวอย่าง:
รับบริการ CryptSvc -ComputerName Workstation7 ป>
การจัดการบริการ Windows ใน PowerShell
การรับสถานะบริการไม่ใช่สิ่งเดียวที่คุณสามารถทำได้ใน Windows PowerShell เนื่องจากเป็นสภาพแวดล้อมการเขียนสคริปต์ที่ครบครัน จึงมีตัวเลือกสคริปต์ให้กับตัวเลือก GUI ทั้งหมด ป>
Powershell cmdlets สามารถหยุด เริ่ม รีสตาร์ท หรือแม้แต่ปรับเปลี่ยนบริการได้ จับคู่กับ รับบริการ อัตโนมัติ คำสั่งต่างๆ สคริปต์ PowerShell สามารถเขียนเพื่อทำให้งานการจัดการระบบในแต่ละวันเป็นอัตโนมัติเต็มรูปแบบ
- นอกเหนือจากการสืบค้นสถานะของบริการแล้ว คุณยังสามารถใช้ PowerShell เพื่อจัดการบริการเหล่านั้นได้ การเริ่มหรือหยุดบริการสามารถทำได้ด้วยคำสั่งเดียว โดยต้องการเพียงชื่อของบริการเท่านั้น ตัวอย่างเช่น นี่คือวิธีที่คุณสามารถหยุดบริการได้:
หยุดบริการ -ตัวจัดคิวชื่อ ป>
- การเริ่มต้นบริการดำเนินไปในทำนองเดียวกัน:
เริ่มบริการ -ตัวจัดคิวชื่อ ป>
- หากบริการทำงานไม่ถูกต้อง คุณสามารถเลือกรีสตาร์ทได้:
เริ่มบริการใหม่ - ตัวจัดคิวชื่อ ป>
- ยังมี Set-Service cmdlet ที่สามารถใช้เพื่อเปลี่ยนคุณสมบัติของบริการได้ ที่นี่เราปิดการใช้งานการเริ่มต้นบริการ Print Spooler โดยอัตโนมัติ:
ตั้งค่าบริการ 'ตัวจัดคิว' -StartupType ถูกปิดใช้งาน ป>
วิธีที่ดีที่สุดในการแสดงรายการบริการ Windows คืออะไร
ไม่ว่าคุณจะใช้ Windows 10 หรือ Windows Server การดูรายการบริการ Windows ทั้งหมดก็สามารถทำได้สะดวก คุณสามารถวินิจฉัยปัญหาเกี่ยวกับฟังก์ชันระบบที่สำคัญหรือหยุดบริการของ Microsoft ที่ไม่จำเป็นเพื่อปรับปรุงประสิทธิภาพได้
เพื่อจุดประสงค์นี้ PowerShell คือตัวเลือกที่ดีที่สุด แม้ว่าคุณจะสามารถรับรายการบริการใน Command Prompt ได้ แต่ฟังก์ชันเพิ่มเติมที่ได้รับจาก PowerShell จะมีประโยชน์มากกว่า
คุณสามารถใช้ PowerShell cmdlets เพื่อรับสถานะการบริการของกระบวนการ Windows โดยกรองตามสถานะหรือพารามิเตอร์อื่นๆ นอกจากนี้ยังง่ายต่อการกำหนดบริการที่ต้องพึ่งพาและเริ่มหรือหยุดบริการเหล่านั้นตามต้องการ