C'est la commande qui fonctionne bien si elle est exécutée à partir d'une commande créée par l'utilisateur. Invite:
PSEXEC \\xxx.xxx.xxx.xxx -u xxxx -p xxxx -accepteula cmd /c "TYPE C:\Pyxislog\PYXIS01.log|Find/i "%ID%"" >nul
Cependant, si j'essaye de l'exécuter à partir d'une invite cmd invoquée par le système, j'obtiens ceci:
Couldn't access 10.219.149.65:
The handle is invalid.
Connecting to 10.219.149.65...
Il doit fonctionner en tant qu'utilisateur système, car il sera déployé via un outil logiciel distant fonctionnant en tant qu'utilisateur système. Est-ce une limitation de psexec? et oui, le nom d'utilisateur et le mot de passe ont des droits administratifs.
Après de nombreuses recherches, il s'agit d'une fonctionnalité de sécurité Windows permettant de bloquer tout accès réseau à l'utilisateur système, ce qui inclut l'exécution de tâches en tant qu'un autre utilisateur. La meilleure méthode que j'ai trouvée pour contourner ce problème consiste à créer une tâche planifiée pour exécuter psexec à partir d'un compte administrateur.
Avez-vous essayé d'utiliser le drapeau -h?
from technet: -h Si le système cible est Vista ou une version ultérieure, le processus est-il exécuté avec le jeton élevé du compte, s'il est disponible.
Page complète: https://technet.Microsoft.com/en-us/sysinternals/psexec.aspx
Psexec oblige à utiliser le compte d'utilisateur système en ajoutant le paramètre -s.
Nous utilisons psexec pour lancer une tâche sur des ordinateurs distants et il enregistre une table de base de données . Lorsque nous n'utilisons pas le paramètre -s, l'utilisateur apparaît en tant que domaine\administrateur, mais si vous utilisez le paramètre - s, il apparaît en tant que "Système".
Pour le message de poignée invalide, vérifiez ceci:
https://superuser.com/questions/200938/psexec-the-handle-is-invalid
Cela n’est peut-être pas lié, mais j’ai en fait constaté que l’erreur "Le descripteur est invalide" si la connexion était établie sur la machine, c’est-à-dire que la machine s’était endormie.