elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Dar Nombre a La Pc con la mac address
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Dar Nombre a La Pc con la mac address  (Leído 6,242 veces)
Slikp

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Dar Nombre a La Pc con la mac address
« en: 8 Diciembre 2013, 20:47 pm »

- Buenas Tardes, antes que nada debo decirles que soy menos que un novato en esto, tengo solo 2 dias explorando lo que es Bat- Batch y la verdad me e interesado en el por la facilidad que e visto en el para automatizar cierto procesos.

- Sin mas rodeos acudo a uds para pedirles ayuda para realizar un pequeño script que tengo en mente, lo que quiero hacer es lo siguiente, quiero darle un nombre o renombrar si ya posee un nombre la PC sin embargo quiero dale un determinado nombre seguido de los ultimos 6 digitos de la mac de dicha pc.

- Intente recopilar la mayor información que pude en este foro para ver si lo podia hacer pero que va no doy con lo que busco.

- Les comento lo que intente hacer y donde tengo problemas. En primer lugar pense en hacer un Getmac para obtener la mac address de la pc luego pegarlo en un bloc de notas, copiar solo los 6 ultimos digitos meter esos 6 digitos en una variable y renombrar la pc dando un X nombre mas la variable y buscando encontre varias cosas pero aun asi no pude.

- Con esto obtuve la Mac address.
   
Código:
   
       @echo off
          getmac
       pause
   
-  Pero no encontre manera de copiar esa mac y pegarlo en un bloc de notas Intente con esto pero no resulto.
Código:
  
 @echo off
    set mac="getmac"
    %mac%
 echo %mac% >"%USERPROFILE%\desktop\resultado.txt"
pause

- Me hace el bloc de notas pero no pega nada y a veces pega solo getmac.

- Sobre copiar una determinada linea de un bloc de notas encontre esto que lo posteo el usuario "Leo Gutiérrez" pero tampoco me funciono.
 
Código:
   
@echo off
    (
    echo 4, 4l
    echo e
    echo e
    ) | edlin file.txt | findstr /v /i "^Final" | findstr /v /i "^\*4.*" | findstr /v /i "^\*e.*$" > "temp.txt"
pause
    for /f "tokens=2 delims=()" %%a in (temp.txt) do (
    echo Numero : %%a
    )
    set /p "="
    exit /b 0
pause
- Al ejecutarlo me dice no se reconoce edlin como un comando interno o externo.

- Y para nombrar o renombrar una Pc encontre esto y si me funciono.
Código:
@echo off
cls
echo Presione Una Tecla Para Ingresar Automaticamente El Nuevo Nombre Del Equipo
echo.

pause
   
reg add HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName\/v ComputerName /t REG_SZ /d %1 Usuario0
cls
reg add HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\/v ComputerName /t REG_SZ /d %1 Usuario0
cls
reg add HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters /v "NV Hostname" /t REG_SZ /d %1 Usuario0
cls
reg add HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters /v Hostname /t REG_S
- Espero puedan ayudarme con mis errores o si tienen una mejor solucion tambien es bienvenida, por otro lado quisiera saber lo del "no se reconoce edlin como un comando interno o externo" A que se debe eso? De ante mano Gracias.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.818



Ver Perfil
Re: Dar Nombre a La Pc con la mac address
« Respuesta #1 en: 8 Diciembre 2013, 22:50 pm »

Para obtener la salida de un comando debes usar FOR /F.

Te muestro mi solución:

Código
  1. @Echo OFF & Title Rename ComputerName
  2.  
  3. Set "MAC="
  4. Set "PCName="
  5.  
  6. SET /P "PCName=Provide a new computer name: "
  7.  
  8. FOR /F "Tokens=1 Delims= " %%@ IN (
  9. 'getmac.exe ^| FIND "\"'
  10. ) DO (
  11. Set "MAC=%%@" & REM Obtain address
  12. Call Set "MAC=%%MAC:-=%%" & REM Delete Dash character "-"
  13. Call Set "MAC=%%MAC:~6%%" & REM Take last 6 characters.
  14. )
  15.  
  16. REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /D "%PCName%%MAC%" /F 1>NUL
  17.  
  18. Pause&Exit

EDITO:
No leí esta duda.
quisiera saber lo del "no se reconoce edlin como un comando interno o externo" A que se debe eso?

Se debe a que no existe el comando EDLIN en tu PC. Edlin es un comando de WindowsXP.

Saludos!


« Última modificación: 8 Diciembre 2013, 23:04 pm por EleKtro H@cker » En línea

Slikp

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Dar Nombre a La Pc con la mac address
« Respuesta #2 en: 8 Diciembre 2013, 23:11 pm »

- Buenas Tardes EleKtro H@cker, Gracias por responder a mi duda.

- Probe tu script y no me funciono en Primer lugar me pide ingresar Un nombre luego doy enter y termina el programa, pero no me cambia el nombre de la pc.

 - EDITO: Lo probe en W7 y no me funciono y asi como me has dado el script Funcionara Para Xp ??, La verdad busco que funcione para XP solo que ahorita no tengo la oportunidad de probarlos en las pc con XP si no hasta mañana.

- Por cierto Si modifico tu script de esta manera Funcionara??

Código:
    @Echo OFF & Title Rename ComputerName
    
    Set "MAC="
    
    FOR /F "Tokens=1 Delims= " %%@ IN (
    'getmac.exe ^| FIND "\"'
    ) DO (
    Set "MAC=%%@" & REM Obtain address
    Call Set "MAC=%%MAC:-=%%" & REM Delete Dash character "-"
    Call Set "MAC=%%MAC:~6%%" & REM Take last 6 characters.
    )
    
    REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /D "CualQuierNombre%MAC%" /F 1>NUL
    
    Pause&Exit

- Fijate que Elimine
Código:
Set "PCName="
 
SET /P "PCName=Provide a new computer name: "

- Y Cambie.

Código:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /D "%PCName%%MAC%" /F 1>NUL

- Por.

Código:
    REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /D "CualQuierNombre%MAC%" /F 1>NUL
« Última modificación: 8 Diciembre 2013, 23:16 pm por Slikp » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.818



Ver Perfil
Re: Dar Nombre a La Pc con la mac address
« Respuesta #3 en: 8 Diciembre 2013, 23:30 pm »

- Probe tu script y no me funciono en Primer lugar me pide ingresar Un nombre luego doy enter y termina el programa, pero no me cambia el nombre de la pc.
La modificación del registro requiere un reinicio de la sesión del usuario para que los cambios surgan efecto, reinicia tu PC para ver el nuevo nombre del PC.

Asi como me has dado el script Funcionara tanto para W7 como Para Xp ??
Si, la aplicación getmac.exe está disponible en WinXP, y la subclave de registro es idéntica.

Si modifico tu script de esta manera Funcionara??
Si, no te preocupes, la modificación que hiciste es correcta.

Pero ten en cuenta que hay un límite máximo de longitud para establecer el nombre del PC, es muy posible que si agregas un nombre demasiado largo mediente el registro, windows automáticamente lo acorte, o símplemente no puedas iniciar sesión, lo he verificado en XP y al agregar un nombre demasiado largo se produce un error en el proceso lssas negando el inicio del escritorio, ten cuidado.

Desconozco el límite exacto (además de una versión de Windows a otra el número quizás podría variar), pero lo puedes verificar tu mismo intentando escribir un nombre largo en la caja de texto donde se establece el nombre del PC, de todas formas esto dice Microsoft:

Citar
The recommended length of the Computer Name for most languages is 15 characters or less.
For languages that require more storage space per character, such as Chinese, Japanese, and Korean, the recommended length is 7 characters or less.

Así que asegúrate de limitar la longitud de la cadena del nombre con la MAC ya agregada al nombre. En el Script que te mostré tienes un ejemplo de como hacer un Substring:
Código:
%String:~START,END%

Saludos.
« Última modificación: 8 Diciembre 2013, 23:33 pm por EleKtro H@cker » En línea

Slikp

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Dar Nombre a La Pc con la mac address
« Respuesta #4 en: 8 Diciembre 2013, 23:39 pm »

- Muchas Gracias EleKtro H@cker, Reinicio la Pc y te aviso. Sin embargo te comento que con este:

Código:

@echo off
cls
echo Presione Una Tecla Para Ingresar Automaticamente El Nuevo Nombre Del Equipo
echo.

pause
   
reg add HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName\/v ComputerName /t REG_SZ /d %1 Usuario0
cls
reg add HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\/v ComputerName /t REG_SZ /d %1 Usuario0
cls
reg add HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters /v "NV Hostname" /t REG_SZ /d %1 Usuario0
cls
reg add HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters /v Hostname /t REG_S


- Que fue el que potee al principio no era necesario reiniciar la Pc por eso la confusion de si tu script funcionaba...
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.818



Ver Perfil
Re: Dar Nombre a La Pc con la mac address
« Respuesta #5 en: 8 Diciembre 2013, 23:53 pm »

Si intentas modificar manuálmente el nombre del PC verás como Windows te avisa de que se requiere un reinicio para efectuar el cambio, no me lo invento.
De todas formas al usar tanto el Script que te mostré como el que tu mostraste, sin reiniciar puedes ver el nuevo nombre en el panel de control en las propiedades avanzadas del sistema, pero iguálmente se requiere un reinicio para finalizar la modificación.

Lo que ocurre es que en en tu script estás modificando más valores aparte del nombre del equipo, como el nombre del dominio y el del PC activo,
quizás el problema podría ser que no hayas usado el término correcto para referirte a lo que reálmente pretendes modificar (el nombre del PC), si quieres modificar todas esas cosas entonces combina esas 4 órdenes con la que yo puse en mi script, es así de simple.

Código
  1. reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v "ComputerName"  /d "CualQuierNombre%MAC%" /F 1>NUL
  2. reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName"       /v "ComputerName"  /d "CualQuierNombre%MAC%" /F 1>NUL
  3. reg add "HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters"               /v "NV Hostname"   /d "CualQuierNombre%MAC%" /F 1>NUL
  4. reg add" HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters"               /v "Hostname"      /d "CualQuierNombre%MAC%" /F 1>NUL

Saludos!
« Última modificación: 9 Diciembre 2013, 00:01 am por EleKtro H@cker » En línea

Slikp

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Dar Nombre a La Pc con la mac address
« Respuesta #6 en: 9 Diciembre 2013, 00:25 am »

- Muchisimas Gracias EleKtro H@cker, ya funciona perfectamente por otro lado no deseo modificar el nombre del domino entonces me imagino que debo eliminar las 2 lineas que tienen Hostname no ? combine tu codigo con el que yo encontre y funciona todo bien, aun hay mas cosas que deseo hacer con este script pero por lo pronto me conformo con esto, mejor me sigo enfocando en estudiar mas sobre batch ya que tengo mucho que aprender.
Código:

    @Echo OFF & Title Rename ComputerName
     
    Set "MAC="
    Set "PCName="
     
    SET /P "PCName=Provide a new computer name: "
     
    FOR /F "Tokens=1 Delims= " %%@ IN (
    'getmac.exe ^| FIND "\"'
    ) DO (
    Set "MAC=%%@" & REM Obtain address
    Call Set "MAC=%%MAC:-=%%" & REM Delete Dash character "-"
    Call Set "MAC=%%MAC:~6%%" & REM Take last 6 characters.
    )

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ActiveComputerName\/v ComputerName /t REG_SZ

/d "%PCName%%MAC%" /F 1>NUL
cls
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\/v ComputerName /t REG_SZ /d %1

"%PCName%%MAC%" /F
cls
REG ADD HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters /v "NV Hostname" /t REG_SZ /d %1

"%PCName%%MAC%" /F 1>NUL
cls
REG ADD HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters /v Hostname /t REG_S /d %1 "%PCName%

%MAC%" /F 1>NUL 1>NUL
cls
     
    Pause&Exit


- Por cierto una cosa mas aun no entiendo lo que me dijistes sobre "Para obtener la salida de un comando debes usar FOR /F", lo que no entiendo es como capturas dicha salida en una variable y luego la impremes en un bloc de notas intente con esto pero no funciono.

Código:
@Echo OFF & Title Rename ComputerName
 
Set "MAC="
 
FOR /F "Tokens=1 Delims= " %%@ IN (
'getmac.exe ^| FIND "\"'
) DO (

Set "MAC=%%@" >"%USERPROFILE%\desktop\resultado.txt"
)

pause
- Igual que antes creo el bloc de notas pero sin nada.
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.818



Ver Perfil
Re: Dar Nombre a La Pc con la mac address
« Respuesta #7 en: 9 Diciembre 2013, 01:44 am »

El problema está aquí:
Citar
Código:
Set "MAC=%%@" >"%USERPROFILE%\desktop\resultado.txt"

Sería así:
Código:
Echo %%@>"%USERPROFILE%\desktop\resultado.txt"

Lo que has intentado hacer no tienen ningún sentido, debes estudiar que son y como se usan los Operadores de redirección y los Búcles/Loops/Fors.

-> http://ss64.com/nt/syntax-redirection.html
-> http://ss64.com/nt/for_f.html

Además, no caigas en el error de pensar que todo se debe escribir en un archivo de texto para crear variables u otras cosas... como has visto yo no he necesitado hacer eso.

Saludos
En línea

Slikp

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Dar Nombre a La Pc con la mac address
« Respuesta #8 en: 12 Diciembre 2013, 22:51 pm »

- No habia tenido tiempo para pasar por estos lados debido al trabajo y aprovechando el tiempo que tengo paso para darte las Gracias EleKtro H@cker, ya pude terminar por completo el script justo como lo necesitaba.

- Con respecto a lo de imprimir la variable en un bloc de notas, bueno me daba mucha curiosidad del como hacerlo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
MAC Address
Juegos y Consolas
zysus 1 2,455 Último mensaje 13 Julio 2008, 21:49 pm
por T0rete
MAC Address
Programación Visual Basic
moises9633 3 2,993 Último mensaje 16 Agosto 2008, 07:52 am
por moises9633
Wordpress, cambiar el nombre en las paginas! envez de p=?123 el nombre
Desarrollo Web
XXXXXX 7 9,854 Último mensaje 22 Noviembre 2010, 20:03 pm
por XXXXXX
MAC address
Programación C/C++
<<<-Basura->>> 5 5,428 Último mensaje 21 Septiembre 2011, 22:42 pm
por <<<-Basura->>>
WEP nombre oculto tengo el nombre pero no puedo atacar...
Wireless en Linux
bebo155 0 2,468 Último mensaje 22 Diciembre 2012, 08:48 am
por bebo155
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines