I have in the past called the dos commands from the Remote Server Administration Tools (RSAT) feature pack (Win7 http://www.microsoft.com/en-us/download/details.aspx?id=7887) from Cygwin's shell. I've spent a fair amount of time cleaning up their cruddy output and making useful wrappers (although not complete) to these DOS tools for cygwin/bash. Now in Cygwin 1.7.29 and 1.7.30 they do not return any information from these tools. A call to dsquery.exe without args should show usage, now it returns nothing. Launching "cmd.exe" in a cygwin shell would allow calling those tools interactively (but not really usable) but return nothing now. Once installed these tools are available from C:\Windows\System32\ in the Windows System PATH and available to Cygwin inheriting that path. I am not pathing to the tools in these examples but directly calling it using absolute paths does not solve the problem. $ dsquery.exe user -name "test user" "CN=Test User,OU=Users,OU=Test,DC=domain,DC=com" which you could pipe to dsget as in: $ dsquery.exe user -name "test user" | dsget user -email email test.user@domain.com dsget succeeded None of this works anymore in the latest Cygwins, I am not sure when it broke. I wrote some pretty fancy wrappers to cleanup the output and simplify calling from cygwin which is not getting any output. Calling command.com directly in cygwin used to work, now just returns the command name: ================================================================== $ cmd Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\>dsquery dsquery ================================================================== older cygwin worked: ================================================================== $ cmd Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\>dsquery /? dsquery /? Description: This tool's commands suite allow you to query the directory according to specified criteria. Each of the following dsquery commands finds ... ================================================================== older cygwin worked fully: ================================================================== C:\>dsquery user -name "test user" | dsget user -email dsquery user -name "test user" | dsget user -email email test.user@domain.com dsget succeeded ================================================================== a plain call w/o args will display a usage which works in older cygwins. This was around March/April. 1.7.29 is dated 2014-04-07 but I'm fairly sure it was working then. Not sure what environment settings would affect this. I can get output in cygwin from this call but cannot pass args to this command: ================================================================== $ dsquery user "CN=...." .... "CN=...." ================================================================== lists CNs but not all of them in lower OU's, you will need to call dsquery w/args for that. I don't think I can get an older cygwin (1.7.28?) installed to see if it was a change there. I've tried RXVT and mintty in cygwin with the same behavior. Most my tests from old cygwin is an instance older than the 32/64 bit split but I know I had it working a month or so ago in cygwin 32bit. Attached cygcheck output