2010-05-12 35 views
10

Escribí un código C# que usa PSexe. Quiero que ejecute un exe remoto en una máquina conectada a mi LAN.Psexec "ejecutar como administrador (remoto)"

Ese exe crea un nuevo usuario local. Cuando ejecuto ese exe localmente en la máquina remota (después de hacer clic derecho -> "ejecutar como administrador") - funciona bien. No sé cómo simular el clic derecho -> "ejecutar como administrador" de Psexec. He probado el distintivo -l, pero no funcionó

El interruptor s

Respuesta

17

Uso psexec -s hará que se ejecuta bajo la cuenta del sistema que es el mismo que ejecutar un símbolo del administrador elevada. solo lo usé para habilitar WinRM de forma remota.

+8

Lo siento, esto es simplemente incorrecto. ¡La cuenta del SISTEMA es algo completamente diferente a su cuenta de usuario con todos los tokens de privilegios (incluidos los administrativos) habilitados! La cuenta del SISTEMA tiene permitido hacer * todo * (generalmente). Incluso cosas que un administrador local no puede hacer. También es un perfil de usuario diferente, por lo que usa diferentes configuraciones y nombres de ruta. – ygoe

19

Simplemente agregue un -h después de agregar sus credenciales usando un -u -p, y se ejecutará con privilegios elevados.

+0

psexec no admite el argumento '-h'. Al menos no en la versión actual de 2009. – ygoe

+2

@LonelyPixel Me acabo de enterar de esto ... la versión que obtuve [aquí] (http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx) sí tiene un parámetro '-h':' Si el sistema de destino es Vista o superior, el proceso se ejecuta con el token elevado de la cuenta, si está disponible. – tnw

+0

Interesante. Ahora también obtengo una versión con "-h" de ellos. Debe ser un 1.98 actualizado. Pero falla si ya no lo estoy llamando administrador. (No se puede crear el servicio, acceso denegado.) ¿Dónde está el sentido en eso? – ygoe

Cuestiones relacionadas