Photoshop can do it (yes batch processing too)
But there's a problem with that request.
If the original pictures are all perfect squares, then downsizing them to a different square (150x150) is pretty easy and straight forward.
If they are not you need to crop them to a square first, then resize them. You can create a macro in photoshop that will do all that in one go, but it will always crop the pictures the same way (ie from the top left corner) which usually creates unwanted results (loss of content).
In the film/video industry we use another solution, we add pixels in order to get the picture ratio we need - that's the top/bottom black bars you get on your TV when they are showing a widescreen movie on a 4:3 TV channel.
So in that case you could also make a macro that adds black pixels to the picture, so that it becomes a square and then resize it. That way you wouldn't lose any picture content (as you would with cropping) but you would have horizontal or black bars as parts of your pictures.