Take screenshot from “command line”

For test automation purposes I am looking for a "command line" tool that takes screenshots. Until today I was satisfied with NirCmd, which can be used like

nircmd savescreenshot screen.png


Unfortunately this only takes the screenshot of monitor 1. Since multi-monitor setups become more and more common, I need an alternative that can handle multiple monitors.

The output should be similar to that copyied into the clipboard by Windows if you press PrintScreen, i.e. it should consider the screen layouts, not only create one file per monitor.

Other requirements

• no dependencies if possible (.NET might be ok since it comes with Windows). The tool should be able to run on a fresh Windows installation.
• No installation required. Impact on the system needs to be at a minimum.
• gratis or open source, also for commercial use (so MiniCap does not qualify)
• "command line", which means that it does not require user interaction. It should not open the black console window or any other window since this might disturb my automation task.
• run on Windows 7 SP1 x64

I have tried:

convert screenshot: screenshot.jpg