Por Favor, No Inicies Sesión Como Administrador, Utiliza RunAs
Publicado por urpiano en Sábado 25 \25\UTC febrero \25\UTC 2006
Introducción
El error de iniciar sesión como administrador
¿Cómo realizar acciones administrativas sin logarme como administrador?
RunAs.exe
Sintaxis
Donde:
/user:{[dominio_o_equipo\]usuario | usuario[@dominio]}: requerido; es el nombre del usuario con el que lanzaremos el ejecutable. El nombre puede estar expresado como Down-Level Logon Name (dominio\usuario) o como User Principal Name (usuario@dominio). Los dos ejemplos siguientes se refieren al mismo usuario:
/user:moria\balrog
/user:balrog@moria.mordor.org
/savecred o /savedcred: opcional; indica que se guarden las credenciales una vez suministradas. Es decir, sólo se nos pedirá que entremos la contraseña del usuario que lanza el ejecutable la primera vez que usemos RunAs con /savecred para lanzar el ejecutable; no sólo eso, si no que a partir de entonces todo ejecutable que lanzado con RunaAs con ese usuario no necesitará que se entre la contraseña. Por desgracia, este parámetro no está disponible en Windows 2000 ni en Windows XP Home, sólo en Windows XP Pro o Windows Server 2003. Si el sistema está en español la ayuda referencia este parámetro como /savedcred, si el sistema está en inglés lo referencia como /savecred; funciona de las dos maneras en los dos idiomas.
<ejecutable – parámetros>: requerido; es el ejecutable que se lanza, puede ir o no con su ruta, dependiendo desde dónde se lanza RunAs o de si está en el Path de sistema o usuario. Si se necesita que lleve parámetros se pondrán después del nombre del ejecutable tras un espacio. En el caso de que lleve parámetros o que en la ruta\nombre aparezca algún espacio, será necesario que encerremos el conjunto entre comillas. Se pueden utilizar variables de entorno, encerrado el nombre entre tantos por ciento (%). En ocasiones es necesario que los parámetros estén encerrados entre comillas (una ruta que tenga espacios, por ejemplo), en estos casos las comillas deberán ser escritas quitándoles el significado con slash invertido (\); por ejemplo:
runas /user:dominio\administrador "%SystemRoot%\explorer.exe /e, \"c:\Archivos de Isengard\""
Ejemplos de RunAs
runas /user:comunidad\gandalf "%ProgramFiles%\LOTR\Conjuros\Bola de fuego.exe"
En este otro ejemplo, lanzamos el programa palantir.exe con el parámetro /informar_sauron con la cuenta del usuario saruman del dominio isengard.mordor.org, expresado como UPN. El programa no incluye ruta pues se supone que está en el
Path.
runas /user:saruman@isengard.mordor.org /savecred "palantir.exe /informar_sauron"
En este último ejemplo se lanza el programa comer.exe con el usuario local pippin (al no llevar nombre de dominio se asume que es la máquina local); el programa está en el Path y al no haber ningún espacio (ni en la ruta ni por llevar algún parámetro) no está encerrado entre comillas.
runas /user:pippin /savecred comer.exe
Batería de herramientas
CMD.EXE
se muestra cómo crear un acceso directo que abra esta herramienta como otro usuario; el proceso para crear los accesos directos de otras herramientas será el mismo, sólo cambiará el origen, el nombre y el icono. Deberemos hacer clic derecho sobre el escritorio, "Nuevo\Acceso directo":
A continuación escribimos en la caja de texto localización del comando "runas /user:dominio\usuario cmd"; si deseamos que se guarden las credenciales deberemos poner "runas /user:dominio\usuario /savecred cmd":
Pulsamos "Next" y en la caja de texto de nombre del acceso directo ponemos un nombre que nos haga reconocer que es una ventana de comandos como administrador, por ejemplo "ADM – CMD.EXE":
Pulsamos finalizar y ya tenemos el acceso directo creado, pero… ¿qué pasa con el icono?. Vamos ahora a modificar el acceso directo para que se muestre con el icono correspondiente a una ventana de comandos. Para ello hacemos clic derecho sobre el acceso directo, "Propiedades" y se muestra la ventana de propiedades del acceso directo, donde pulsaremos el botón "Cambiar icono…" que se encuentra en la pestaña "Acceso directo":
Debido a que RunAs no contiene iconos, se nos mostrará un aviso indicando esta circunstancia:
Pulsamos aceptar y se muestra el cuadro de diálogo de cambio de icono, en el que estará seleccionado "%SystemRoot%\system32\SHELL32.dll" como origen de los iconos (es el origen predeterminado). Pulsamos el botón "Examinar..." y seleccionamos "%SystemRoot%\system32\cmd.exe", pulsamos aceptar y ya tendremos el icono de CMD en el cuadro de diálogo de cambiar icono, pulsamos sobre él, aceptamos y en las propiedades del acceso directo volvemos a aceptar; ya tenemos el acceso directo con su correspondiente icono.
Si hubiésemos creado el acceso directo sin establecer que se guarden credenciales y queremos que así se haga, deberemos hacer clic derecho sobre él, "Propiedades", y en la pestaña "Acceso directo" retocar el cuadro de texto "Destino" para añadir "/savecred":
La primera vez que ejecutemos este acceso directo, si está establecido "/savecred", o cada vez que lo ejecutemos, si no lo está, se solicita del usuario que entre la contraseña correspondiente al usuario con el que RunAs lanzará la tarea:
¿Por qué se dijo al comienzo de esta parte sobre CMD.EXE que es la madre de todas las herramientas? Porque desde ella podremos acceder a todas las herramientas que queramos, a todas ubicaciones que necesitemos y esto como administradores, si como administradores hemos ejecutado CMD.EXE.
Ejemplos:
> mmc
Abre una consola de administración desde la cual podremos agregar aquellos snap-ins que necesitemos; esto estará hecho siempre como administrador.
> start \\servidor\carpeta
Abre una ventana situada en el recurso compartido "carpeta" del equipo "servidor" como administrador, de forma que podremos, por ejemplo, lanzar instaladores, escribir en recursos compartidos en los que sólo los administradores pueden escribir, etc.
Un último ejemplo, quizás el más definitivo; podemos desplegar el menú inicio y arrastrar cualquier acceso directo a la ventana de comandos y soltarlo en ella, se habrá escrito la ruta\nombre del acceso directo y al pulsar intro se ejecutará como administrador (por ejemplo "Usuarios y equipos de Active Directory"); esta acción de arrastrar la podremos hacer no sólo desde el menú inicio, si no también desde una ventana de carpeta o el explorador de Windows (pudiendo por tanto lanzar ejecutables que no están en el menú inicio, por ejemplo "regserv32.exe" para registrar una librería).
Explorador de Windows
runas /user:dominio\usuario "%SystemRoot%\explorer.exe <opciones>"
Las opciones son:
/n = abre nueva carpeta
/e = explorador en dos ventanas (panel del árbol y panel de detalle)
/select = carpeta o unidad seleccioAnada
/root = nivel superior en el explorador (si se le indica c:\Pepe no se podrá acceder a c:\ ni ninguna de sus carpetas excepto c:\Pepe y sus subcarpetas).
Ejemplos:
"%SystemRoot%\explorer.exe /n, c:\" – Abre una carpeta simple en c:\
"%SystemRoot%\explorer.exe /e, d:\Perico" – Abre una carpeta con árbol en d:\Perico
"%SystemRoot%\explorer.exe /e, d:\Perico, /select, d:\Perico\Pedrito.txt" – Abre una carpeta con árbol en d:\Perico y con el fichero Pedrito.txt seleccionado
"%SystemRoot%\explorer.exe /n, /root, e:\Julianete" – Abre una carpeta simple con raíz en e:\Julianete
"%SystemRoot%\explorer.exe /e, /root, e:\Julianete" – Abre una carpeta con árbol con raíz en e:\Julianete
Así pues, podríamos lanzar, por ejemplo:
runas /user:dominio\administrador "%SystemRoot%\explorer.exe /e, c:\"
El icono para el acceso directo lo encontraremos en el propio ejecutable, es decir en "%SystemRoot%\explorer.exe"
Nota importante: lo más probable, es que si ejecutamos esta línea no se abra un explorador de Windows ¿por qué? Esto es debido a que de, forma predeterminada, los usuarios no tienen activada la opción "Abrir cada carpeta en un proceso independiente" en "Mi PC", menú "Herramientas\Opciones de carpeta…", pestaña "Ver". Por tanto deberemos logarnos con el usuario que deseemos que se utilice con RunAs y establecer esta opción; una vez cerrada la sesión de ese usuario y abierta la sesión con el que queremos que utilice RunAs, veremos como ejecutando esa línea sí que se abre un explorador de Windows. Esto mismo lo podemos realizar sin necesidad de iniciar sesión; basta con que abramos regedit con RunAs de forma que lo ejecute el usuario en cuestión y pongamos 1 en el valor "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\SeparateProcess".
MMC.EXE
runas /user:dominio\administrador mmc
runas /user:dominio\administrador "mmc <ruta\nombre-consola.msc>"
Ejemplos
Administración del equipo:
runas.exe /user:dominio\administrador "mmc %windir%\system32\compmgmt.msc"
Configuración de Terminal Services:
runas.exe /user:dominio\administrador"mmc.exe %SystemRoot%\system32\tscc.msc /s"
Internet Explorer
runas.exe /user:dominio\administrador "%ProgramFiles%\Internet Explorer\iexplore.exe"
RegEdit
runas.exe /user:dominio\administrador "%windir%\regedit.exe"
Administrador de tareas
runas.exe /user:dominio\administrador "%SystemRoot%\system32\taskmgr.exe"
Sobre /savecred
Esta comodidad, no obstante, entraña un peligro: que no ejecutemos las cosas con privilegios administrativos con la suficiente "solemnidad" que nos da el que sea necesario tener que suministrar la contraseña para ello. Así pues, aunque sea más incómodo y pesado, es preferible evitar el uso de esta opción.
Otros Artículos Interesantes
Trabajar como administrador: navegar y recibir correo más seguro
http://download.microsoft.com/download/2/2/d/22d605b7-58d5-4dde-a873-8359e3460c53/Navegar_y_recibir_correo_mas_seguro.doc
Como ejecutar una aplicación con permisos de otro usuario (Emular un "Run As")
http://www.uyssoft.com/Articulo.aspx?sm=7&ID=11
Utilidades de terceros
NetExec
http://www.netexec.de/
Masquerade
http://mtvlabs.com:9225/
EMCO RunAs Professional
http://www.emco.is/run_as_professional/features.html
TqcRunA
http://www.quimeras.com/products/displayproduct.asp?IdProduct=4
© 2/2006 Fernando Reyes López
Windows Server Networking : Lecturas interesantes - el saber nunca ocupa lugar - escribió
[...] Share this post: email it! | bookmark it! | digg it! | live it! Published 27-11-2006 11:31 by juansa Filed under Herramientas, WindowsServer [...]
urpiano escribió
He añadido referencia a tu artículo en el mío. Gracias, Juansa
Un abrazo
sree escribió
iam an administrator and cannot even open control panel to add or delete any programs i’ve a password too