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

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-Service cmdlet เพื่อเปลี่ยนประเภทการเริ่มต้นของบริการ
  • บริการบางอย่าง เช่น Performance Logs and Alerts (SysmonLog) จะหยุดโดยอัตโนมัติหากไม่มีงานให้ทำ เมื่อ PowerShell เริ่มบริการที่หยุดตัวเองเกือบจะในทันที ก็จะแสดงข้อความต่อไปนี้: บริการ \ การเริ่มต้นล้มเหลว

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