Autor
|
Tema: Run as sin tener que escribir password (Leído 29,433 veces)
|
krizalidk
Desconectado
Mensajes: 47
|
Hola amigo gracias por su apoyo por anticipado el detalle que tengo es que quiero aplicar un bat pero solo funciona si este se ejecuta por admin pero no quiero que escriba la contraseña. alguien que me pueda apoyar
tengo algo asi runas /user:usuariolocal D:\install.bat oakshu2 saludos
|
|
« Última modificación: 26 Mayo 2015, 02:45 am por Eleкtro »
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.921
|
Buenas. krizalidk, 1. Está prohibido hacer doble post.2. Es obligatorio utilizar las etiquetas de código para insertar código.3. Lee las normas del foro.Para automatizar la autentificación del usuario especificado, puedes añadir la opción /savecred para guardar las credenciales de autentificación cómo su nombre indica, esto quiere decir que necesitarás introducir la contraseña una única vez, pero las siguientes veces no será necesario: runas.exe /noprofile /user:"domain\user" /savecred "file" En su defecto, puedes utilizar la efectiva aplicación de terceros psexec: psexec.exe \\computername -u "domain\user" -p "password" "file" O tambien puedes probar esta alternativa, que consiste en aplicar un cambio de política de usuario para permitir contraseñas en blanco, crear la cuenta de usuario oculta "Administrator" ("Administrador" si windows está en Español), asignarle una contraseña en blanco a la cuenta, y utilizar el comando runas de manera corriente: ➢ Using RunAs With a PasswordSaludos.
|
|
« Última modificación: 26 Mayo 2015, 02:51 am por Eleкtro »
|
En línea
|
|
|
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
|
|
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
krizalidk
Desconectado
Mensajes: 47
|
muchas gracias por el tema pero se puede hacer algo para que no pida el password es que aquí mencionas que lo requiere una vez pero como lo voy empaquetar y se realizara de forma silenciosa requiero esa parte
|
|
|
En línea
|
|
|
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
Elektro a ver si he entendido bien, si corro ese comando con mi aplicacion cuando la ejecuto la primera vez con permisos de administrador, entonces ya no me pediría más veces las credenciales? He implementado esto, debería funcionar? public Boolean elevacionUAC() { // Launch itself as administrator ProcessStartInfo proc = new ProcessStartInfo (); proc.UseShellExecute = true; proc.WorkingDirectory = Environment.CurrentDirectory; proc.FileName = System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase; //Application.ExecutablePath; proc.Verb = "runas"; proc.Arguments="/noprofile /user:\""+Dns.GetHostName()+" /savecred \""+System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase+"\""; try { Process.Start(proc); return true; } catch { return false; } }
Tras ejecutar eso se supone que ya no me pediría mas a elevacion de UAC (mientras mantenga la misma pass se supone) y se podría lanzar siempre con el UAC? public void EjecutarComando(String _Command) { System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + _Command ); // Indicamos que la salida del proceso se redireccione en un Stream procStartInfo.RedirectStandardOutput = true; procStartInfo.UseShellExecute = false; procStartInfo.CreateNoWindow = true; procStartInfo.WindowStyle = ProcessWindowStyle.Hidden; System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo = procStartInfo; try { proc.Start(); Console.WriteLine("acieeerto"); } catch { Console.WriteLine("errorr"); } //Consigue la salida de la Consola(Stream) y devuelve una cadena de texto string result = proc.StandardOutput.ReadToEnd(); //Muestra en pantalla la salida del Comando Console.WriteLine(result); }
Mejor este codigo y pasarle como cadena el comando siguiente: runas.exe /noprofile /user:"domain\user" /savecred "file" En domain/user nuestro nombre de usuario y en file el path del archivo. ¿con eso funcionaría? También me gustaría saber como crear otro usuario en runas con permisos de admin y sin contraseña creo que era, gracias. Gracias y saludos socio.
|
|
« Última modificación: 26 Mayo 2015, 18:23 pm por Kaxperday »
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.921
|
Tras ejecutar eso se supone que ya no me pediría mas a elevacion de UAC (mientras mantenga la misma pass se supone) y se podría lanzar siempre con el UAC? Así es, teoricamente no debería darte problemas, pero por otro lado las credenciales podrían "expirar" en ciertas circunstancias si se ejecuta runas de forma remota o si la cuenta tiene una contraseña que expira al pasar "X" días, o si simplemente se cambia la contraseña cómo tu has dicho, claro está. PD: No llenes el foro de scripting con códigos de C#  Saludos
|
|
|
En línea
|
|
|
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
Sorry XD, espero que sea el último de todas formas ejecuto batch desde c sharp  System.Diagnostics.ProcessStartInfo procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", "/c " + "runas.exe /noprofile /user:\""+Dns .GetHostName()+" /savecred \""+Directory .GetCurrentDirectory()+"\\Nighthawk.exe"); procStartInfo.RedirectStandardOutput = true; procStartInfo.UseShellExecute = false; procStartInfo.CreateNoWindow = true; procStartInfo.WindowStyle = ProcessWindowStyle.Hidden; System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo = procStartInfo; try { proc.Start(); MessageBox.Show("acieeerto"); } catch { MessageBox.Show("errorr"); }
He ejecutado eso me sale "acierto" luego el comando parece ejecutarse sin problemas, pero sin embargo vuelvo a ejecutar la aplicación y me vuelve a pedir permisos 
|
|
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
krizalidk
Desconectado
Mensajes: 47
|
alguna sugerencia con mi pregunta???
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.921
|
alguna sugerencia con mi pregunta??? A menos que desactives UAC... no lo creo, pero tampoco soy un gurú sobre vulnerabilidades de seguridad en Windows, quizás se pueda con alguna manera rebuscada. Puedes deshabilitar UAC de manera automatizada, pero requiere permisos ...claro está, y la desactivación requiere un reinicio de sesión para aplicar el cambio, así que no te sirve para lo que quieres hacer.
Reinicia el PC o reinicia la sesión de usuario para aplicar y testear el cambio correctamente, ¿te sigue pidiendo contraseña?, en caso afirmativo, ¿si lo haces desde la CMD (no desde tu app), te pasa lo mismo?. De todas formas, ¿has probado a combinarlo con la utilización de un archivo de manifiesto?, en especial modificando los elementos requestedExecutionLevel y autoElevate➢ Application Manifests - MSDNEn VisualStudio, 'Add' > 'New File' > 'Application Manifest'... Prueba algo parecido a esto: app.manifest<?xml version="1.0" encoding="utf-8"?> <asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <assemblyIdentity version="1.0.0.0" name="MyApplication.app"/> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/> </requestedPrivileges> </security> </trustInfo> <asmv1:application> <asmv1:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <autoElevate>true</autoElevate> </asmv1:windowsSettings> </asmv1:application> <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> <application> </application> </compatibility> </asmv1:assembly>
Saludos
|
|
« Última modificación: 26 Mayo 2015, 19:45 pm por Eleкtro »
|
En línea
|
|
|
|
Kaxperday
Desconectado
Mensajes: 702
The man in the Middle
|
Buenas socio, gracias por la respuesta. He probado esto: runas.exe /noprofile /user:%username% /savecred "C:\Users\Usuario\Desktop\Night.exe" En la cmd, me pedía la contraseña la ingresé y luego me dijo que la elevación requería privilegios WTF!. Lo del xml ya lo tenía al compilar la app la tengo con "requireAdministrator" y me sale el icono del UAC, y al clickar me pide permisos y corre con permisos, pero eso es lo que busco crear las runas en la primera ejecución y que no las vuelva a pedir más, pero no se si funcionará porque mientras siga el icono.. no sé. Saludos.
|
|
|
En línea
|
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Solucionado]come saco un password de msn cuando esta en remember password??
Mensajería
|
YANDEL
|
4
|
7,208
|
24 Junio 2011, 11:42 am
por .:UND3R:.
|
|
|
Tener perfil de Facebook será igual que tener número de teléfono
Noticias
|
wolfbcn
|
0
|
2,917
|
19 Octubre 2010, 14:06 pm
por wolfbcn
|
|
|
Uno de cada ocho hombres solteros elegiría tener iPhone antes que tener novia
Noticias
|
wolfbcn
|
5
|
4,111
|
27 Septiembre 2013, 22:39 pm
por Saberuneko
|
|
|
Que debo tener en cuenta para tener un sistema de votaciones seguro en android
Seguridad
|
serqueg10
|
9
|
6,783
|
10 Enero 2015, 07:07 am
por Gh057
|
|
|
Día de la Contraseña: Cómo tener un password seguro y los que nunca debes usar
Noticias
|
wolfbcn
|
0
|
2,406
|
7 Mayo 2015, 19:25 pm
por wolfbcn
|
|