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