2012-12-14 16 views
46

Có một số dịch vụ cửa sổ được lưu trữ có tên hiển thị bắt đầu bằng tên thông thường (ở đây là NATION). Ví dụ:Làm thế nào để có được tất cả các tên dịch vụ Windows bắt đầu bằng một từ chung?

  • NATION-CITY
  • NATION-NHÀ NƯỚC
  • NATION-Village

Có một số lệnh để có được tất cả các dịch vụ như 'quốc gia nào'. Cuối cùng tôi cần phải dừng lại, khởi động và khởi động lại các dịch vụ đó bằng cách sử dụng lệnh promt.

+0

Powershell được cài đặt trong máy tính của bạn? Máy chủ hoặc máy trạm? VÌ THẾ ? – Kiquenet

Trả lời

106

Got nó :)

sc queryex type= service state= all | find /i "NATION" 
  • sử dụng /i đối với trường hợp tìm kiếm không nhạy cảm
  • khoảng trắng sau type= là cố ý và yêu cầu
+3

btw, tìm thấy phân biệt chữ hoa chữ thường, để thực hiện tìm kiếm tốt hơn, hãy sử dụng find/i "Nation" http://www.microsoft.com/resources/documentation/windows /xp/all/proddocs/en-us/find.mspx?mfr=true – fedmich

+1

nhớ sử dụng dấu cách sau type = và state =, tôi không: ( –

+2

Lưu ý rằng tìm sẽ tìm kiếm trên tên dịch vụ và cũng hiển thị tên - Để lọc chỉ tên dịch vụ: 'sc queryex type = service state = all | find/i" SERVICE_NAME: NATION "';). –

16

Sử dụng PowerShell, bạn có thể sử dụng sau đây

Get-Service | Where-Object {$_.displayName.StartsWith("NATION-")} | Select name 

này sẽ hiển thị một danh sách tất cả các dịch vụ mà tắt DisplayName bắt đầu với "quốc gia nào".

Bạn cũng có thể trực tiếp dừng hoặc bắt đầu dịch vụ;

Get-Service | Where-Object {$_.displayName.StartsWith("NATION-")} | Stop-Service 
    Get-Service | Where-Object {$_.displayName.StartsWith("NATION-")} | Start-Service 

hoặc đơn giản là

Get-Service | Where-Object {$_.displayName.StartsWith("NATION-")} | Restart-Service 
+0

Cảm ơn Wimmel đã trả lời, nhưng thay vì shell scripting tôi đang tìm kiếm để tạo một tệp .cmd đơn giản. một số lệnh như SC STOP SERVICE_STARTS_WITH ("NATION-") –

-2

Lưu nó như là một file .ps1 và sau đó thực hiện

powershell -file "path\to your\start stop nation service command file.ps1"