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