Removing ActiveSync Devices Without Prompting


So, I consider myself a pretty good PowerShell user/scripter.  But, I was stumped by a small issue with trying to use the “Remove-ActiveSyncDevice” cmdlet in Exchange 2010 to not prompt for each device removal.

Our (Microsoft) TechNet article on using Remove-ActiveSync Device (http://technet.microsoft.com/en-us/library/bb125032(v=exchg.141).aspx) did not provide a lot of help.  It tells you there’s the “-Confirm” parameter and that it will cause you to be prompted, but does not say how to get it to NOT prompt.

If you try “-Confirm $false”, you’ll get the following error back:

A positional parameter cannot be found that accepts argument ‘False’.
    + CategoryInfo          : InvalidArgument: (:) [Remove-ActiveSyncDevice], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Remove-ActiveSyncDevice

This method: DiRECTIVE + SPACE + VALUE is a normal way of running commands and providing values.  But, for the “-Confirm” directive and the Remove-ActiveSyncDevice cmdlet (I suspect this is true with most Exchange cmdlets) you CANNOT use that method.  You MUST use DIRECTIVE + COLON + VALUE: -Confirm:$false

With that, it will NOT prompt.

I’m sure there’s lots of folks out there that already knew this…especially if you normally use the method with colons, you probably didn’t even realize this was an issue.  For the rest of us, this is one of those things where what should/would normally work with other directives (using a space) does not work with -Confirm.

Comments (2)

  1. rosario says:

    Thanks a lot, I wrote a PS-script to remove more than 7’500 devices that haven’t connected in the last 180 days and was getting crazy as -Confirm $false did not work. Maybe the COLON+VALUE is true for all in the cmdlets?

  2. rosario says:

    for all SwitchParameter types

Skip to main content