PSExec "ne trouve pas le fichier spécifié" sur la machine locale

4

Comme vous pouvez le voir sur la capture d'écran ci-dessous, C:\Windows\system32\cmd.exeexiste (l'invite de commande lui-même utilisant ce chemin) et j'essaie de le référencer à la fois avec le nom court cmd.exe et le chemin complet, mais les deux entraînent la même erreur de PsExec. EXE:

The system cannot find the specified file.

L'utilisateur du service réseau existe; si je me trompe si je reçois une invite de mot de passe et un message disant que le nom d'utilisateur mot de passe n'existe pas.

Je reçois ce message d'erreur sur plusieurs ordinateurs, mais cela fonctionne sur d'autres. avec un mélange de Windows Server 2008 R2 et 2012 R2. J'utilise et utilise la dernière version de PsExec.exe, qui est actuellement la version 2.11, et exécute l'invite de commande que j'utilise pour lancer PsExec en tant qu'administrateur. Il doit donc disposer des autorisations nécessaires.

J'ai trouvé de nombreux articles sur ce problème lors de l'exécution de PsExec sur un ordinateur distant, mais aucun pour l'ordinateur local, ce que je suis en train de faire.

Des idées sur quel est le problème?

entrez la description de l'image ici

chien mortel
la source
1
essayez psexec \\localhost -i -u "NT AUTHORITY\NETWORK SERVICE" cmd. Personnellement, j'ai vu beaucoup de gens avoir des problèmes avec les spécifications de nom d'utilisateur / mot de passe pour psexec, alors je me demande s'ils ne sont pas un petit buggy. Edit, j'ai eu la même erreur jusqu'à ce que j'ai spécifié localhost.
Frank Thomas
J'ai toujours la même erreur quand \\localhostj'inclus, comme vous l'avez suggéré, @FrankThomas
deadlydog le
étrange, cette commande exacte fonctionne très bien pour moi. l'invite de commande est-elle élevée? Avez-vous utilisé à la cmdplace du chemin complet?
Frank Thomas
Oui, comme je l'ai mentionné dans mon post, la même commande fonctionne sur certains serveurs, mais pas sur d'autres.
deadlydog

Réponses:

2

Le correctif a finalement consisté à NE PAS exécuter l'invite de commande à partir de laquelle j'ai lancé PsExec en tant qu'administrateur. Si j'exécute la commande à partir d'une invite de commande s'exécutant en tant qu'administrateur, j'obtiens l'erreur. Si je l'exécute à partir d'une invite de commande non élevée, cela fonctionne correctement.

chien mortel
la source
4
Est-ce que quelqu'un sait pourquoi cela ferait une différence?
user1354557
1

Cela peut également être dû au fait que vous avez arrêté ou désactivé des services LanmanServer (Server) ou LanmanWorkstation (Workstation).

La façon dont fonctionne PsExec a besoin de ceux-ci pour fonctionner.

lui-même
la source
1
J'ai eu le même problème, et le redémarrage des services serveur et station de travail a résolu le problème. Selon le MMC Services, ils étaient en hausse, mais PSEXEC ne fonctionnerait pas tant qu’ils ne seraient pas redémarrés.
Jason
0

J'ai également constaté que si je copie PSExec dans un autre répertoire (et que le répertoire Sysinternals ne se trouve pas sur PATH) et que je tente de l'exécuter à partir de cet emplacement, il échouera comme ci-dessus. Si j'exécute PSExec sur le répertoire Sysinternals, l'option -s fonctionnera.

Un autre élément à vérifier consiste donc à vérifier que le dossier Sysinternals se trouve sur le chemin ou que PSExec est exécuté à partir de ce répertoire.

Apparemment, il a besoin d’un autre exécutable Sysinternals ...

Andres S
la source