Pages

Thursday, December 26, 2019

This message wasn’t delivered to anyone because there are too many recipients


When attempting to send an email to a large amount of recipients, you may see the following error;

 This message wasn’t delivered to anyone because there are too many recipients, the limit is {number}. This message has {number} recipients

To check what the limit is set to launch the Exchange Management Shell, and ecxecute the following command;

Get-TransportConfig
  
To raise the limit (in this example to 2000) use the following command;

Set-TransportConfig -MaxRecipientEnvelopeLimit 2000



Saturday, December 7, 2019

Search-Mailbox

Cần tìm tất các email kuteo gửi ra từ ngày đến ngày, gửi đến ai, cc và bcc. Kết quả search lưu vào họp thư của Daica và folder được tạo là Search_Kuteo


Search-Mailbox Kuteo -SearchDumpster -SearchQuery "(Received:1/18/2012..12/28/2019) AND (To:abc@domain.com OR From:xyx@domain1.com OR CC:tmx@abc.com OR BCC:abc@tmc.com)" -targetmailbox Daica -loglevel full -targetfolder "Search_Kuteo"

Monday, December 2, 2019

Cầu phân áp, chia áp và phần mềm tính toán

Cầu phân áp, chia áp và phần mềm tính toán

   Trong quá trình sửa chữa mạch điện tử ta hay bắt gặp những cầu điện trở phân áp , nhất là trong những mạch hồi tiếp ổn định điện áp ra hoặc những khối nguồn có thể tăng giảm áp trong quá trình làm việc của laptop nói riêng.

Wednesday, September 11, 2019

Convert GUID to User Name

Convert GUID to User Name

In Exchange 2010 event logs referring to user mailboxes tend to be in the format of GUID, this makes it a little difficult in troubleshooting and identifying a problematic mailbox. In exchange it is very simple to translate the GUID to display name in powershell.

Copy the GUID in the event ID and  copy into powershell:

get-mailboxstatistics -Identity | fl


You can just as easily use:
get-mailbox -Identity | fl

However the output list is very extensive and it will take some time to locate displayname.

There are a number of articles on how to convert the GUID via script to retrieve the display name, but the line above does the job extremely quickly especially if you use copy and paste with the GUID.

Connect EXO shell dùng Windows PowerShell

Connect EXO shell dùng Windows PowerShell

# Set-ExecutionPolicy RemoteSigned
# $cred = Get-Credential
# $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $cred -Authentication Basic -AllowRedirection
# Import-PSSession $Session
# Connect-MsolService

Wednesday, July 31, 2019

Mount-Database

1. Restart the Microsoft Exchange Search service from the Services snap-in.
2. Check the free space on the volume, does it has enough space to be able to handle more files generated by indexing?
Mount-Database "database" -AcceptDataLoss -Force

Friday, July 12, 2019

Content Index State Suspended after reseed/Catalogue Update

During my one Project of Exchange 2016 Migration, I was facing strange issue. I was getting issue with Content Index State suspended after reseed/Catalogue update even though I tried to do it again and again. I had no idea what was happening and why.

or

https://docs.microsoft.com/en-us/previous-versions/office/exchange-server-2007/aa995966(v=exchg.80)#to-rebuild-the-full-text-index-catalog-using-the-resetsearchindexps1-script

Thursday, July 11, 2019

Performing Database Switchovers When Indexing is Disabled

[PS] C:>Move-ActiveMailboxDatabase MB-HO-03 -ActivateOnServer HO-EX2010-MB2 -SkipClientExperienceChecks

Wednesday, May 8, 2019

Get a Count of Exchange Server Mailboxes Per Database - Số lượng mailbox trong database

Get a Count of Exchange Server Mailboxes Per Database - Số lượng mailbox trong database 

[PS] C:\>Get-Mailbox | Group-Object -Property:Database | Select-Object Name,Count | Sort-Object Name | Format-Table -Auto

Move Database Mailbox Exchange to another driver

Move Database Mailbox Exchange to another driver.


[PS] F:\>Move-DatabasePath ArchiveOnline-MB -EdbFilePath D:\MailBoxData\ArchiveOnline-MB\ArchiveOnline-MB.edb -LogFolder
Path E:\LogExchange\ArchiveOnline-MB

Confirm
Are you sure you want to perform this action?
Moving database path "ArchiveOnline-MB".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"): A
[PS] F:\>

Troubleshooting Dirty shutdown error using Eseutil Utility


Exchange Server is an email-based communication server used in conjunction with MS Outlook by most organizations to maintain smooth and efficient business communication. Exchange also offers great ease and flexibility to the users to access their mailbox information either using Outlook or Outlook Web Access, suiting as per their needs and conveniences.
In order to save the user mailbox information, MS Exchange information store relies upon Exchange database files (EDB) and keep them as a backup repository in case the user accidently deletes the emails or mailbox content.
Unfortunately, EDB files of Information Store is vulnerable to corruption as well, like any other database files. Exchange dirty shutdown is one such corruption error that you may encounter due to an abrupt termination of Information Store.
In such a scenario, the user is displayed an error message indicating:

Wednesday, January 30, 2019

Exchange 2013: Unable to Create A Copy of the Database


Exchange 2013: Unable to Create A Copy of the Database
I was working on the issue where someone messed up the database. Only 1st copy was mounted and other copies were not healthy.
Environment:
3 data center expanded DAG
2 Data center has Exchange servers
1 Data Center has FSW

Only one data center is internet facing.

Issue:
While creating a copy of the database on the 2nd server, we got the following errors.
First Error
The seeding operation failed. Error: An error occurred while performing the seed operation. Error: Failed to notify source server “server fqdn ” about the local truncation point. Hresult: 0xc8000713. Error: Unable to find the file.
2nd error

Setup Ms Exchange

Setup Ms Exchange

1. Extend the Active Directory schema
.\Setup.exe /PrepareSchema /IAcceptExchangeServerLicenseTerms

2. Prepare Active Directory
"Setup.exe /PrepareAD /OrganizationName:"" /IAcceptExchangeServerLicenseTerms"

OrganizationName: get-OrganizationConfig | fl Identity

.\Setup.exe /PrepareAD /OrganizationName:"ABC Organization" /IAcceptExchangeServerLicenseTerms


3. Prepare Active Directory domains
.\Setup.exe /PrepareAllDomains /IAcceptExchangeServerLicenseTerms

Exchange DAG Node Failure – Force Switchover With Queues
I had this issue with a client last week, the system was Exchange 2010 with a 2 node Database Availability Group (DAG) setup. One of the Exchange nodes had gone offline and this would be permanent as the failure was catastrophic. I checked that the second node had kicked into action but it had not. The mailbox database was down and upon checking the replication status of the mailbox database to the second node the copy queue was at 9223372036854775766.
Because of this when I tried to force fail over I was greeted with the following error.
An Active Manager operation failed. Error The database action failed. Error: An error occurred while trying to validate the specified database copy for possible activation. Error: Database copy ‘Database1’ on server ‘dagnode2.domain.com’ has a copy queue length of 9223372036854725486 logs, which is too high to enable automatic recovery. You can use the Move-ActiveMailboxDatabase cmdlet with the -SkipLagChecks and -MountDialOverride parameters to move the database with loss. If the database isn’t mounted after successfully running Move-ActiveMailboxDatabase, use the Mount-Database cmdlet to mount the database.
I was pretty confident that no mail would be lost as all my clients are in cached mode so upon reconnecting to the CAS server they would sync mail backup to to second mailbox server.
Upon running the command mentioned in the error I was again greeted with red warning errors stating the that it could not start the Microsoft Exchange Search Indexing service on the failed node…that’s because it does not exist anymore, great.
To get around this we need to add a few extra flags to the command above. They are as below.
·         SkipActiveCopyChecks – The SkipActiveCopyChecks parameter specifies whether to skip checking the current active copy to see if it’s currently a seeding source for any passive databases. Be aware that when using this parameter, you can move a database that’s currently a seeding source, which cancels the seed operation.
·         SkipClientExperienceChecks – The SkipClientExperienceChecks parameter specifies whether to skip the search catalog (content index) state check to see if the search catalog is healthy and up to date. If the search catalog for the database copy you’re activating is in an unhealthy or unusable state and you use this parameter to skip the search catalog health check and activate the database copy, you will need to either re-crawl or reseed the search catalog.
With this in mind we run the following commands to force our node back into life even though the mailbox database is not fully synced.
Move-ActiveMailboxDatabase database1 -ActivateOnServer dagnode2 -SkipHealthChecks -SkipActiveCopyChecks -SkipClientExperienceChecks -SkipLagChecks -MountDialOverride:BESTEFFORT

Ex: Move-ActiveMailboxDatabase "Mailbox Database 1984723136" -ActivateOnServer SRVEX2 -SkipHealthChecks -SkipActiveCopyChecks -SkipClientExperienceChecks -SkipLagChecks -MountDialOverride:BESTEFFORT
Once ran your database will now mount and clients will be able to connect. As mentioned this works well for situations where you have a 2 node DAG cluster with one node down and the copy queue length does not allow automatic failure.


Monday, January 28, 2019

How Do I Find the Partition GUID

You can use WMI to get the information, See the following powershell example:
GWMI -namespace root\cimv2 -class win32_volume | FL -property DriveLetter, DeviceID


Friday, January 11, 2019

Move the Exchange 2010/13/16 System Mailbox

Move the Exchange 2010/13/16 System Mailbox to new Database Store 
1. First we need to get the details of the system mailbox and the databases, run the below commands to get the information:

Get-Mailbox -Arbitration | FL Name,DisplayName,ServerName,Database,AdminDisplayVersion
Get-MailboxDatabase -IncludePreExchange2013 | FL Name,Server,AdminDisplayVersion

2. Once we get all the details, we need to move the System mailbox using the below command:

Get-Mailbox -Arbitration -Identity "SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}" | New-MoveRequest -TargetDatabase NEWDatabase

3. Check
Get-Mailbox -Arbitration | FL Name,DisplayName,ServerName,Database,AdminDisplayVersion