Tengo esta línea dentro de mi archivo BAT:
"Example1Server.exe"
Me gustaría ejecutar esto en modo Administrador. ¿Cómo modificar el código bat para ejecutar esto como administrador?
¿Es esto correcto? ¿Necesito poner las comillas?
runas /user:Administrator invis.vbs Example1Server.exe
windows
batch-file
karikari
fuente
fuente
Respuestas:
Se utiliza
runas
para iniciar un programa como usuario específico:fuente
Example1Server.exe
) no necesita ponerse entre comillas, pero en algunos otros casos (como espacios en el nombre :) losExample1 Server.exe
necesitaría de hecho. Sin embargo, puede usar las comillas incluso si no son necesarias.runas /User:abc "csript myscript.vbs"
, orunas /User:abc "cmd /c start ..."
.La otra respuesta requiere que ingrese la contraseña de la cuenta de administrador. Además, se ejecuta bajo una cuenta en el grupo de administradores no es el mismo que en Ejecutar como administrador ver: UAC en la Wikipedia
Instrucciones de Windows 7
Para ejecutarse como administrador, cree un acceso directo para el archivo por lotes.
Luego puede configurar el acceso directo para que se ejecute como administrador:
Ahora, cuando hace doble clic en el acceso directo, se le solicitará la confirmación de UAC y luego Ejecutar como administrador (que, como dije anteriormente, es diferente de ejecutar bajo una cuenta en el Grupo de administradores)
Mira la captura de pantalla a continuación
Nota: cuando lo haga para ejecutar como administrador, el directorio (ruta) actual no será el mismo que el archivo bat. Esto puede causar algunos problemas en muchos casos cuando el archivo bat hace referencia a archivos relativos al lado. Por ejemplo, en mi Windows 7, el directorio cur será SYSTEM32 en lugar de la ubicación del archivo bat. Para solucionarlo , debe usar
cd "%~dp0"
o mejor
pushd "%~dp0"
para garantizar que cur dir esté en la misma ruta donde está el archivo bat.
fuente
Simplemente agregue esto a la parte superior de su archivo bat:
Se elevará a administrador y también permanecerá en el directorio correcto. Probado en Windows 10.
fuente
exit
al final de mi archivo por lotes o me dejarían en el indicador. Esto se debe probablemente a que .vbs lanza un segundo símbolo del sistema.Si puede usar una utilidad de terceros, aquí hay una
elevate
utilidad de línea de comandos .Esta es la descripción del uso:
fuente
elevate.exe
rocas!Puede utilizar nircmd.exe 's Elevate comando
Referencia de comandos de NirCmd: elevar
Solo para Windows Vista / 7/2008: ejecute un programa con derechos de administrador. Cuando el [Programa] contiene uno o más caracteres de espacio, debe ponerlo entre comillas.
Ejemplos:
PD: lo uso en win 10 y funciona
fuente
convierta su archivo por lotes en .exe con esta herramienta: http://www.battoexeconverter.com/, luego puede ejecutarlo como administrador
fuente
Luego
fuente
Creo que tengo una solución al problema de la contraseña. Este argumento único es realmente sorprendente. Pide la contraseña una vez y nunca más la vuelve a pedir. Incluso si lo coloca en otro programa, no le pedirá la contraseña. Aquí está:
runas /user:Administrator /savecred Example1Server.exe
fuente
Mi experimento indica que el comando runas debe incluir el dominio del usuario administrador (al menos en la configuración ambiental de mi organización):
Si aún no conoce el dominio del usuario administrador, ejecute una instancia de Símbolo del sistema como usuario administrador e ingrese el siguiente comando:
Las respuestas proporcionadas por Kerrek SB y Ed Greaves ejecutarán el archivo de destino bajo el usuario administrador pero, si el archivo es un script de Comando (archivo .bat) o un script VB (archivo .vbs) que intenta operar en el inicio de sesión normal El entorno del usuario (como cambiar las entradas del registro), es posible que no obtenga los resultados deseados porque el entorno en el que se ejecuta el script será el del usuario administrador, ¡no el usuario de inicio de sesión normal! Por ejemplo, si el archivo es un script que opera en la sección HKEY_CURRENT_USER del registro, el "usuario actual" afectado será el usuario administrador, no el usuario de inicio de sesión normal.
fuente
Utilice la unidad física completa \ ruta de acceso a su archivo por lotes de destino en el acceso directo Propiedades.
Esto no funciona en Windows 10 si usa unidades secundarias como intenté hacer al principio ...
fuente