15

i'm trying to run an interactive commandline on a remote PC in my LAN using

psexec \\192.168.1.103 -u user2 -p pass1234 -c cmd

and I get

Logon failure: unknown user name or bad password.

is there anything I'm missing here? The user is created, I can connect to it with RDP. The host is Windows XP, and I'm running the commands from Windows 7, where I have psexec.exe.

slhck
  • 223,558
  • 70
  • 607
  • 592
agelmarion
  • 153
  • 1
  • 1
  • 4

5 Answers5

8

I was able to reproduce your problem and fix it thus:

Do The following and hit enter

Start>Run>secpol.msc

Navigate to

Local Policies>Security Options

Set the policy "Network Access: Sharing and security model for local accounts" to (Just hit OK: Don't close this out as we will be changing it back).

Guest only – local users authenticate as Guest

Open a command box and run (Dont close this either)

gpupdate /force

Go back and set the policy "Network Access: Sharing and security model for local accounts" back to

Classic - local users authenticate as themselves

Again run

gpupdate /force

It should work now.

KCotreau
  • 25,519
  • 5
  • 48
  • 72
  • psexec \\192.168.1.103 -u computer_1\user2 -p pass1234 -c cmd – agelmarion Jun 24 '11 at 22:29
  • yes user is on remote pc, this still not working – agelmarion Jun 24 '11 at 22:30
  • i'm doing the same now, will put vmware on xp machine – agelmarion Jun 24 '11 at 22:34
  • Try with a user that has Administrator privileges, or use the option that lets you run a command as the SYSTEM account. Also I think you need to specify full path to the cmd.exe as in `c:\windows\system32\cmd.exe`. – LawrenceC Jun 24 '11 at 22:52
  • @ultrasawblade I think he meant cmd as "generic command". The -c switch copies the program in question to the computer, then executes it. In addition, you do not need to put the full path as long as the command is in the system path, for example in the system32 directory. – KCotreau Jun 24 '11 at 23:14
  • @ultrasawblade: `psexec` loads the user's profile, so `%PATH%` is always set. – u1686_grawity Jun 25 '11 at 13:27
  • Does anyone know what causes this? I've been running psexec on all the lab computers for over a year, but one keeps needing this fix and I'd like to understand what is happening. Is there a registry key I can copy to reload it quickly? – Kevin S. Miller Oct 21 '16 at 12:38
  • New semester, different lab PC behaving the same way. Can anyone explain what the students may be doing to make this error happen? In this lab, the students have admin rights to do cyber security lab exercises - Not my preference, but that's what faculty wants. – Kevin S. Miller Feb 02 '17 at 13:32
4

I'm not sure whether you're working on your own or part of a larger user domain. I had the same issue and resolved it as follows:

psexec \\REMOTEMACHINE -u DOMAIN\USERNAME ...

Basically, I prefaced my username with the domain name.

Isaac Kleinman
  • 679
  • 1
  • 6
  • 10
3

Even though this has already been answered, I thought i would post a quick test i just did with this same error / result.. As i might find it in google in a year or two when i forget.

Simply, trying the standard command as in the question above.. I got the same response.. But ..

If i mapped a network drive or browsed to the c$ share, this would then allow psexec to work...

So this might be a hack/shortcut around things allow for the required network auth on another level...

Angry 84
  • 131
  • 4
  • 1
    Very odd. I just encountered the same situation. The remote machine would refuse to authenticate me. I accessed the admin share via UNC path then ran the command again and it worked. – k1DBLITZ Dec 23 '15 at 16:29
  • 1
    Trying to believe my own eyes but this did it for me. I was trying to use psexec on a 2016 server in Azure (after configuring proper ports). Beforehand, it was just simply telling me that my credentials were incorrect. – Jason Roner Dec 31 '18 at 20:42
  • This also worked for me, Windows 10 client – Kryten Jul 07 '20 at 18:00
1

You must ensure the time is synchronized throughout all the machines. If not, psexec will never work on Windows 7 and will report logon failure.

Vincent
  • 11
  • 1
0

So I've tried

Local Policies → Adding Tokens in Registry → Firewall Rules

and I didn't want to disable my antivirus. It turns out that the problem was syntax:

psexec \\192.168.1.7 -u USERNAMEhere -i -p Passwordhere "C:\Users\Username\Desktop\New Folder\x.bat"

It still returned an error 0, but it worked.

zx485
  • 2,170
  • 11
  • 17
  • 24