El Usuario lo tienes fácil.
En RM/Cobol existe una rutina C$getsysinfo que en el registro, aparte de numerosa información devuelve el nombre de usuario. Debe de haber algo parecido en Powercobol.
Si asi no fuera, en rmcobol tambien hay una rutina que devuelve el valor de una variable de entorno donde esta el usuario que esta ejecutando. Esa variable es USERNAME
Y si no pues, a pelo.....
Call "system" using "cmd /c echo %username% > fichero.log " y a leer el .log
Para hacer esto último mas completo en vez de fichero.log que sea un numero aleatorio para que no tengas conflicto.
Para saber la IP yo utilizo netstat -n que nos dice todas las conexiones abiertas. Si os conectais con el puerto estandard 3389
Call "system" using "cmd /c netstat -n | find ":3389 " y a leer el .log
TCP 192.168.17.22:3389 192.168.64.01:64683 ESTABLISHED
TCP 192.168.17.22:3389 192.168.64.22:64603 ESTABLISHED
aparecerá una linea para cada conexión, en este ejemplo hay dos usuarios desde las IPs 192.168.64.01 y 192.168.64.22 conectados con terminal server al 192.168.17.22
---------- Post añadido : 17:23 ---------- Post anterior : 17:05 ----------
-----------------------
Dependiendo de la version windows server que tengas instalado puedes activar la auditoria del sistema y se hace sola.
Windows Server 2008 Terminal Services Log