Tôi có một câu hỏi đơn giản nhưng cũng là người mới bắt đầu trong PowerShell. Tôi nghĩ rằng nó đã làm với thực tế là đầu ra của các lệnh ps là các đối tượng và không phải văn bản.Lọc đầu ra của lệnh như thể đó là văn bản
Điều tôi muốn làm là lấy danh sách các dịch vụ đang chạy có tên "sql" trong đó.
Đây là những gì tôi đã cố gắng cho đến nay nhưng mọi nỗ lực trả về không có gì:
get-service | where {$_ -match 'sql'}
get-service | where {$_ -like 'sql'}
get-service | select-string sql
Tôi đang tìm kiếm một mô hình cho phép tôi đối xử với đầu ra của mỗi lệnh văn bản như tìm kiếm.
Xin chào manojlds, – buckley
Đây là câu trả lời chung mà tôi đang tìm kiếm để tôi đánh dấu câu trả lời của bạn. Để có được một lần nữa cụ thể, đây là cách tôi nghĩ rằng tôi lọc danh sách cho SQL: get-service | out-string | findstr SQL Cũng nên có thể với chuỗi lựa chọn mà tôi nghĩ. @mjolinor Cảm ơn bạn đã làm rõ. Tôi đến từ một đối tượng C# vì vậy tôi biết những lợi thế của cấu trúc cứng nhắc này. Những gì tôi đang tìm kiếm ở đây là một cách nhanh chóng ("scripty"?) Để có được những gì tôi muốn ở dòng lệnh. Tôi đồng ý rằng nếu điều này được yêu cầu trong một kịch bản sản xuất, chúng ta nên sử dụng các đối tượng/thuộc tính vì chúng được bảo trì nhiều hơn – buckley
Một điều cần xem với Out-String là nó cắt ngắn 80 ký tự theo mặc định. Tôi thường làm blah | Out-String -Width 1kb hoặc -Width 10kb để tránh điều này. –