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

Get-Service (Microsoft.PowerShell.Management)


Get-Service

โมดูล :
Microsoft.PowerShell.Management

รับบริการบนคอมพิวเตอร์

ไวยากรณ์

Get-Service
   [[-Name] <String[]>]
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-DependentServices]
   [-RequiredServices]
   -DisplayName <String[]>
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-InputObject <ServiceController[]>]
   [<CommonParameters>]

คำอธิบาย

cmdlet นี้ใช้ได้เฉพาะบนแพลตฟอร์ม Windows เท่านั้น

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

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

ตัวอย่าง

ตัวอย่างที่ 1: รับบริการทั้งหมดบนคอมพิวเตอร์

ตัวอย่างนี้ได้รับบริการทั้งหมดบนคอมพิวเตอร์ มันทำงานเหมือนกับว่าคุณพิมพ์ Get-Service * จอแสดงผลเริ่มต้นจะแสดงสถานะ ชื่อบริการ และชื่อที่แสดงของแต่ละบริการ

Get-Service

ตัวอย่างที่ 2: รับบริการที่ขึ้นต้นด้วยสตริงการค้นหา

ตัวอย่างนี้เรียกบริการที่มีชื่อบริการที่ขึ้นต้นด้วย WMI (Windows Management Instrumentation)

Get-Service "wmi*"

ตัวอย่างที่ 3: แสดงบริการที่มีสตริงการค้นหา

ตัวอย่างนี้แสดงบริการที่มีชื่อที่แสดงซึ่งมีคำว่า เครือข่าย การค้นหาชื่อที่แสดงจะค้นหาบริการที่เกี่ยวข้องกับเครือข่าย แม้ว่าชื่อบริการจะไม่รวม Net เช่น xmlprov ซึ่งเป็นบริการจัดเตรียมเครือข่าย

Get-Service -Displayname "*network*"

ตัวอย่างที่ 4: รับบริการที่ขึ้นต้นด้วยสตริงการค้นหาและการยกเว้น

ตัวอย่างนี้รับเฉพาะบริการที่มีชื่อบริการที่ขึ้นต้นด้วย win ยกเว้นบริการ WinRM

Get-Service -Name "win*" -Exclude "WinRM"

ตัวอย่างที่ 5: บริการแสดงผลที่ใช้งานอยู่ในปัจจุบัน

ตัวอย่างนี้แสดงเฉพาะบริการที่มีสถานะเป็น กำลังทำงานอยู่

Get-Service | Where-Object {$_.Status -eq "Running"}

Get-Service รับบริการทั้งหมดบนคอมพิวเตอร์และส่งออบเจ็กต์ไปตามไปป์ไลน์ Where-Object cmdlet เลือกเฉพาะบริการที่มีคุณสมบัติ สถานะ ที่เท่ากับ กำลังทำงาน

สถานะเป็นเพียงคุณสมบัติของวัตถุบริการเท่านั้น หากต้องการดูคุณสมบัติทั้งหมด ให้พิมพ์ Get-Service | รับสมาชิก.

ตัวอย่างที่ 6: แสดงรายการบริการบนคอมพิวเตอร์ที่มีบริการที่ต้องพึ่งพา

ตัวอย่างนี้รับบริการที่มีบริการที่ต้องพึ่งพา

Get-Service |
  Where-Object {$_.DependentServices} |
    Format-List -Property Name, DependentServices, @{
      Label="NoOfDependentServices"; Expression={$_.dependentservices.count}
    }

Name                  : AudioEndpointBuilder
DependentServices     : {AudioSrv}
NoOfDependentServices : 1

Name                  : Dhcp
DependentServices     : {WinHttpAutoProxySvc}
NoOfDependentServices : 1
...

Get-Service cmdlet รับบริการทั้งหมดบนคอมพิวเตอร์และส่งออบเจ็กต์ไปตามไปป์ไลน์ Where-Object cmdlet เลือกบริการที่มีคุณสมบัติ DependentServices ไม่เป็นค่าว่าง

ผลลัพธ์จะถูกส่งไปตามไปป์ไลน์ไปยัง Format-List cmdlet พารามิเตอร์ คุณสมบัติ จะแสดงชื่อของบริการ ชื่อของบริการที่ต้องพึ่งพา และคุณสมบัติที่คำนวณได้ซึ่งจะแสดงจำนวนบริการที่ต้องพึ่งพาสำหรับแต่ละบริการ

ตัวอย่างที่ 7: จัดเรียงบริการตามมูลค่าทรัพย์สิน

ตัวอย่างนี้แสดงให้เห็นว่าเมื่อคุณจัดเรียงบริการจากน้อยไปหามากตามค่าของคุณสมบัติ สถานะ บริการที่หยุดไว้จะปรากฏขึ้นก่อนที่จะเรียกใช้บริการ สิ่งนี้เกิดขึ้นเนื่องจากค่าของ สถานะ คือการแจงนับ โดยที่ หยุด มีค่า 1 และ กำลังทำงานอยู่ มีค่า 4 สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ServiceControllerStatus

หากต้องการแสดงรายการบริการที่ทำงานอยู่ก่อน ให้ใช้พารามิเตอร์ จากมากไปน้อย ของ Sort-Object cmdlet

Get-Service "s*" | Sort-Object status

Status   Name               DisplayName
------   ----               -----------
Stopped  stisvc             Windows Image Acquisition (WIA)
Stopped  SwPrv              MS Software Shadow Copy Provider
Stopped  SysmonLog          Performance Logs and Alerts
Running  Spooler            Print Spooler
Running  srservice          System Restore Service
Running  SSDPSRV            SSDP Discovery Service
Running  ShellHWDetection   Shell Hardware Detection
Running  Schedule           Task Scheduler
Running  SCardSvr           Smart Card
Running  SamSs              Security Accounts Manager
Running  SharedAccess       Windows Firewall/Internet Connectio...
Running  SENS               System Event Notification
Running  seclogon           Secondary Logon

ตัวอย่างที่ 8: รับบริการที่ขึ้นต่อกันของบริการ

ตัวอย่างนี้ได้รับบริการที่บริการ WinRM ต้องการ ค่าของคุณสมบัติ ServicesDependedOn ของบริการจะถูกส่งกลับ

Get-Service "WinRM" -RequiredServices

ตัวอย่างที่ 9: รับบริการผ่านตัวดำเนินการไปป์ไลน์

ตัวอย่างนี้ได้รับบริการ WinRM บนเครื่องคอมพิวเตอร์ สตริงชื่อบริการที่อยู่ในเครื่องหมายคำพูดจะถูกส่งไปป์ไลน์ไปยัง Get-Service

"WinRM" | Get-Service

พารามิเตอร์

-DependentServices

บ่งชี้ว่า cmdlet นี้ได้รับเฉพาะบริการที่ขึ้นอยู่กับบริการที่ระบุเท่านั้น

พิมพ์ :

SwitchParameter

นามแฝง :

DS

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

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 ที่แสดงถึงบริการที่จะดึงข้อมูล ป้อนตัวแปรที่มีวัตถุ หรือพิมพ์คำสั่งหรือนิพจน์ที่ได้รับวัตถุ คุณสามารถไปป์วัตถุบริการไปยัง cmdlet นี้

พิมพ์ :

ตัวควบคุมบริการ[]

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

True

ยอมรับอักขระตัวแทน:

False

-Name

ระบุชื่อบริการของบริการที่จะดึงข้อมูล อนุญาตให้ใช้ไวด์การ์ดได้

พิมพ์ :

String[]

นามแฝง :

ServiceName

ตำแหน่ง:

0

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

True

ยอมรับอักขระตัวแทน:

True

-RequiredServices

บ่งชี้ว่า cmdlet นี้ได้รับเฉพาะบริการที่บริการนี้ต้องการเท่านั้น พารามิเตอร์นี้รับค่าของคุณสมบัติ ServicesDependedOn ของบริการ

พิมพ์ :

SwitchParameter

นามแฝง :

SDO, ServicesDependedOn

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

False

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

True

อินพุต

ตัวควบคุมบริการ

คุณสามารถไปป์วัตถุบริการไปยัง cmdlet นี้

สตริง

คุณสามารถส่งชื่อบริการไปที่ cmdlet นี้

เอาท์พุต

ตัวควบคุมบริการ

cmdlet นี้ส่งกลับวัตถุที่แสดงถึงบริการบนคอมพิวเตอร์

หมายเหตุ

PowerShell มีนามแฝงต่อไปนี้สำหรับ Get-Service:

  • Windows:

      gsv

cmdlet นี้ใช้ได้เฉพาะบนแพลตฟอร์ม Windows เท่านั้น

เริ่มตั้งแต่ PowerShell 6.0 คุณสมบัติต่อไปนี้จะถูกเพิ่มลงในออบเจ็กต์ ServiceController: ชื่อผู้ใช้, คำอธิบาย, DelayedAutoStart, BinaryPathName และ StartupType

cmdlet นี้สามารถแสดงบริการเฉพาะเมื่อผู้ใช้ปัจจุบันได้รับอนุญาตให้ดูเท่านั้น หาก cmdlet นี้ไม่แสดงบริการ คุณอาจไม่มีสิทธิ์ในการดูบริการเหล่านั้น

หากต้องการค้นหาชื่อบริการและชื่อที่แสดงของแต่ละบริการในระบบของคุณ ให้พิมพ์ Get-Service ชื่อบริการปรากฏในคอลัมน์ ชื่อ และชื่อที่แสดงปรากฏในคอลัมน์ ชื่อที่แสดง

บันทึก

โดยทั่วไปแล้ว Get-Service จะส่งคืนข้อมูลเกี่ยวกับบริการ ไม่ใช่ไดรเวอร์ อย่างไรก็ตาม หากคุณระบุชื่อของไดรเวอร์ Get-Service จะส่งกลับข้อมูลเกี่ยวกับไดรเวอร์นั้น

  • การแจงนับไม่รวมบริการโปรแกรมควบคุมอุปกรณ์
  • เมื่อมีการระบุไวด์การ์ด cmdlet จะส่งคืนบริการ Windows เท่านั้น
  • หากคุณระบุ ชื่อ หรือ ชื่อที่แสดง ที่ตรงกันทุกประการกับชื่อบริการอุปกรณ์ อินสแตนซ์อุปกรณ์ก็จะถูกส่งกลับ

เมื่อคุณเรียงลำดับจากน้อยไปมากตามค่าสถานะ บริการ หยุดแล้ว จะปรากฏก่อนบริการ กำลังทำงาน คุณสมบัติสถานะของบริการคือค่าแจกแจงซึ่งชื่อของสถานะแสดงถึงค่าจำนวนเต็ม การเรียงลำดับจะขึ้นอยู่กับค่าจำนวนเต็ม ไม่ใช่ชื่อ กำลังทำงาน ปรากฏก่อน หยุด เนื่องจาก หยุด มีค่า 1 และ กำลังทำงาน มี ค่า 4 สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ServiceControllerStatus

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