Nombre caracteristica de windows exacta TELNET (activar telnet desde cmd)

Iniciado por fabian7593, 21 Septiembre 2013, 08:05 AM

0 Miembros y 1 Visitante están viendo este tema.

fabian7593

hola soy programador de c++, estoy ralizando un sistema que envie correos desde este lenguaje, pero en DEV C++, lo cual no hay mucha ayuda sobre eso en internet, ejemplos malos etc, bueno resulta que di el TELNET de windows se que se puede activar desde panel de control, pero esa manera no me sirve!
quiero hacerlo desde cmd (para poder usar el system(); en c++).
investigando encontre que se activa de esta manera:

pkgmgr /iu:"TelnetClient" [enter]

eso carga un poco pero no hace nada , como se que no hace nada? porque pongo el comando
"telnet" y aun no lo reconoce, investigue un poco sobre  pkgmgr , es un "instalador" de windows desde comandos por decirlo de una manera resumida, resulta que para activar opciones instaladas de windows se usa el /iu:
pero requiere el nombre de la caracteristica de windows EXACTA, con las mismas mayus y minus... pero como veo el nombre de la caracteristica de telnet ? y donde la veo? , eso es lo que no se y no encuentro, uno supone que la caracteristica se llama telnet, pero en todo lado dicen que es TelnetClient, cosa que es falsa tambien, porque al activarlo desde cmd no pasa nada.

alguien sabe ese nombre o como activarlo desde cmd? :) muchas gracias


NOTA: tomar en cuenta que el telnet en windows la mayoria de veces esta instalado pero no activado

Eleкtro

#1
Cita de: fabian7593 en 21 Septiembre 2013, 08:05 AMuno supone que la caracteristica se llama telnet, pero en todo lado dicen que es TelnetClient, cosa que es falsa tambien, porque al activarlo desde cmd no pasa nada.

Estás supniendo mal porque Telnet es un conjunto de dos paquetes separados, por un lado está el cliente de Telnet (TelnetClient), y por otro lado el servidor de Telnet (TelnetServer), tu lo que pretendes activar es el cliente.

Cita de: fabian7593 en 21 Septiembre 2013, 08:05 AMalguien sabe ese nombre o como activarlo desde cmd? :) muchas gracias

Las caracteristicas de Windows se deben activar y/o desactivar mediante la herramienta DISM EDITO: Me refiero en el caso de querer hacerlo de forma automatizada, de lo contrario se debería hacer desde la lista de características de Windows, claro.

Activar:
dism /online /Enable-Feature /FeatureName:TelnetClient

Desactivar:
dism /online /Disable-Feature /FeatureName:TelnetClient

Y con la misma herramienta puedes listar todos los paquetes:

dism /online /get-features

PD: Por si te lo estás preguntando, el Switch /Online hace referencia a la imagen del sistema operativo activo, no tiene nada que ver con la conectividad online de red no debes preocuparte.

Cita de: fabian7593 en 21 Septiembre 2013, 08:05 AMNOTA: tomar en cuenta que el telnet en windows la mayoria de veces esta instalado pero no activado

Quizás quieras revisar el modo en que va a funcionar tu aplicación porque también existe la posibilidad de que Telnet no esté ni siquiera integrado en el sistema y por ende ni exista ni se pueda activar, te lo comento como es en mi caso,
existen utilidades para capar caracteristicas de Windows para hacer imágenes de instalaciones desatendidas de Windows, sin ir más lejos, se puede hacer usando DISM e ImageX.

Dicho de otra manera, hay como un 50% de probabilidad de que los usuarios que utilizan versiones "Lite" de Windows tengan capado Telnet complétamente, depende de la persona que haya creado la imagen desatendida.

Saludos!








fabian7593

EleKtro H@cker   excelente muchas gracias, soy nuevo en el foro alguien me lo recomendo (de hecho nunca uso foros, nunca habia tenido respuestas claras solo aca), justamente lo que estaba buscando,
pero ahora tengo otra pregunta!! se puede usar dism sin ejecutar el cmd como "administrador" ? ... si no se puede , o si no hay alguna forma de hacerlo, ya me las arreglare desde c++ jaja ... y como se podra saber si el telnet esta o no instalado en el SO?, y como instalarlo desde cmd en caso de que no lo este! :)

(pregunto mas porque no tome en cuenta los usuarios con windows "LITE") jaja

de nuevo muchas gracias :) :D

Eleкtro

Cita de: fabian7593 en 22 Septiembre 2013, 01:40 AMcomo se podra saber si el telnet esta o no instalado en el SO?

Pues ejecutando el proceso DISM.exe desde C++ y leyendo el output xD, o ejecutando el proceso de la CMD y leyendo el ExitCode, yo usaría dism.exe + una expresión regular.

No manejo C++, así que te muestro un ejemplo de como se haría diréctamente desde el proceso CMD.exe:

CMD.exe /C "Dism.exe /online /get-features /format:table | Find /I "TelnetClient" | Findstr /I "Habilitado$ Enabled$""

El code devuelve positivo si se encuentra telnet habilitado

Cita de: fabian7593 en 22 Septiembre 2013, 01:40 AMse puede usar dism sin ejecutar el cmd como "administrador" ?

Por desgracia las aplicaciones de este tipo requieren permisos elevados.

Cita de: fabian7593 en 22 Septiembre 2013, 01:40 AMcomo instalarlo desde cmd en caso de que no lo este! :)

Nunca lo he probado, pero poniéndonos en el mejor de los casos podría ser suficiente con copiar el archivo telnet.exe en la carpeta "C:\Windows\system32", el archivo de idioma telnet.MUI en la carpeta "C:\Windows\System32\es-es" y el archivo de manifiesto en la carpeta "C:\Windows\WinSXS\Manifests", en el mejor de los casos.

Si eso no funcionase imagino que habría que localizar y extraer el paquete (un archivo ".cab" imagino) de TelnetClient para instalarlo con pkgmgr, aunque tampoco estoy seguro de si esto funcionaría.

De todas formas con cualquiera de las dos posibles soluciones necesitarías específicamente la versión de Telnet para la versión de Windows en la que se va a instalar, así que deberías bajarte una iso de XP x86/x64, Vista x86/x64, Seven x86/x64 y Blue x86/x64 para guardarte una copia del paquete de Telnet de cada versión de Windows y añadir los archivos como recursos en tu aplicación.

Sincéramente pienso que es demasiado esfuerzo y no vale la pena, si alguien usa una versión reducida de Windows y por ese motivo no le funciona tu app, pues le saltas un MsgBox diciendole que use copias originales de Windows.

Saludos!








fabian7593

EleKtro H@cker excelente de nuevo muchas gracias,
y si siento que es mucho trabajo...

Creo que optare por esta parte


Sincéramente pienso que es demasiado esfuerzo y no vale la pena, si alguien usa una versión reducida de Windows y por ese motivo no le funciona tu app, pues le saltas un MsgBox diciendole que use copias originales de Windows.


Ya me las arregle para ejecutarlo como administrador desde c++ :P cuando tenga la aplicacion (solo la parte de subir correos), la publico en el foro!! :3

ahora tenog otro problema con el telnet D: pero abrire otro tema :3 , ya que este esta solucionado :P