Estoy usando psexec.exe
para ejecutar programas en un contexto de seguridad diferente. Sin embargo, los programas se inician pero no parece ejecutarse en el contexto de seguridad especificado.
En su forma mínima:
psexec -u wsadmin -p password cmd
Inicia una nueva ventana de cmd si escribo en esa ventana 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.
Como puede ver, definitivamente soy el otro usuario. Y puedo confirmar que este usuario es miembro del "grupo de administradores"
C:\Windows\system32>mkdir test
Access is denied.
Si uso runas con el usuario especificado, funciona como se supone. Pero necesito proporcionar la contraseña en la línea de comandos.
-h
opción.Me llevó horas para encontrar una manera de trabajar a
PsExec
entre dos equipos con Windows 7 con el usuario que no es administrador de comenzarPsExec
... desactivación de UAC (EnableLUA=0
,ConsentPromptBehaviorAdmin=0
,LocalAccountTokenFilterPolicy=1
) no funcionaba, la desactivación de los servidores de seguridad no funcionaba ...Aquí encontré la forma de trabajar, gracias JelmerS: (La información de PSexec no se conecta a la máquina con el nombre de usuario y la contraseña suministrados )
Esto se debe a que
psexec
todavía intenta acceder al recursoADMIN$
compartido 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:fuente
He encontrado una solución:
Resulta que cuando tienes UAC habilitado, psexec no funciona como se supone.
Siempre que
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA
se establece en0
psexec funciona como se esperaba.fuente
-h
bandera alpsexec
comando. Esto le indica que ejecute el comando con el token elevado, lo que equivale a iniciar un proceso "como administrador" desde el menú contextual.EnableLUA
en0
deshabilitaAdmin Approval Mode
, que es básicamente el núcleo de UAC. Como resultado, el UAC se desactivará. Fuente .Esto es lo que funcionó para mí, no elimina UAC por completo, pero lo desactiva para los administradores
Configuración del equipo \ Configuración de Windows \ Configuración de seguridad \ Políticas locales \ Opciones de seguridad \ Control de cuentas de usuario: ejecutar todos los administradores en modo de aprobación de administrador - Desactivado
fuente