winexe 1.00, Linux/MacOS, Windows 7; finally working

For a few weeks I’ve been trying to get winexe compiled, running, connecting, and working from both Linux (Ubuntu 11.04) and MacOS X (Snow Leopard, 10.6.x), to a Windows 7 system. But could never find a complete solution, only fragments of information. This may help anyone trying to piece things together as I did.

First, on the Windows system you want to remote connect to:

  • If you have the firewall enabled, enable “Inbound Rules” -> “Remote Service Management (NP-In)” (I figured this out by trial and error)
  • Add this to the registry (see this and this)
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f

Then on Linux/Mac, get and build from latest source; 1.00 as of this post.

wget -O winexe-1.00.tar.gz

tar xf winexe-1.00.tar.gz

On Mac, there’s a patch you have to apply (see the note under “For Mac OS X:” here; I created the tinypaste link for convenience)

wget -O 1.patch

patch -p0 < 1.patch

Then continue:

cd winexe-1.00/source4




./bin/winexe -U “<user>%<password>” //<windows system> cmd.exe


On Ubuntu, some of the packages that I had to install (I don’t remember all of them) are: autoconf, python-dev.

On Mac, I’m using homebrew for missing standard *nix packages/utilities, like wget.

Some sites I’ve read mention running “make proto bin/winexe”, instead of “make”. This failed for me, so I just ran the full make.

Some sites I’ve read mention patching source4/winexe/service.c, changing the line


from 0xc0000424 to 0x00000424. I tried this. winexe worked fine without changing this line, and didn’t work when I did change it.

Now that I have it working, I can’t get some basic key mappings working, like the backspace key. But that’s a separate issue.

In case the Mac patch should disappear for some reason, the single change is in source4/winexe/winexe.h. Change

struct tevent_context *ev_ctx;


extern struct tevent_context *ev_ctx;