Apagar / Reinicias Windows XP desde el escritorio remotos

Y seguimos trabajando con Windows, no es que sea un aficionado a Windows, simplemente es lo que hay en el trabajo, en fin, nuevamente explorando herramientas de linea de comando de comandos encontre una interesante.

Que pasa cuando estamos en una sesión de Escritorio Remoto y necesitamos reiniciar o apagar el equipo remoto y no podemos acceder fisicamente a el, vamos contento a nuestro nuestro botón de inicio, pero nos encontramos que no esta la opción de apagar equipo, sino solo desconectar, que lo que nos hace nos desconecta de la sesión remota y no llegamos a realizar nuestra cometida de reiniciar el equipo.
Bueno la solución se encuentra en nuestra terminal, esa pantalla negrita, que los usuarios Windows no estan acostumbrados a usar.

Simplemente si necesitamos Reiniciar nuestro equipo remoto, escribimos

C:\WINDOWS\SYSTEM32\TSSHUTDN.EXE 0 /DELAY:0 /REBOOT

Y si necesitamos apagar nuestro equipo remoto

C:\WINDOWS\SYSTEM32\TSSHUTDN.EXE 0 /DELAY:0 /POWERDOWN

Esta son las Opciones que tiene el comando

C:\WINDOWS\system32>tsshutdn /help
Parámetros no válidos.
Apague un servidor de manera controlada.

TSSHUTDN [tiempo_espera] [/SERVER:nombreservidor] [/REBOOT] [/POWERDOWN]
[/DELAY:retrasocierre] [/V]

tiempo_espera Segundos de espera tras la notificación del
usuario antes de terminar todas las sesiones
de usuario (el valor predet. es 60).
/SERVER:nombreservidor Servidor para apagar (el actual es el predet.).
/REBOOT Reiniciar el servidor cuando las sesiones de
usuario hayan terminado.
/POWERDOWN El servidor se preparará para apagarse.
/DELAY:retrasocierre Segundos de esperar tras cerrar todas las
sesiones conectadas (el valor predet. es 30).
/V Muestra información acerca de las funciones que
se están realizando.

Conectar varios usuarios remotos Windows XP y activar hibernaciòn

Son las 4:30 de la madrugada y no se podía dormir, así que mejor que escribir una entrada al blog.

Hoy estuve tratando de encontrar la forma de conectarme a un escritorio remoto en un Windows XP pero sin desloguear al usuario que esta en sesión en ese momento, es decir conectar varias sesiones de escritorio en una misma maquina. Bueno que mas da que existe google y navegando entre diferentes opciones encontré una que me funciono.

Vale decir que el poder conectar varias sesiones de escritorio remoto esta activado en las versiones de Windows Server, pero como el XP es un Windows de Escritorio esta es una de las tantas opciones que digamos fue ocultada o desactivada para diferenciar de un server y no sobrecargar un pc de escritorio con cosas que un usuario común no utilizaría  pero como nosotros siempre le queremos sacar el máximo provecho a nuestra vieja maquina nos escudriñamos y buscamos todo aquello que nos haga la vida mas sencilla.

Bueno sigamos con lo nuestro, la cuestión era poder conectar dos sesiones de un escritorio remoto simultáneamente sin que la otra se deslogee.

Para ello simplemente hay que modificar un par de entradas en el registro y copiar una librería dinámica (termsrv.dll) a nuestra biblioteca de librerías.

Primero Bajamos el Siguente Archivo (URDPC) y lo descomprimimos:

Lo primero que hacemos es agregar unas lineas a nuestro registro de Windows

Abrimos nuestra consola y ejecutamos.

@REG ADD «HKLM\SYSTEM\ControlSet001\Control\Terminal Server\Licensing Core» /v EnableConcurrentSessions /d 1 /t REG_DWORD /f >nul
@REG ADD «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon» /v EnableConcurrentSessions /d 1 /t REG_DWORD /f > nul
@REG ADD «HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon» /v AllowMultipleTSSessions /d 1 /t REG_DWORD /f > nul

Siguiendo esto Copiamos nuestra libreria a sus respectivos directorios, recordemos renombrar la libreria original para tenerla de resguardo si algo falla.

copy termsrv.dll C:\Windows\System32\dllcache
copy termsrv.dll C:\WINDOWS\ServicePackFiles\i386
ren C:\WINDOWS\system32\termsrv.dll termsrv_orig.dll
copy termsrv.dll C:\WINDOWS\system32

y luego modificamos las siguenets claves en el registro de Windows.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]
«fDenyTSConnections»=dword:00000000
«TSAdvertise»=dword:00000001
«IdleWinStationPoolCount»=dword:00000001
«TSAppCompat»=dword:00000000
«TSEnabled»=dword:00000001
«TSUserEnabled»=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Licensing Core]
«EnableConcurrentSessions»=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]
«fEnableWinStation»=dword:00000001
«MaxInstanceCount»=dword:ffffffff

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
«AllowMultipleTSSessions»=dword:00000001

Reiniciamos y listo.

Como vemos no es complicado pero son muchas cosas que escribir, principalmente en el registro de Windows, asi que aca les dejo una forma mas fácil en el siguiente archivo URDPC.zip van a encontrar una serie de archivos .bat y un archivo de registro.
Descompriman el URDPC y ejecuten primero el Install RDP.bat (este copia la libreria y agrega las claves) y luego el TS Reg Patch.reg )el cual modifica el registro de Windows), reinician y listo, ya pueden conectar varias sesiones del escritorio remoto simultaneamente.
Recuerden que muchas sesiones abierta en una misma maquina puede hacer que disminuya el rendimiento, pero bueno si llegaron hasta acá es porque para algo les va a servir.

Y de yapa esta noche encontré la forma de activar la hibernación (pasar todos los datos de memoria al disco para poder apagar la computadora sin perder datos) en aquellos Windows vista que la tienen desactivada.

Abren una consola en modo administración, (click derecho, ejecutar como administrador) y escriben

powercfg -H ON 

le dan enter, se demora unos segundo y listo ya tiene el modo hibernacion activo.

Espero que les alla servido esta info.

NightSlayer