2012-09-25 31 views
7

Tôi cần kéo Đường dẫn thực thi vật lý của tất cả các Dịch vụ Windows trên Bộ máy chủ, chạy trên Win 2k8. Như, phiên bản PowerShell được vận chuyển với hệ điều hành này là 2.0, tôi muốn sử dụng lệnh Get-service thay vì Get-WmiObject. tôi biết rằng tôi có thể kéo các con đường vật lý bằng cách sử dụng lệnh đưa ra dưới đâyCách kéo đường dẫn vật lý của Dịch vụ Windows bằng lệnh Get-Service

$QueryApp = "Select * from Win32_Service Where Name='AxInstSV'" 
$Path = (Get-WmiObject -ComputerName MyServer -Query $QueryApp).PathName 

tôi donot muốn lệnh này để kéo đường dẫn vật lý nhưng muốn sử dụng lệnh Get-Service mà đi kèm với PS phiên bản 2.0.

Mọi trợ giúp sẽ được đánh giá cao.

Trả lời

10

Ngay cả với PowerShell 3, tôi không thấy cách tải ứng dụng này với Dịch vụ nhận.

này 1-liner sẽ giúp bạn có được tên đường dẫn, mặc dù với một chút ít của ưa thích "lọc bỏ" hành vi:

gwmi win32_service|?{$_.name -eq "AxInstSV"}|select pathname 

Hoặc, nếu bạn muốn chỉ là chuỗi tự:

(gwmi win32_service|?{$_.name -eq "AxInstSV"}).pathname 
+0

Mã .NET đó đang thực hiện chính xác mã PowerShell này đang làm gì, chỉ cần chi tiết hơn. – alroc

2

Tôi muốn làm điều gì đó tương tự, nhưng dựa trên tìm kiếm/khớp với đường dẫn của quy trình đang chạy theo dịch vụ, vì vậy tôi đã sử dụng cú pháp Truy vấn WMI cổ điển, sau đó chuyển kết quả thông qua định dạng bảng:

$pathWildSearch = "orton"; 
gwmi -Query "select * from win32_service where pathname like '%$pathWildSearch%' and state='Running'" | Format-Table -Property Name, State, PathName -AutoSize -Wrap 

Bạn được phép biến điều này thành một lớp lót bằng cách bỏ qua xác định và chuyển $ pathWildSearch, hoặc bạn có thể quay lại câu lệnh gwmi để tiếp tục sau dấu chấm phẩy.

0

lẽ chút ít tiết,

wmic service where "name='AxInstSV'" get PathName 

này nên làm việc trên cửa sổ lệnh là tốt, không chỉ PowerShell.


Hoặc khác nếu bạn có tên quá trình bản thân bạn có thể làm:

wmic process where "name='AxInstSV.exe'" get ExecutablePath 

Để đọc con đường quá trình bạn sẽ cần sự cho phép, vì vậy hầu hết là tôi có may mắn hơn với tên dịch vụ.

Các vấn đề liên quan