[이슈]

OWA에서는 상단의 검색 창 또는 더 정교한 검색을 위해 검색 필터를 통해 메일 항목을 검색할 수 있습니다.

아래 이미지는 각각 [‘상단의 검색창 검색 방식()] /  [‘검색 필터 – 보낸/받는 사람’ 으로 검색 방식()]입니다.

아래에 안내된 동작 방식의 차이로 인해 아래 이미지와 같이 Display Name에 ")"가 1개 포함된 경우 OWA에서 검색 필터로 해당 사용자를 보낸 사람 또는 받는 사람으로 추가하여 메일 항목을 검색하면 메일 항목이 검색되지 않습니다.

 

[동작 방식]

위 일반 검색 창과 검색 필터를 통한 검색 동작 방식에는 차이가 있는데 [‘검색 필터 – 보낸/받는 사람’ 으로 검색 방식(우)]을 사용하여 검색 시에 Json 로그를 살펴보면 "SearchTerms" 배열에 좀 더 정교한 검색어가 포함되어 있습니다.

아래 이미지의 왼쪽은 상단 일반 검색 / 오른쪽은 검색 필터로 검색한 Fiddler Json 로그입니다.

자세히 보면 왼쪽 일반 검색 로그에서 자동으로 쿼리구조상 방해가 되는 괄호“)”를 제거 후 검색하는 방식으로 동작하는 것을 확인할 수 있습니다.

QueryString을 자세히 확인하면 사용자 Display Name에 ")" 괄호가 포함되어있는 경우, ‘검색 필터 – 보낸/받는 사람’ 으로 해당 사용자 메일 항목을 검색하면 원래는 호출 구문이 "QueryString": "(from:() OR from:())"가 정상 요청 형태인데 괄호가 추가됨으로 인해 "QueryString": "(from:()) OR from:())"로 구조가 변조되면서 메일 항목이 검색되지 않는 것입니다.

아래는 일반 검색(상단)에서 검색한 QueryString 호출 구문

아래는 검색 필터를 통해 검색한 QueryString 호출 구문 - ")"가 포함되어 검색됩니다.

[해결 방안]

이런 경우는 사용자 Display Name에서 괄호를 제거하여 정상적으로 검색 필터 기능을 통해 사용자 메일 항목을 검색하게 하거나, Display Name에 "("를 아래와 같이 추가해주면 호출 구문이 변조되지 않고 문자로 인식되어 정상적으로 메일 항목이 검색되게 할 수 있습니다.

이전에 사용되던 Exchange Online PowerShell V1 모듈에서는 New-PSSession 명령어를 실행하여 Exchange Online에 연결하는 방식을 사용했으나, Exchange Online PowerShell V2, V3 최신 모듈에서는 이전에 사용되던 New-PSSession 명령어 대신 Connect-IPPSSession 명령어를 사용하여 세션을 생성하고 사용할 있습니다.

 

아래 가이드를 참고하여 현재 V2 이상 모듈인지 확인하신 진행해 보시기 바랍니다.
1.현재 ExchangeOnlineManagement 모듈 버전을 확인합니다.

Get-Module ExchangeOnlineManagement

참고 : Exchange Online PowerShell V2 모듈 및 V3 모듈 정보 | Microsoft Learn

 

 

2.자격 증명 인증 후 Exchange Online에 연결합니다.

$usercredential = Get-Credential

Connect-IPPSSession -Credential $usercredential -ConnectionUri https://outlook.office365.com/powershell-liveid/

참고 : Connect-IPPSSession (ExchangePowerShell) | Microsoft Learn

 

3.배포 그룹의 속성 설정 후 변경된 정보를 확인합니다.

set-DistributionGroup -Identity 'shtest@spitz.cloud' -CustomAttribute1 'shtest'

get-DistributionGroup -Identity 'shtest@spitz.cloud' | fl

 

4.Connect-IPPSSession 명령어 실행 오류 있을 경우, WinRM 설정을 확인해 보시기 바랍니다.

자세한 내용 참고 : WinRM에서 기본 인증 켜기

winrm quickconfig (테스트 PC 이미 설정되어 있기 때문에 아래와 같이 표시됩니다.)

winrm get winrm/config/client/auth

+ Recent posts