"SQL"문자열이 포함 된 설치된 모든 서비스의 이름 (이름 만 표시)을 표시하려고합니다. 예를 들어, 내가문자열 패턴과 일치하는 모든 서비스 이름 표시
- 경우 SQLAgent $ SQL2008_R2을보고 싶어
- SQLBrowser
- SQLWRITER
그래서 나는이 시도 :
이Get-WmiObject Win32_Service
이 모든 서비스를 표시하지만, 목록으로.
Exit Code : 0
Name : ProtectedStorage
ProcessId : 664
StartMode : Manual
State : Running
Status : OK
Exit Code : 1077
Name : QWAVE
ProcessId : 0
StartMode : Manual
State : Stopped
Status : OK
(etc...)
이것은 좋지만 이름을보고 싶습니다. 그래서 입력 :
Get-WmiObject Win32_Service | select-object Name
그리고 내가 기대하는 것을 얻을 :
sppuinotfy
SQLAgent$SQL2008_RT
SQLBrowser
SQLWriter
SSDPSRV
(etc ..)
모두 좋다. SQL 관련 작업 만 포함하도록 이름을 필터링하는 다음 단계를 수행합니다.
Get-WmiObject Win32_Service | select-object Name | select-string -pattern 'SQL'
이제는 혼란 스럽습니다. 여기에 내 결과가 나와 있습니다 :
@{Name=BcmSqlStartupSvc}
@{Name=MSOLAP$SQL2008_R2}
@{Name=MSSQL$SQL2008_R2}
(etc ...)
왜 이름 대신에 출력물이 나옵니까? 이름을 얻으려면 무엇을 입력해야합니까?
Get-WmiObject Win32_Service | Select-Object -ExpandProperty Name |
Select-String -pattern 'SQL'
편집 :
감사합니다. 나의 다음 학습 작업 사이의 차이를 이해하기"를 선택 객체 -ExpandProperty 이름 " 및 "select-object {$ _. Name}" –