您的位置:首页 > 其它

How to resolve: The PsExec service running on ?????????????? is an incompatible version.

2011-07-21 16:22 976 查看
Issue:
When i try to run PSEcex from a WinXP machine accessing a Win2003 Server, then i get the following error:
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
psexec \\server01 cmd
PsExec v1.70 - Execute processes remotely
Copyright (C) 2001-2006 Mark Russinovich
Sysinternals - www.sysinternals.com
The PsExec service running on server01 is an incompatible version.
I copied the newest version on both machines but still get the error.
The server is a 2003 Enterprise Edition, on other 2003 (and 2000) Servers Standard Edition, it works fine.

Root Cause:
This situation occurs when multiple versions of PSTools have been executed on a remote system. The fix below is specifcally for PSExec. It can be applied to other PSTools.

Solution:
The Following steps need to be completed
Stop service
Delete exe from %windir%
Delete exe from %system32%
Delete servce
Example (using sc.exe [service control] from windows resource kit)
sc \\%1 stop psexesvc
del \\%1\admin$\psexesvc.exe
del \\%1\admin$\system32\psexesvc.exe
sc \\%1 delete psexesvc
%1 is the input to a script in this case the remote computer name

--------------------------------------------------------------------------------
Root Cause:
On the target machine look for a file named psexesvc.exe in %windir% and maybe %windir%\system32.
If you find any delete them. (*)

When you launch psexec it copies psexesvc.exe to \\target\admin$, i.e. %windir% on \\target.
Next psexec executes the command you specified.
When the command terminates, psexesvc.exe will be stopped and deleted from \\target.
If this did not happen then an outdated psexesvc.exe might still be on \\target.

I think a previous version of Psexec failed to clean up after itself in the past on a pc

Solution:
Yet I would like to stress it is a workaround, not a real solution - I can understand though if you can live with a workaround for ages as long as it does the trick.


Ok, having said that it is a workaround, I encourage everybody who experiences the same problem to proceed like this:

Make sure no psexec is running targetting the machine where psexesvc will not go away.

Make sure psexesvc is removed from the list of active services on the target machine by proceeding like this:
+ Open a cmd.exe window on the target machine
+ sc query psexesvc
+ sc delete psexesvc
+ sc query psexesvc (should be gone now)

Find any occurences of psexesvc.exe on the target machine, very likely they will be in %windir% and %windir%\system32.
Delete them.

Now go back to your local machine and retry your psexec command. Hopefully it will work now without any complaints about (incompatible versions of) psexesvc. And hopefully, too, psexesvc will die gracefully when psexec terminates.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐