Título: como puedo usr el psexec para cerra la sesion (De manera remota). Publicado por: P3NDULO en 27 Marzo 2014, 17:02 pm Buenas...
Tengo esta codigo... Código: @echo off color 17 echo. ***************************************************** echo. set /p equipo= Nombre de La maquina: @echo %equipo% echo. echo. ***************************************************** set /p nombre= Nombre del usuario: @echo. %nombre% echo psexec.exe \\%equipo% net localgroup Administradores %nombre%@dominio /add > usuario.bat echo psexec.exe \\%equipo% net localgroup Administradores %nombre%@dominio /add>> Listado.txt :: El Listado.txt es para tener la relacion de todos los equipos, y correr la lista cada 3 o 4 horas. pause. echo. ***************************************************** echo. call usuario.bat echo. echo. ****************************************************** exit Esto lo que hace es llamar al archivo .bat.. con el codigo de Psexec ya con todo los dtos, que vamos agregando... Con eso puede colocar al usuario como administrador local, para que este puede hacer un grupo de procesos que utilizan algunos .dll.... Pero para que estos cambios surtan efecto, hay que cerrar la sesion, y los usuario uno le dice cerrar secion y unos reinician el equipo, otros pagana el monitos, otoros cierran el programa que no pueden ejecutar sin pribilegios, ect... por eso quisiera hacerlo autamaticamente... pero las intruccion que me funciona es para reiniciar. Tengo aca un codico que lo uso local. cundo no me puedo conectar remotamente y no funciona el psexec.. Código: @echo off title BY ***CSI **** ::-------- Pasar usuario a administrador net localgroup Administradores nombre.apellido@dominio /add pause ::-------- Listado de usuarios net user pause ::-------- Reinicio de sesion msg * Se va a reiniciar la sesión shutdown -f -l Entonces la instrucion Código: shutdown -f -l que meto en psexec me arroja un error..Código: :: Este es que me da error psexec.exe \\%equipo% shutdown -f -l *********************************** ::Esta es la que funciona la de reinicio. psexec.exe \\%equipo% shutdown -r Que cambio podria hacer para que al ejecutar el bat, y agregue al usuario como administrador, cierre la cesion, y no duro los 60 segundos predeterminados que tiene de espera. Gracias... :silbar: Título: Re: como puedo usr el psexec para cerra la sesion (De manera remota). Publicado por: fe80Grau en 4 Septiembre 2014, 23:50 pm Resuelvo el problema;
Si ejecutas el psexec que cierra la sesión de la siguiente forma te funcionará Código: psexec.exe -i \\%equipo% shutdown.exe -l Título: Re: como puedo usr el psexec para cerra la sesion (De manera remota). 1.2 Publicado por: P3NDULO en 24 Octubre 2014, 01:06 am Bueno hice esto.
Seria la version 1.2 jejejeje... Primero solicito la ip de la maquina y saco el nombre de la maquina con este programita: que esta en .vbs Código: '-----------------------------------------' 'HACER PING A UNA DIRECCION Y MOSTRAR EL NOMBRE DEL EQUIPO '-----------------------------------------' 'Pedir la dirección' titulo ="<CSI> Buscar Nombre de Equipo" EstaIP=inputbox("Introduzca IP: ", titulo) '-----------------------------------------' 'Definimos y Creamos objeto para ejecutar comandos DOS 'Se puede usar shell: Shell "cmd.exe /c move c:\archivo.txt c:\carpeta\" 'si quieres ejecutar varios comandos separalos con &&. '"/c", para que pueda ejecutar los comandos que le siguen, 'el resultado de la ejecución se pasa a un archivo .txt que está en la raíz Set MiComandoDos = CreateObject("Wscript.Shell") MiComandoDos.run "cmd.exe /c ping -a "&EstaIP&">C:\Ping.txt",0, true '-----------------------------------------' 'Definimos y Creamos objeto para usar archivos 'Modos de abrir un archivo: 1.- Lectura, 2.- Escritura (ini), 8.- Append (fin) + true' Set MiArchivo = CreateObject("Scripting.filesystemobject") Set BuscarEn = MiArchivo.opentextfile("C:\Ping.txt",1) 'Crear un Arreglo para capturar las lineas del archivo, nos interesa la segunda Dim CadaLinea(13) i = 0 do Until BuscarEn.atEndOfStream CadaLinea(i)= BuscarEn.Readline i=i+1 Loop BuscarEn.close '-----------------------------------------' 'Buscar Nombre del Equipo en la segunda linea, es la cuarta palabra hasta el punto m = mid(CadaLinea(1),17,(Len(CadaLinea(1))-38)) 'n = instr(1,m,".") n = instr(1,m," ") NomPC=left(m,n-1) If len(NomPC)> 3 then 'y=msgbox("Ping realizado al siguiente Equipo:... "+Chr(13)+CadaLinea(1)+ _ ' Chr(13)+"El Nombre del Equipo es: >>> "+NomPC+" <<<",64,titulo) x=inputbox("Puede copiar el nombre"+chr(13)+"si desea utilizarlo en otra aplicación" _ ,titulo,NomPc) else y=msgbox("No se puede encontrar nombre; IP parece ser no válida "+Chr(13)+ _ "Verifique y ejecute de nuevo el programa.",48,titulo) end if Luego con el nombre de la maquina ejecuto este: en bat Código: @echo off color 17 echo. ***************************************************** echo. set /p equipo= Nombre de La maquina: @echo %equipo% echo. echo. ***************************************************** echo. set /p nombre= Nombre del usuario: @echo. %nombre% echo psexec.exe \\%equipo% net localgroup Administradores %nombre%@dominio /add > usuario.bat echo psexec.exe -i \\%equipo% shutdown.exe -l > usuario.bat echo psexec.exe \\%equipo% net localgroup Administradores %nombre%@dominio /add>> Listado.txt pause. echo. ***************************************************** echo. call usuario.bat echo. echo. ****************************************************** exit Con ese guardo los datos en un txt, para realizr eso al dia siguiente con una tarea programada jejejeje... Lo unico malo es que les digo a los usuarios Cierra la secion de Windos... y lo que hacen es reiniciar el quipo", y por politacas de la empresa pierden todos los pribilegios de adminisrador que les coloque. Utilizo el codigo que me dejo fe80Grau. pero no cierra la sesion. No sabria decirles el porque... Si hay otra manera pues se los agradezco. gracias por la ayuda. |