Start-Service (Microsoft.PowerShell.Management)
Start-Service
- โมดูล :
- Microsoft.PowerShell.Management
เริ่มบริการที่หยุดอย่างน้อยหนึ่งรายการ
ไวยากรณ์
Start-Service
[-InputObject] <ServiceController[]>
[-PassThru]
[-Include <String[]>]
[-Exclude <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Start-Service
[-Name] <String[]>
[-PassThru]
[-Include <String[]>]
[-Exclude <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Start-Service
[-PassThru]
-DisplayName <String[]>
[-Include <String[]>]
[-Exclude <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]คำอธิบาย
cmdlet นี้ใช้ได้เฉพาะบนแพลตฟอร์ม Windows เท่านั้น
Start-Service cmdlet ส่งข้อความเริ่มต้นไปยัง Windows Service Controller สำหรับแต่ละบริการที่ระบุ หากบริการกำลังทำงานอยู่ ข้อความจะถูกละเว้นโดยไม่มีข้อผิดพลาด คุณสามารถระบุบริการตามชื่อบริการหรือชื่อที่แสดง หรือคุณสามารถใช้พารามิเตอร์ InputObject เพื่อระบุวัตถุบริการที่แสดงถึงบริการที่คุณต้องการเริ่มต้น
ตัวอย่าง
ตัวอย่างที่ 1: เริ่มบริการโดยใช้ชื่อของมัน
ตัวอย่างนี้เริ่มบริการ EventLog บนเครื่องคอมพิวเตอร์ พารามิเตอร์ ชื่อ ระบุบริการตามชื่อบริการ
Start-Service -Name "eventlog"ตัวอย่างที่ 2: แสดงข้อมูลโดยไม่ต้องเริ่มบริการ
ตัวอย่างนี้แสดงสิ่งที่จะเกิดขึ้นหากคุณเริ่มบริการที่มีชื่อที่แสดงซึ่งมีคำว่า "ระยะไกล"
Start-Service -DisplayName *remote* -WhatIf
พารามิเตอร์ DisplayName ระบุบริการด้วยชื่อที่แสดง แทนที่จะเป็นชื่อบริการ พารามิเตอร์ WhatIf ทำให้ cmdlet แสดงสิ่งที่จะเกิดขึ้นเมื่อคุณเรียกใช้คำสั่งแต่ไม่ได้ทำการเปลี่ยนแปลง
ตัวอย่างที่ 3: เริ่มบริการและบันทึกการดำเนินการในไฟล์ข้อความ
ตัวอย่างนี้เริ่มบริการ Windows Management Instrumentation (WMI) บนคอมพิวเตอร์และเพิ่มบันทึกการดำเนินการลงในไฟล์ services.txt
$s = Get-Service wmi
Start-Service -InputObject $s -PassThru | Format-List >> services.txtอันดับแรก เราใช้ Get-Service เพื่อรับออบเจ็กต์ที่แสดงถึงบริการ WMI และจัดเก็บไว้ในตัวแปร $s ต่อไปเราจะเริ่มบริการ หากไม่มีพารามิเตอร์ PassThru Start-Service จะไม่สร้างเอาต์พุตใดๆ ตัวดำเนินการไปป์ไลน์ (|) ส่งผ่านเอาต์พุตของวัตถุโดย Start-Service ไปยัง Format-List cmdlet เพื่อจัดรูปแบบวัตถุเป็นรายการของ คุณสมบัติ. ตัวดำเนินการเปลี่ยนเส้นทางผนวก (>>) เปลี่ยนเส้นทางผลลัพธ์ไปยังไฟล์ services.txt ผลลัพธ์จะถูกเพิ่มต่อท้ายไฟล์ที่มีอยู่
ตัวอย่างที่ 4: เริ่มบริการที่ถูกปิดใช้งาน
ตัวอย่างนี้แสดงวิธีการเริ่มบริการเมื่อประเภทการเริ่มต้นของบริการเป็น ปิดใช้งาน
PS> Start-Service tlntsvr
Start-Service : Service 'Telnet (TlntSvr)' cannot be started due to the following error: Cannot start service TlntSvr on computer '.'.
At line:1 char:14
+ Start-Service <<<< tlntsvr
PS> Get-CimInstance win32_service | Where-Object Name -eq "tlntsvr"
ExitCode : 0
Name : TlntSvr
ProcessId : 0
StartMode : Disabled
State : Stopped
Status : OK
PS> Set-Service tlntsvr -StartupType manual
PS> Start-Service tlntsvrความพยายามครั้งแรกในการเริ่มบริการ Telnet (tlntsvr) ล้มเหลว คำสั่ง Get-CimInstance แสดงว่าคุณสมบัติ StartMode ของบริการ Tlntsvr นั้น ปิดใช้งาน Set-Service cmdlet เปลี่ยนประเภทการเริ่มต้นเป็น Manual ตอนนี้ เราสามารถส่งคำสั่ง Start-Service อีกครั้งได้ คราวนี้คำสั่งสำเร็จ หากต้องการตรวจสอบว่าคำสั่งสำเร็จ ให้เรียกใช้ Get-Service
พารามิเตอร์
-Confirm
แจ้งให้คุณยืนยันก่อนเรียกใช้ cmdlet
- พิมพ์ :
SwitchParameter
- นามแฝง :
cf
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
False
- ที่จำเป็น:
-
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-DisplayName
ระบุชื่อที่แสดงของบริการที่จะเริ่มต้น อนุญาตให้ใช้อักขระตัวแทนได้
- พิมพ์ :
String[]
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
True
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
True
-Exclude
ระบุบริการที่ cmdlet นี้ละเว้น ค่าของพารามิเตอร์นี้มีคุณสมบัติตรงตามพารามิเตอร์ ชื่อ ป้อนองค์ประกอบหรือรูปแบบชื่อ เช่น s* อนุญาตให้ใช้อักขระตัวแทนได้
- พิมพ์ :
String[]
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
True
-Include
ระบุบริการที่ cmdlet นี้เริ่มทำงาน ค่าของพารามิเตอร์นี้มีคุณสมบัติตรงตามพารามิเตอร์ ชื่อ ป้อนองค์ประกอบหรือรูปแบบชื่อ เช่น s* อนุญาตให้ใช้อักขระตัวแทนได้
- พิมพ์ :
String[]
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
True
-InputObject
ระบุออบเจ็กต์ ServiceController ที่แสดงถึงบริการที่จะเริ่มต้น ป้อนตัวแปรที่มีวัตถุ หรือพิมพ์คำสั่งหรือนิพจน์ที่ได้รับวัตถุ
- พิมพ์ :
ตัวควบคุมบริการ[]
- ตำแหน่ง:
0
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
True
- ยอมรับอินพุตไปป์ไลน์:
True
- ยอมรับอักขระตัวแทน:
False
-Name
ระบุชื่อเซอร์วิสสำหรับเซอร์วิสที่จะเริ่มต้น
ชื่อพารามิเตอร์เป็นทางเลือก คุณสามารถใช้ ชื่อ หรือชื่อแทน ชื่อบริการ หรือจะละชื่อพารามิเตอร์ก็ได้
- พิมพ์ :
String[]
- นามแฝง :
ServiceName
- ตำแหน่ง:
0
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
True
- ยอมรับอินพุตไปป์ไลน์:
True
- ยอมรับอักขระตัวแทน:
False
-PassThru
ส่งกลับวัตถุที่แสดงถึงบริการ ตามค่าเริ่มต้น cmdlet นี้ไม่สร้างผลลัพธ์ใดๆ
- พิมพ์ :
SwitchParameter
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-WhatIf
แสดงสิ่งที่จะเกิดขึ้นหาก cmdlet ทำงาน cmdlet ไม่ทำงาน
- พิมพ์ :
SwitchParameter
- นามแฝง :
wi
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
False
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
อินพุต
ตัวควบคุมบริการ
คุณสามารถไปป์วัตถุบริการไปยัง cmdlet นี้
สตริง
คุณสามารถไปป์สตริงที่มีชื่อบริการไปยัง cmdlet นี้
เอาท์พุต
ไม่มี
ตามค่าเริ่มต้น cmdlet นี้จะส่งกลับไม่มีผลลัพธ์
ตัวควบคุมบริการ
เมื่อคุณใช้พารามิเตอร์ PassThru cmdlet นี้จะส่งคืนออบเจ็กต์ ServiceController ที่แสดงถึงบริการ
หมายเหตุ
PowerShell มีนามแฝงต่อไปนี้สำหรับ Start-Service:
Windows:
sasv
cmdlet นี้ใช้ได้เฉพาะบนแพลตฟอร์ม Windows เท่านั้น
Start-Serviceสามารถควบคุมบริการได้ก็ต่อเมื่อผู้ใช้ปัจจุบันมีสิทธิ์ในการดำเนินการนี้ หากคำสั่งทำงานไม่ถูกต้อง คุณอาจไม่มีสิทธิ์ที่จำเป็น- หากต้องการค้นหาชื่อบริการและชื่อที่แสดงของบริการในระบบของคุณ ให้พิมพ์
Get-Serviceชื่อบริการปรากฏในคอลัมน์ ชื่อ และชื่อที่แสดงปรากฏในคอลัมน์ ชื่อที่แสดง - คุณสามารถเริ่มได้เฉพาะบริการที่มีประเภทการเริ่มต้นเป็น Manual, Automatic หรือ Automatic (Delayed Start) คุณไม่สามารถเริ่มบริการที่มีประเภทการเริ่มต้นเป็นปิดใช้งานได้ หากคำสั่ง
Start-Serviceล้มเหลวโดยมีข้อความไม่สามารถเริ่มบริการ \ให้ใช้บนคอมพิวเตอร์ Get-CimInstanceเพื่อค้นหา ประเภทการเริ่มต้นของบริการ และหากจำเป็น ให้ใช้Set-Servicecmdlet เพื่อเปลี่ยนประเภทการเริ่มต้นของบริการ - บริการบางอย่าง เช่น Performance Logs and Alerts (SysmonLog) จะหยุดโดยอัตโนมัติหากไม่มีงานให้ทำ เมื่อ PowerShell เริ่มบริการที่หยุดตัวเองเกือบจะในทันที ก็จะแสดงข้อความต่อไปนี้:
บริการ \การเริ่มต้นล้มเหลว