OK, I'll see your "This parameter does not work properly in this cmdlet" and raise you...
I'm checking this on Windows 2003 x64 SP2 with Exchange 2007 x64 SP1 roll up 4....
[PS] C:\>get-childitem *.*
Directory: Microsoft.PowerShell.Core\FileSystem::C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 04/07/2007 21:15 0 AUTOEXEC.BAT
-a--- 07/11/2008 12:33 1155735552 Backup.bkf
-a--- 04/07/2007 21:15 0 CONFIG.SYS
----- 16/02/2007 23:39 135680 msizap.exe
[PS] C:\>$strExclude = "*.bkf"
[PS] C:\>get-childitem *.* -exclude $strexclude
Directory: Microsoft.PowerShell.Core\FileSystem::C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 04/07/2007 21:15 0 AUTOEXEC.BAT
-a--- 04/07/2007 21:15 0 CONFIG.SYS
----- 16/02/2007 23:39 135680 msizap.exe
[PS] C:\>
So it works for a single exclusion.
[PS] C:\>$strexclude = "*.bkf;*.sys"
[PS] C:\>get-childitem *.* -exclude $strexclude
Directory: Microsoft.PowerShell.Core\FileSystem::C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 04/07/2007 21:15 0 AUTOEXEC.BAT
-a--- 07/11/2008 12:33 1155735552 Backup.bkf
-a--- 04/07/2007 21:15 0 CONFIG.SYS
----- 16/02/2007 23:39 135680 msizap.exe
[PS] C:\>$strexclude = "*.bkf *.sys"
[PS] C:\>get-childitem *.* -exclude $strexclude
Directory: Microsoft.PowerShell.Core\FileSystem::C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 04/07/2007 21:15 0 AUTOEXEC.BAT
-a--- 07/11/2008 12:33 1155735552 Backup.bkf
-a--- 04/07/2007 21:15 0 CONFIG.SYS
----- 16/02/2007 23:39 135680 msizap.exe
[PS] C:\>
But not when you try more than one exclusion whether that is a comma, a semi colon or a space.
i.e. I agree with you that your PS doesn't work though your theory is entirely sound, I just don't know whether it is fixable.
