Solución:
En Windows Vista y versiones posteriores, si UAC está habilitado, un proceso iniciado por psexec
– incluso cuando se ejecuta desde una cuenta de administrador – debe tener configurado su token de elevación para obtener todos los privilegios. Esto se puede hacer pasando el -h
atributo en el psexec
línea de comando. Entonces, cambiaría su comando a:
psexec -h -u wsadmin -p password cmd
Para obtener más información, ejecute psexec /?
:
-h If the target system is Vista or higher, has the process
run with the account's elevated token, if available.
Me tomó horas encontrar una forma funcional de PsExec
entre dos computadoras con Windows 7 con inicio de usuario no administrador PsExec
… Deshabilitar UAC (EnableLUA=0
, ConsentPromptBehaviorAdmin=0
, LocalAccountTokenFilterPolicy=1
) no funcionó, apagar los cortafuegos no funcionó …
Aquí encontré la forma de trabajo, gracias JelmerS: (La información de PSexec no se conecta a la máquina con el nombre de usuario y la contraseña proporcionados)
Esto es porque psexec
todavía intenta acceder al ADMIN$
comparta con sus credenciales locales, antes de ejecutar su comando como otro usuario. De acuerdo con este hilo, puede almacenar en caché las credenciales antes de ejecutar psexec:
cmdkey.exe /add:MACHINE_NAME_HERE /user:MACHINE_NAME_HEREAdministrator /pass:PASSWORD_HERE
psexec.exe \MACHINE_NAME_HERE -i notepad
cmdkey.exe /delete:MACHINE_NAME_HERE
He encontrado una solución:
Resulta que cuando tiene UAC habilitado, psexec no funciona como se suponía.
Cuando sea HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemEnableLUA
se establece en 0
psexec funciona como se esperaba.