Question PsExec et Windows 2008 R2: «L'accès est refusé»


Voici mon scénario:

J'essaie de démarrer et d'arrêter à distance les sites IIS 7.0 sur mon serveur à partir de mon ordinateur local, à l'aide de PsExec.

Quelques points importants:

  • Machine locale fonctionne Windows Vista.
  • Le serveur tourne Windows 2008 R2.
  • Chaque machine fonctionne sur différents domaines.
  • Il y a un confiance à sens unique du domaine de mon ordinateur local au domaine de mon serveur.
  • PsExec est en utilisant un compte administrateur de domaine, qui est authentifié en tant qu’administrateur local sur la machine serveur.
  • La machine locale référence le serveur via un alias; il n'utilise pas le vrai nom du serveur.

J'utilise la commande:

"C:\Program Files\PSTools\psexec.exe" \\(server-alias) -u (server-domain)\(domain-admin) -p (password) C:\Windows\System32\inetsrv\appcmd.exe stop site "Default Web Site"

Cela renvoie l'erreur:

PsExec v1.94 - Execute processes remotely
Copyright (C) 2001-2008 Mark Russinovich
Sysinternals - www.sysinternals.com
Could not start PsExec service on (server-alias):
Access is denied.

Et quelques notes de dépannage importantes:

  • Cette commande travaux lorsqu'il est exécuté depuis une autre machine (Windows 2003 R2) dans le domaine du serveur. (Intra-domaine)
  • Cette commande travaille aussi lorsqu'il est exécuté sur une autre machine en marche Windows 2003 R2 de ma machine locale; dont les deux sont dans des domaines différents. (Interdomaine)
  • Utiliser la même commande PsExec sauf avec ping au lieu de appcmd.exe échoue.
  • La commande a été exécutée à partir de l'invite de commande en utilisant "Exécuter en tant qu'administrateur".
  • Clé d'enregistrement DisableStrictNameChecking a été défini sur le serveur pour autoriser l’utilisation des alias.
  • Clé d'enregistrement LocalAccountTokenFilterPolicy = 1 a été défini sur le serveur et la machine locale.
  • Le pare-feu Windows ne fonctionne pas sur le serveur.
  • Le contrôle de compte d'utilisateur est désactivé sur la machine locale.
  • Le UAC est actif sur le serveur.
  • Le "mode d'approbation administrateur" est désactivé sur le serveur de l'UAC; Cela permettait à la commande de fonctionner à l'intérieur d'un domaine (par opposition à un domaine).

Il semble signaler que c'est un problème spécifique à Windows 2008 R2 qui concerne les paramètres de sécurité, probablement en fonction d'autorisations de domaine ou administratives. Cependant, je suis à court d'idées. Toutes les suggestions que vous pourriez avoir seraient très appréciées!


6
2017-08-13 14:09


origine




Réponses:


Cela m'a pris des heures pour trouver un moyen de travailler à PsExec entre 2 ordinateurs Windows 7 avec un utilisateur non administrateur démarrant PsExec ... Désactiver le contrôle de compte d'utilisateur (EnableLUA = 0, ConsentPromptBehaviorAdmin = 0, LocalAccountTokenFilterPolicy = 1) n'a pas fonctionné, désactiver les Firewalls pas travailler ...

Ici, j'ai trouvé le moyen de travailler - merci JelmerS: (Info de PSexec ne se connecte pas à la machine à l'aide du nom d'utilisateur et du mot de passe fournis)

Cela est dû au fait que psexec tente toujours d’accéder au partage ADMIN $ avec vos informations d’accès locales avant d’exécuter votre commande en tant qu’autre utilisateur. Selon ce fil, vous pouvez mettre en cache les informations d'identification avant d'exécuter psexec: cmdkey.exe / add: MACHINE_NAME_HERE / utilisateur: MACHINE_NAME_HERE \ Administrateur / pass: PASSWORD_HERE psexec.exe \ MACHINE_NAME_HERE - le bloc-notes cmdkey.exe / delete: MACHINE_NAME_HERE

Cordialement, Peter


3
2018-02-26 15:48





Exécutez-vous PSEXEC à partir d’une invite de commande élevée sur votre poste de travail vista? Avez-vous défini LocalAccountTokenFilterPolicy = 1? Voir FAQ: Problèmes PSTools courants 


1
2017-08-13 15:16



Oui, j'ai réglé les deux. - David Elner


Je n'ai pas d'environnement de test similaire, mais je peux recommander ceci: Sur le domaine client, configurez des scripts de traitement par lots (.bat), un pour chaque site Web que vous souhaitez redémarrer. (Je les appellerai "restart_site-sitename.bat".) Créez-en un pour chaque domaine et sauvegardez-les tous dans un répertoire sur un serveur de gestion de ce domaine (où je mets mes outils sysad, où je peux tout gérer en cas de problème avec mon ordinateur portable), y compris PSExec dans ce répertoire.

psexec.exe \\(server-alias) C:\Windows\System32\inetsrv\appcmd.exe stop site "WebsiteName"

Essayez maintenant d’exécuter psexec sur ce serveur de gestion, en appelant plutôt l’un de ces fichiers de commandes.

"C:\Program Files\PSTools\psexec.exe" \\(server-alias) -u (server-domain)\(domain-admin) -p (password) C:path\to\psexec_and_scripts\restart_site-sitename.bat"

0
2017-10-05 12:28



Je sais que cela semble déroutant, mais essayez-le. - gWaldo