We have addressed the issue causing messages to be stuck in transport queues of on-premises Exchange Server 2016 and Exchange Server 2019. The problem relates to a date check failure with the change ...
I just ran the scripts on our 2 servers and everything is working again. This was my experience, in case it helps anyone:
Server 1
-Script failed on first run because (I think) the Exchange Transport service did not stop quickly enough.
-By the time I manually checked the service, it was stopped, so I ran the script again.
-Got an error that engine folder couldn't be removed, but ignored this since it's probably because the folder was successfully removed the first time the script was ran.
-When the script got to the point of running the EngineUpdate, I got a progress bar at the top of the EMS window. It took around 20 minutes to download the updates.
-Get-EngineUpdateInformation was unrecognized. I first had to run Add-PSSnapin Microsoft.Forefront.Filtering.Management.Powershell. Then I was able to Get-EngineUpdateInformation and confirm that the update was successful.
Server 2
-The script ran quickly on the second server and completed without error. But I noticed that I didn't get a progress bar for the engine update like I did on the first server.
-So I ran the script a second time and got this...
...and thought, oh crap, the update must have been running in the background. Hopefully I didn't screw anything up.
-I ran Get-EngineUpdateInformation and it was still showing update failed:
-I decided to wait a few minutes and check again, this time it showed update in progress:
-And finally, after around 20 minutes the update was complete:
-I restarted the Transport service on both servers and mail started flowing again.
So, it does appear that you have to restart the Transport service, but don't bother doing so until you confirm that the anti-malware engine has been successfully updated.