I am running Powershell on Win2k16: 5.1.14393.3471
I could only get the following syntax to work, I had to remove "-Force" from the command in order for the loop to iterate through each item in the list. I am checking for certificates than have less than 40 days left before they expire:
Get-ChildItem -Path Cert:\LocalMachine\Root | Where-Object {$_.NotAfter -lt (Get-Date).AddDays(40)} | ForEach-Object {Remove-Item -Path "Cert:\LocalMachine\Root\$($_.Thumbprint)" -Recurse -Verbose}
Also, you should issue a check for the number of certs in the "Root" store before and after the import of the sst file, using the below command:
(Get-ChildItem -Path Cert:\LocalMachine\Root).Count
I hope that saves someone a bunch of time, because I spent quite a bit of time with trail and error.
Good luck!