Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> การบำรุงรักษาคอมพิวเตอร์

ควบคุมบริการที่กำลังทำงานด้วยคำสั่ง SC [Windows]

หนึ่งในสิ่งที่ผมทำบ่อยขึ้นมากตั้งแต่เข้าสู่สาย IT คือ ตรวจสอบและตรวจสอบสถานะของบริการที่ทำงานบนคอมพิวเตอร์ทั่วบริษัท

มีวิธีมาตรฐานในการจัดการบริการที่ส่วนใหญ่ใช้ เพราะรู้จักกันดีและง่าย นั่นคือเข้าไปที่ Administrative controls หรือ Control Panel หา Services utility และทำสิ่งที่ต้องการ

หากคุณต้องการจัดการบริการที่รันบนคอมพิวเตอร์หรือเซิร์ฟเวอร์อื่นบนเครือข่าย คุณต้องไปที่ Computer Management เชื่อมต่อเครื่องระยะไกล แล้วจัดการบริการเหล่านั้น

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

ควบคุมบริการจากบรรทัดคำสั่ง

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

จนถึงตอนนี้ คุณอาจจัดการบริการบนเครื่องไคลเอนต์บนเครือข่ายด้วย Services utility มาตรฐาน นี่คือเครื่องมือ Services ที่เปิดในส่วน Administrative Tools ของ Control Panel

ควบคุมบริการที่กำลังทำงานด้วยคำสั่ง SC [Windows]

ใน Admin Tools คุณสามารถไป Services tool โดยตรง หรือเปิด Computer Management หากต้องการเข้าถึงคอมพิวเตอร์อื่นบนเครือข่าย

ควบคุมบริการที่กำลังทำงานด้วยคำสั่ง SC [Windows]

เพื่อเข้าถึงคอมพิวเตอร์อื่น ให้คลิก Action, "Connect to Another Computer" และพิมพ์ชื่อเครือข่ายของคอมพิวเตอร์

ควบคุมบริการที่กำลังทำงานด้วยคำสั่ง SC [Windows]

จากนั้นคุณสามารถเปิด Services tool ได้

วิธีที่ง่ายกว่าในการจัดการบริการ

ดีแล้ว นั่นคือวิธียาว วิธีสั้นและเร็วกว่าคือ ใช้คำสั่ง "SC"

คุณคุ้นเคยกับคำสั่ง NET คงหนีไม่พ้น คำสั่ง SC คล้าย NET เกือบหมด แตมันสามารถสร้างบริการได้อีก ด้วยการตรวจสอบ หยุด และเริ่ม ได้ดีที่สุดคือ คุณสามารถออกคำสั่ง SC ต่อคอมพิวเตอร์อื่นผ่านเครือข่าย (สมมติว่าคุณมีสิทธิ์แอดมิน)

การทำ SC query ต่อคอมพิวเตอร์จะให้บริการที่ติดตั้งทั้งหมดและว่ากำลังรันอยู่หรือไม่ เมื่อคุณออกคำสั่ง "SC \\**computer-name** query |more" - คุณจะได้ผลลัพธ์ดังนี้

ควบคุมบริการที่กำลังทำงานด้วยคำสั่ง SC [Windows]

ตามที่เห็น นี่ให้สถานะของบริการ ประเภทของบริการ และพารามิเตอร์อื่นๆ สำหรับการฝึกของเรา เราจะสนใจแค่สถานะของบริการ

หากคุณอยากแสดงเฉพาะบริการที่ไม่ได้รัน (stopped) ให้ออกคำสั่ง "SC \\**computer-name** query state= "inactive" |more"

ส่วน |more ของคำสั่ง ทำให้เอาต์พุทหยุดที่แต่ละหน้าจอเพื่อให้คุณเลื่อนดู

ควบคุมบริการที่กำลังทำงานด้วยคำสั่ง SC [Windows]

ตามที่เห็น บริการเหล่านั้นหยุดทั้งหมด ตอนนี้ แทนที่จะต้องขุดหาในบริการทั้งหมด หากคุณรู้ชื่อบริการ คุณสามารถออกคำสั่ง "SC \\**computer-name** query **service-name**" ได้เลย

ควบคุมบริการที่กำลังทำงานด้วยคำสั่ง SC [Windows]

นั่นจะรายงานสถานะปัจจุบันของบริการนั้นอย่างเดียว เพื่อหยุดบริการจากระยะไกล แค่สั่ง stop "SC \\**computer-name** stop **service-name**"

ควบคุมบริการที่กำลังทำงานด้วยคำสั่ง SC [Windows]

เอาต์พุทจะแสดงสถานะ "STOP-PENDING" แตหลังจากสักครู่ หากคุณ query บริการนั้นอีกครั้ง จะเห็นว่ามันไม่ได้รันแล้ว คุณสามารถเริ่มมันได้ด้วยคำสั่งเดียวกัน แตเปลี่ยน "stop" เป็น "start"

สร้างสคริปต์เพื่อ Query, Stop หรือ Start บริการใดๆ

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

เมื่อคุณรันสคริปต์นี้ มันจะถามชื่อบริการที่คุณต้องการหยุดหรือเริ่ม

ควบคุมบริการที่กำลังทำงานด้วยคำสั่ง SC [Windows]

แล้วถามว่าต้องการหยุดหรือเริ่มบริการ

ควบคุมบริการที่กำลังทำงานด้วยคำสั่ง SC [Windows]

ใช้คำสั่ง ">> c:\temp\results.txt" มันจะส่งออกผลลัพธ์และข้อผิดพลาดของการหยุดและเริ่มไปที่ไฟล์ข้อความ ที่คุณสามารถใช้ดูว่าคำสั่งทำงานหรือไม่

เมื่อผมรันสคริปต์ข้างต้น ผมตามด้วย query ด่วนของบริการก่อนและหลังรันสคริปต์

ควบคุมบริการที่กำลังทำงานด้วยคำสั่ง SC [Windows]

ตามที่เห็น บริการที่ผมหยุด - helpsvc - กำลังรัน ผมรัน Windows Script หยุดมัน query อีกครั้ง และมันหยุดแล้ว

หากคุณอยาก fancy มากขึ้น คุณสามารถเพิ่มส่วนในสคริปต์ที่ส่งออกบริการที่ติดตั้งทั้งหมดบน PC ไปที่ไฟล์ข้อความ ที่คุณสามารถทบทวนก่อนตัดสินใจว่าจะหยุดหรือเริ่มบริการไหน คำสั่งสำหรับนั้นคือ "sc \\" & strComputer & " query > c:\temp\services.txt".

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

คุณคิดว่าคำสั่ง SC จะช่วยคุณได้ไหม? สคริปต์อัตโนมัติที่รันคำสั่งนี้เป็นไง? แชร์ความคิดและความคิดเห็นในส่วนความคิดเห็นด้านล่าง

เครดิตรูปภาพ: Shutterstock