web-dev-qa-db-fra.com

PsExec Access est refusé

J'utilise psexec.exe pour exécuter des programmes dans un contexte de sécurité différent. Cependant, les programmes démarrent, mais ils ne semblent pas fonctionner dans le contexte de sécurité spécifié.

Dans sa forme minimale:

psexec -u wsadmin -p password cmd

Démarre une nouvelle fenêtre cmd si je tape dans cette fenêtre whoami

C:\Windows\system32>whoami
win-k1r7g38nlkt\wsadmin

C:\Windows\system32>net localgroup administrators
Alias name     administrators
Comment        Administrators have complete and unrestricted access to the computer/domain

Members

-------------------------------------------------------------------------------
Administrator
wsadmin
The command completed successfully.

Comme vous pouvez le voir, je suis définitivement l’autre utilisateur. Et je peux confirmer que cet utilisateur est membre du "groupe des administrateurs"

C:\Windows\system32>mkdir test
Access is denied.

Si j'utilise des runas avec l'utilisateur spécifié, cela fonctionne comme supposé. Mais je dois fournir le mot de passe sur la ligne de commande.

9
Tuim

J'ai trouvé une solution:

Il s'avère que lorsque vous avez activé le contrôle de compte d'utilisateur, psexec ne fonctionne pas comme supposé.
Chaque fois que HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA est défini sur 0, psexec fonctionne comme prévu.

0
Tuim

Sous Windows Vista et les versions ultérieures, si le contrôle de compte d'utilisateur est activé, un processus lancé par psexec - même s'il est exécuté à partir d'un compte administrateur - doit avoir son jeton d'élévation défini afin d'obtenir les privilèges complets. Cela peut être fait en passant l'attribut -h dans la ligne de commande psexec. Donc, vous changeriez votre commande en:

psexec -h -u wsadmin -p password cmd

Pour plus d'informations, lancez psexec /?:

    -h    If the target system is Vista or higher, has the process
          run with the account's elevated token, if available.
8
nhinkle

Il m'a fallu des heures pour trouver un moyen de travailler avec PsExec entre deux ordinateurs Windows 7 avec un utilisateur non administrateur commençant PsExec ... Désactiver le contrôle de compte d'utilisateur (EnableLUA=0, ConsentPromptBehaviorAdmin=0, LocalAccountTokenFilterPolicy=1) ne fonctionnait pas, désactiver les pare-feu ne fonctionnait pas ...

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'identification locales avant d'exécuter votre commande en tant qu'utilisateur différent. Selon ce fil, vous pouvez mettre en cache les informations d'identification avant d'exécuter psexec:

cmdkey.exe /add:MACHINE_NAME_HERE /user:MACHINE_NAME_HERE\Administrator /pass:PASSWORD_HERE 
psexec.exe \\MACHINE_NAME_HERE -i notepad
cmdkey.exe /delete:MACHINE_NAME_HERE
3
Peter Feldhammer

Voici ce qui a fonctionné pour moi. Il ne supprime pas complètement le contrôle de compte d'utilisateur, mais le désactive pour les administrateurs.

Configuration de l'ordinateur\Paramètres Windows\Paramètres de sécurité\Stratégies locales\Options de sécurité\Contrôle de compte d'utilisateur: Exécuter tous les administrateurs en mode d'approbation administrateur - Désactivé

0
cristobalhernandez