2016-08-18 5 views
1

PowerShell을 사용하여 텍스트 파일의 특정 문자열을 계산하려면 어떻게합니까? (정상적인 특정 문자열을 어떻게 계산할 수 있는지 알고 있습니다.)와일드 카드로 특정 문자열 계산

내 계획은 도메인 계정을 로그 파일에 포함시키는 것입니다. 스크립트에서 "도메인 *"을 검색해야하지만 어떻게 할 수 있습니까?

예 소스 데이터 :

테스트 요청 도메인 \ User1에 테스트 요청 도메인 \ User1에 테스트 요청 테스트 도메인 \ User2가 테스트

예외 처리 결과 :

  • 2 발견 사용자
  • User1 및 User2
  • ,
나는 고유의 목록을 얻으려면 모든 사용자를 캡처하고 -unique 스위치와 함께 Select-Object cmdlet을 사용하는 정규식을 사용

답변

2

:

$yourString = 'Test request Domain\User1 Test Request Domain\User1 Test Request Test Domain\User2 Test' 
$result = @([regex]::Matches($yourString, 'Domain\\([\S]+)') | ForEach-Object { $_.Groups[1].Value } | select -Unique) 
Write-Host "Found $($result.count) User" 
Write-Host "$($result -join ' and ')" 

출력 :

Found 2 User 
User1 and User2 
+0

이 최고입니다! 감사! RegEx를 사용하여 SA (Domain \ SA_Name1)로 시작하는 서비스 계정을 어떻게 제외시킬 수 있습니까? – LaPhi

+1

부정적인 선견지명을 사용하십시오 :'Domain \\ (? SA) ([\ S] +)' –