[Exchange] 사용자 사서함 폴더 확인
get-mailbox -RecipientTypeDetails usermailbox -ResultSize unlimited | Get-mailboxFolderStatistics -FolderScope Inbox | GroupInbox, 현재 보이는 사용자 사서함 기준 전체 폴더 수량
get-mailbox -RecipientTypeDetails usermailbox -ResultSize unlimited | Where {$_.HiddenFromAddressListsEnabled -eq $False} | Get-mailboxFolderStatistics -FolderScope Inbox | Group사용자별 사서함 폴더 카운트
$Mailboxes = Get-Mailbox $Results = foreach( $Mailbox in $Mailboxes ){ $Folders = $MailBox | Get-MailboxFolderStatistics | Measure-Object | Select-Object -ExpandProperty Count New-Object -TypeName PSCustomObject -Property @{ Username = $Mailbox.Alias FolderCount = $Folders } } $Results | Select-Object -Property Username, FolderCount출처 : https://community.spiceworks.com/topic/1824271-use-get-mailboxfolderstatistics-to-get-total-folder-count
554 5.6.0 STOREDRV.Submit.Exception:PropertyTooBigException; Failed to process message due to a permanent exception with message 메세지 관련
XXXXX@redplug.co.kr Remote Server returned '554 5.6.0 STOREDRV.Submit.Exception:PropertyTooBigException; Failed to process message due to a permanent exception with message . [0x1039001f] PR_INTERNET_REFERENCES . PropertyTooBigException: . [0x1039001f] PR_INTERNET_REFERENCES .' 원본 메시지 머리글: Received: from mail01.redplug.co.kr ([]) by mail01.redplug.co.kr ([]) with mapi id 15.00.1395.000; Thu, 24 Oct 2019 11:27:10 +0900 MIME-Version: 1.0 Content-Type: text/plain Date: Thu, 24 Oct 2019 11:27:10 +0900 X-MS-Exchange-Transport-FromEntityHeader: Hosted Message-ID: <> Subject: |
상기와 같이 오류가 발생하며 메일 발송이 불가한 케이스는 PR_INTERNET_REFERENCES값이 64kb값이 넘어가게 되면 메일 발송오류가 나게끔 by design 된 항목입니다.
PR_INTERNET_REFERENCES 값은 FW 혹은 RE를 반복하게 되면 message-id값이게끔 설정되어 있으며 무한 반복되는 FW RE를 제한하기 위해 설정된 값입니다.
신규로 메일을 작성하게 되면 해당 값이 초기화 되기 때문에 해당 방법으로 안내 해주시면 됩니다.
감사합니다
[Exchange] 동적 그룹 생성하기
## Exchange 2013, Powershell ## 그룹 명칭 $Name = "Dymailgroup" ## DL 생성 위치 $GroupOU = "redplug.co.kr/Groups" ## 맴버로 포함할 계정위치(하위 OU까지 포함) $MemberOU = "redplug.co.kr/Users"
## 동적그룹 생성, Title 기준 (필요 시 필터 변경) New-DynamicDistributionGroup -Name $Name -RecipientFilter {(Title -eq '팀장' -or Title -eq '실장')} -OrganizationalUnit $GroupOU -RecipientContainer $MemberOU
## 리스트 확인 명령어 $Members = Get-DynamicDistributionGroup -Identity $Name Get-DynamicDistributionGroup $Members | ForEach {Get-Recipient -RecipientPreviewFilter $_.RecipientFilter -OrganizationalUnit $_.RecipientContainer} | Select DisplayName,PrimarySMTPAddress | Format-Table |
Get-DynamicDistributionGroup 으로 명단 확인 시 RecipientContainer적용이 안되서 전체 사서함이 다보이는 경우가 있는데 상기 명령어로 구분해서 확인 가능 (메일 수신 구분까지 확인)
Exchange Health Check Scripts
한글 Exchange용으로 일부 글자만 수정
출처 :
https://practical365.com/exchange-server/powershell-script-exchange-server-health-check-report/
Search-Mailbox SearchQuery
1. 서치 할 경우
Search-Mailbox -identity "redplug" -SearchQuery 'kind:meetings AND Subject:"미팅제목" AND sent:08/27/2019..01/01/2020"' -TargetMailbox redtest -TargetFolder "받은 편지함" |
* AND는 대문자로 작성하여야 함.
* 서치한 결과 값이 Targetmailbox에 저장, PST 지정도 가능(?)
2. 삭제 할 경우
Search-Mailbox -identity "redplug" -SearchQuery 'kind:meetings AND Subject:"미팅제목" AND sent:08/27/2019..01/01/2020"' -DeleteContent |
쿼리 속성 값 관련 정리 되있는 링크
Search-Mailbox (Exchange 2013, 2016, 2019, Online): Attributes
https://www.codetwo.com/admins-blog/search-mailbox-exchange-2013-2016-online-attributes/
원래 목적은 특정시점 이후에 대한 등록 된 캘린더 삭제를 하고 싶어서 확인 한 사항이었으나
일정이 아닌 등록한 시점으로 서치 및 삭제가 가능 하여 사용불가.
추가로 확인해보니 Remove-CalendarEvents cmdlet가 있었으나 Online만 지원하는 것으로 파악되서 사용하지 못함.(Exchange 2019 지원되는 것 같으나 미확인)
Exchange Mail Queue Check
for(){get-date;get-queueDigest -dag dagName | ft;sleep 60} |
특정 범위 내에 있는 큐 상태를 집계해서 보여줌 10개 이상 포함된 배달 큐를 표시, 문제 있는 DB에 대해서 종합해서 보기 편함.
for() {get-exchangeserver | Where-Object {$_.ServerRole -eq "Mailbox, ClientAccess"} | get-queue -Filter {MessageCount -gt 10} | ft;sleep 60} Get-Queue -Server Mailbox01 -Exclude Empty
|
각 서버 별로 개별적으로 전체적인 현황을 보기위함. 필요에 따라 필터링 가능 QueueDigest보다 상세하게 표기 됨.
Get-QueueDigest Microsoft Docs
Outlook 2016 복사시 본문내용이 공백으로 혹은 첨부파일이 0byte로 표시되는 경우
Outlok 2016 초기 버젼 문제로 패치 시 해결 가능
https://www.microsoft.com/ko-kr/download/details.aspx?id=53770
https://www.microsoft.com/ko-kr/download/details.aspx?id=53789
OWA(Outlook Web Access) 에서 메일(eml) 다운로드 받기
Exchange 2013 기준입니다.
Outlook을 사용할 경우 드래그로 간단하게 메일 다운로드가 가능하나
OWA상에서는 다운로드가 어렵습니다.
하기는 다운로드 하는 방법을 설명합니다.
OWA > 새 메일 > 우측 상단에 "별도 창에서 열기" 를 이용하여 창을 분리 > 첨부하고자 하는 메일을 새 메일 창에 드래그 앤 드롭 > 해당 첨부파일을 우클릭 "다른 이름으로 링크 저장" > 저장 시 확장자는 eml로 저장
감사합니다.
SMTP telnet 테스트
Telnet mail.test.com 25
EHLO test.com
MAIL FROM:test@test.com
RCPT TO:test2@test2.com
DATA
SUBJECT:Test Mail
This is Test Mail
.
DL별 메일 수신 정리용 스크립트
전일자 기준 일주일간 DL메일 수신 리스트 Export
예약작업에 등록하여 사용
# Exchange management Shell Connect # . 'D:\Exchange Server\V15\bin\RemoteExchange.ps1' Connect-ExchangeServer -auto $StartDay = (Get-Date).AddDays(-7).ToString("yyyy-MM-dd") $EndDay = (Get-Date) $EndDayprint = (Get-Date).AddDays(-1).ToString("yyyy-MM-dd") $Path = "C:\Work\Scripts\DLReceive\Export" get-exchangeserver | Get-MessageTrackingLog -start $StartDay -End $EndDay.ToString("yyyy-MM-dd") -ResultSize unlimited -eventid ` expand | select Timestamp,RelatedRecipientAddress,Sender,MessageSubject | export-csv -Encoding UTF8 -Path $Path\DLReceive_$StartDay"_"$EndDayprint.csv -NoTypeInformation get-childitem -path "c:\work\Scripts\DLCleanUp\Export" -exclude childitem.txt -name > "$Path\childitem.txt" $From = "notice@redplug.com" $To = "redplug@redplug.com" $SmtpServer = "mail.redplug.com" $Subject = "[AutoJob] $EndDay DLReceiveListExport End" $Body = get-content -path "$Path\Childitem.txt" | Out-String Send-MailMessage -From $From -To $To -SmtpServer $SmtpServer -Subject $Subject -Body $Body |
DL 리스트 정리
# Exchange management Shell Connect # . 'D:\Exchange Server\V15\bin\RemoteExchange.ps1' Connect-ExchangeServer -auto # 작업 날짜 $Date = (Get-date).toString("yyyyMMdd") # Export path $Path = "C:\Work\Scripts\DLReceive\Export" get-DistributionGroup -resultsize unlimited -filter {HiddenFromAddressListsEnabled -eq "False"} | ` Select SamAccountName, OrganizationalUnit,DisplayName,` HiddenFromAddressListsEnabled,WindowsEmailAddress,WhenCreated | ` export-csv -Encoding UTF8 -Path $Path\AllDLList_$Date.csv -NoTypeInformation |