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

 

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

  1. Stop service
  2. Delete exe from %windir%
  3. Delete exe from %system32%
  4. Delete servce

Example (using sc.exe [service control] from windows resource kit)

  1. sc \\%1 stop psexesvc
  2. del \\%1\admin$\psexesvc.exe
  3. del \\%1\admin$\system32\psexesvc.exe
  4. 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.


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值