Estoy intentando realizar algunas depuraciones para un proveedor en una máquina con Windows 7. Necesito ejecutar netsh
para establecer un parámetro. Intenté ejecutarlo desde una ventana de cygwin/shell pero aparece el error "Ejecutar como administrador".
Buscando en Google, veo que hay un runas
comando que parece funcionar así sudo
. Dado que mi cuenta de usuario ( me
) es de administrador, intento runas /user:me "netsh ..."
recibir un mensaje para me
la contraseña de ; Entro en él; netsh
(presumiblemente ejecutándose en una nueva cmd
ventana) parpadea para abrirse y cerrarse; y obtengo un retorno exitoso del comando (es decir, $? == 0).
Pero aparentemente eso no es lo suficientemente bueno ya que el parámetro no se modificó. Finalmente solucioné este problema haciendo "ejecutar como administrador" en un acceso directo al shell (y luego ejecuté netsh
normalmente).
¿Cuál es el truco para que Windows runas
se dé cuenta de que me
realmente es un administrador?
Respuesta1
Existe una diferencia entre iniciar sesión en una cuenta que forma parte del grupo de administradores y ejecutar (a) una cuenta elevada o (b) como cuenta de administrador integrada.
Cada vez que lo ejecuta como administrador, siempre tiene un nivel elevado, por definición. Entonces, si run /user:administrator
esa ventana estará elevada cuando se abra, NO recibirá un mensaje de UAC y el netsh
comando debería ejecutarse.
Pero debido a que la cuenta de administrador incorporada siempre se ejecuta de forma elevada y no genera mensajes de UAC runas
, es un riesgo para la seguridad, especialmente si no tiene una contraseña. Es por esoMicrosoft desactiva la cuenta de Administrador de forma predeterminaday requiere que lo habilites primero:
En Windows® 7, la cuenta de administrador integrada está deshabilitada de forma predeterminada. En versiones anteriores de Windows, se creaba automáticamente una cuenta de administrador durante la experiencia inmediata (OOBE) con una contraseña en blanco.
Una cuenta de administrador con una contraseña en blanco es un riesgo para la seguridad. Para proteger mejor el sistema, la cuenta de administrador integrada está deshabilitada de forma predeterminada en todas las instalaciones limpias y actualizaciones de Windows 7.
Así es como lo habilitas. (Puede abrir MMC escribiendo "mmc" en el cuadro "Ejecutar..." en el menú Inicio).
Cambie las propiedades de la cuenta de administrador mediante Usuarios y grupos locales Microsoft Management Console (MMC).
- Abra la consola MMC y seleccione Usuarios y grupos locales.
- Haga clic derecho en la cuenta de Administrador y seleccione Propiedades.
- Aparece la ventana Propiedades del administrador.
- En la pestaña General, desmarque la casilla La cuenta está deshabilitada.
- Cierre la consola MMC.
Además, tenga en cuenta que runas
NO le permite pasar argumentos al programa que ejecuta:
RUNAS USAGE:
RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ]
/user:<UserName> program
RUNAS [ [/noprofile | /profile] [/env] [/savecred] ]
/smartcard [/user:<UserName>] program
RUNAS /trustlevel:<TrustLevel> program
Si desea ejecutar un comando elevado bajo su propio ID de usuario o si desea pasar argumentos, necesita un genuino sudo
o su
(comoÉste, parte de mi propiaCarcasa Hamilton C:) con un interludiomarcado en el manifiesto de la aplicacióncomo que requiere elevación. Si lo hace de esa manera, verá un mensaje de UAC.