ค้นหาเว็บไซต์

บริการหยุด PowerShell | เรียนรู้ตัวอย่างของ PowerShell Stop-Service


ข้อมูลเบื้องต้นเกี่ยวกับบริการหยุด PowerShell

Stop-Service cmdlet ใน PowerShell ใช้เพื่อหยุดบริการที่ทำงานอยู่บนเครื่องคอมพิวเตอร์หรือคอมพิวเตอร์ระยะไกล คุณสามารถหยุดบริการหนึ่งหรือหลายบริการพร้อมกันได้ ตัวอย่างเช่น บริการสามารถหยุดได้ด้วยชื่อ ชื่อที่แสดง หรือวัตถุอินพุต

ไวยากรณ์:

คำสั่ง Stop-Service ใช้ไวยากรณ์ด้านล่าง

Stop-Service
[-Force]
[-NoWait]
[-Name] <String[]>
[-InputObject] <ServiceController[]>
[-DisplayName] <String[]>
[-PassThru]
[-Include <String[]>]
[-Exclude <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]

พารามิเตอร์

ต่อไปนี้เป็นพารามิเตอร์ของ PowerShell Stop-Service

1. -ชื่อ

พารามิเตอร์นี้ใช้สำหรับชื่อบริการหรือชื่อนามแฝง คุณสามารถใช้อักขระตัวแทน (*) หากต้องการหยุดบริการต่างๆ คุณสามารถแยกบริการเหล่านั้นด้วยเครื่องหมายจุลภาค (,) ตัวอย่างเช่น บริการ Print Spooler มีชื่อนามแฝง Spooler เช่นเดียวกับบริการอื่นๆ ทั้งหมดที่มีชื่อนามแฝงของตนเอง

2. -ชื่อที่แสดง

เมื่อใช้พารามิเตอร์นี้ คุณจะต้องระบุชื่อที่แสดงของบริการ มันเป็นประเภทข้อมูลสตริง คุณสามารถระบุชื่อที่แสดงได้หลายชื่อโดยคั่นด้วยเครื่องหมายจุลภาค (,) อนุญาตให้ใช้อักขระตัวแทน (*) ตัวอย่างเช่น “Windows Management Instrument ” คือชื่อที่แสดงของชื่อแทนบริการ winmgmt

3. -อินพุตวัตถุ

คุณสามารถให้บริการหลายอย่างเป็นตัวแปรให้กับพารามิเตอร์ออบเจ็กต์อินพุตเพื่อหยุดบริการบนคอมพิวเตอร์ภายในเครื่องและระยะไกล

4. -รวม

พารามิเตอร์นี้ระบุชื่อบริการที่จะรวมไว้เมื่อคุณหยุดบริการใดๆ ค่าของพารามิเตอร์นี้มีคุณสมบัติตรงตามพารามิเตอร์ชื่อ คุณสามารถใช้อักขระตัวแทน (*) ตัวอย่างเช่น เมื่อคุณระบุ S* บริการจะหยุดทั้งหมดที่ขึ้นต้นด้วย S

5. -ไม่รวม

พารามิเตอร์นี้ระบุชื่อบริการที่จะแยกออกเมื่อคุณหยุดบริการใดๆ ค่าของพารามิเตอร์นี้มีคุณสมบัติตรงตามพารามิเตอร์ Name คุณสามารถใช้อักขระตัวแทน (*) ตัวอย่างเช่น เมื่อคุณระบุ S* บริการจะหยุดให้บริการที่เหลือ ไม่รวมบริการที่ขึ้นต้นด้วย S

6. -พาสทรู

ตามค่าเริ่มต้น Stop-Service จะไม่แสดงผลในคอนโซล PowerShell เมื่อคุณใช้พารามิเตอร์นี้ ผลลัพธ์จะแสดงในคอนโซล PowerShell

7. -จะเกิดอะไรขึ้น

เมื่อใช้พารามิเตอร์นี้ จะแสดงการดำเนินการที่จะดำเนินการเมื่อ Stop-Service รัน โดยไม่ต้องรันคำสั่งจริง

8. -ยืนยัน

พารามิเตอร์นี้จะขอความยินยอมจากผู้ใช้ก่อนที่จะหยุดบริการ ตัวเลือกด้านล่างนี้ใช้ได้กับพารามิเตอร์ -Confirm

[Y] ใช่ [A] ใช่ทั้งหมด [N] ไม่ [L] ไม่ใช่ทั้งหมด [S] ระงับ [?] ความช่วยเหลือ (ค่าเริ่มต้นคือ “Y”):

ใช่ (ใช่) - จะหยุดบริการเดียว และหากมีหลายบริการ การตรวจสอบจะทำงานอีกครั้งสำหรับบริการถัดไป

A (ใช่ทั้งหมด) - จะหยุดบริการทั้งหมดที่มีให้ในคำสั่ง Stop-Service

N (ไม่ใช่): จะไม่หยุดบริการเดียว และหากมีหลายบริการ การตรวจสอบจะทำงานอีกครั้งสำหรับบริการถัดไป

L (ไม่ใช่ทั้งหมด): จะไม่หยุดบริการทั้งหมดที่มีให้ในคำสั่ง Stop-Service

S (ระงับ): มันจะข้ามบริการจากการหยุด ซึ่งหมายความว่าจะออกจากบริการในสถานะปัจจุบัน

9. -แรง

การใช้พารามิเตอร์ Force จะหยุดบริการแม้ว่าบริการนั้นจะมีบริการที่ขึ้นอยู่กับการทำงานอยู่ก็ตาม ดังนั้นก่อนอื่นจึงหยุดบริการที่ต้องพึ่งพาและหยุดบริการเองในภายหลัง

10. -ไม่ต้องรอ

เมื่อคุณระบุพารามิเตอร์ -Nowait คอนโซล PowerShell จะไม่รอให้บริการหยุด และการดำเนินการจะย้ายไปยังโค้ดถัดไป

11. -พารามิเตอร์ทั่วไป

พารามิเตอร์ทั่วไปด้านล่างได้รับการสนับสนุนโดย Stop-Service

-รายละเอียด, -Debug, -ErrorAction, -ErrorVariable, -WarningVariable, -WarningAction, -OutBuffer, -OutVariable

ตัวอย่างของบริการหยุด PowerShell

ตัวอย่างต่างๆ มีการกล่าวถึงด้านล่าง:

1. cmdlet หยุดบริการ

เมื่อคุณเพียงแค่เขียน Stop-Service มันจะรอออบเจ็กต์อินพุตดังที่แสดงด้านล่าง วัตถุอินพุตอาจเป็นชื่อนามแฝงบริการ ชื่อที่แสดง หรือ InputObject เช่นเดียวกับตัวแปร

Stop-Service

เอาต์พุต:

2. หยุดบริการด้วยพารามิเตอร์ -Name

คุณระบุชื่อบริการ (ชื่อแทน) หลังพารามิเตอร์ -ชื่อ ได้ Stop-Service cmdlet จะใช้ -ชื่อเป็นพารามิเตอร์เริ่มต้น คุณจะไม่ได้รับผลลัพธ์ใด ๆ ในคอนโซลเมื่อคุณหยุดบริการ คุณต้องใช้คำสั่ง Get-Service เพื่อดึงสถานะของบริการ คุณยังใช้พารามิเตอร์ -PassThru ที่จะอธิบายภายหลังในตัวอย่างต่อๆ ไปได้ด้วย

Stop-Service -Name Spooler
Get-Service Spooler

เอาต์พุต:

คุณสามารถหยุดบริการต่างๆ ได้โดยคั่นด้วยเครื่องหมายจุลภาค (,) ตัวอย่างเช่น,

Stop-Service -Name Spooler, Winmgmt, PlugPlay
Get-Service Spooler, Winmgmt, PlugPlay

เอาต์พุต:

คุณยังสามารถใช้อักขระตัวแทน (*) ได้เช่นกัน

ตัวอย่างเช่น,

Stop-Service -Name Spooler, "Winmg*", "*Plug*" -PassThru

เอาต์พุต:

3. หยุดบริการด้วยพารามิเตอร์ -Passthru

ในตัวอย่างข้างต้น เราพบว่าเราจำเป็นต้องใช้ Get-Service cmdlet เพื่อรับสถานะการบริการ คุณยังสามารถใช้พารามิเตอร์ -Passthru ซึ่งแสดงเอาต์พุตในคอนโซลเอง

Stop-Service -Name Spooler, Winmgmt, PlugPlay -PassThru

เอาต์พุต:

4. หยุดบริการด้วยพารามิเตอร์ -DisplayName

คุณระบุชื่อที่แสดงเป็นอินพุตของ Stop-Service เพื่อหยุดบริการได้

ตัวอย่างเช่น,

Stop-Service -DisplayName "Plug*","Print Spooler" -PassThru

เอาต์พุต:

5. หยุดบริการด้วยพารามิเตอร์ -InputObject

ที่นี่ เราจะจัดเก็บชื่อแทนบริการบางส่วนไว้ในตัวแปรและส่งต่อไปยังพารามิเตอร์ InputObject

$services = "Spooler","Plugplay","Winmgmt"
Stop-Service -InputObject $services -PassThru

เอาต์พุต:

6. หยุดบริการด้วย - รวมพารามิเตอร์

ในตัวแปรที่กำหนดด้านล่าง เราจะต้องหยุดเฉพาะบริการ “Print Spooler” เท่านั้น ดังนั้นเมื่อเราใช้ -รวมพารามิเตอร์ จะรวมเฉพาะบริการตัวจัดคิวเท่านั้น

$services = "Spooler","Plugplay","Winmgmt"
Stop-Service $services -Include "Spoo*" -PassThru

เอาต์พุต:

7. หยุดบริการด้วย -ไม่รวมพารามิเตอร์

ตัวแปรที่ระบุด้านล่างจะไม่รวมบริการ Spooler ดังนั้นอีกสองบริการจะถูกรีสตาร์ทโดยอัตโนมัติ

$services = "Spooler","Plugplay","Winmgmt"
Stop-Service $services -Exclude "Spoo*" -PassThru

เอาต์พุต:

8. หยุดบริการด้วยพารามิเตอร์ -WhatIf

พารามิเตอร์ Whatif จะคาดการณ์การทำงานของคำสั่งโดยไม่ต้องดำเนินการคำสั่งจริงๆ ตัวอย่างแสดงไว้ด้านล่าง

Stop-Service -Name Spooler -WhatIf

เอาต์พุต:

9. หยุดบริการด้วย -ยืนยันพารามิเตอร์

คุณสามารถใช้พารามิเตอร์ -Confirm ที่มีค่าบูลีน ($true หรือ $false) เมื่อคุณระบุ $true บริการจะไม่หยุด แต่จะขอความยินยอมจากผู้ใช้ และหากระบุ $false บริการจะหยุด

Stop-Service -Name Spooler -Confirm:$false -PassThru

เอาต์พุต:

Stop-Service -Name Spooler -Confirm:$true -PassThru

เอาต์พุต:

10. หยุดบริการด้วย -พารามิเตอร์บังคับ

บริการบางอย่างมีบริการที่ต้องพึ่งพา และไม่สามารถหยุดได้โดยตรงโดยไม่ต้องหยุดบริการที่ต้องพึ่งพา ดังนั้นพารามิเตอร์ -Force จะหยุดบริการและบริการที่ขึ้นต่อกัน ตัวอย่างเช่น บริการ Winmgmt

Stop-Service Winmgmt -Force -PassThru

เอาต์พุต:

11. หยุดบริการด้วยพารามิเตอร์ -NoWait

บริการบางอย่างต้องใช้เวลาในการหยุด และการดำเนินการจะหยุดลงจนกว่าจะถึงตอนนั้น ตัวอย่างเช่น พารามิเตอร์ -NoWait จะหยุดทำงานอยู่เบื้องหลัง และการดำเนินการจะย้ายไปยังโค้ดถัดไป

ตัวอย่างเช่น,

Stop-Service Winmgmt -NoWait -PassThru

เอาต์พุต:

บทความที่เกี่ยวข้อง