Pegar nome de computadores na rede

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Pegar nome de computadores na rede

Mensagem por clodoaldomonteiro »

Olá pesoal!

Existe alguma função para pegar o nome de um computador na rede?

A função NetName() pega o nome do computador local, mas como pegar o nome de outro computador na rede?
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Pegar nome de computadores na rede

Mensagem por Maligno »

Como diria Pe. Quevedo: iso nòn éqziste! :)
Pelo menos que seja do meu conhecimento. Em DOS. Em Windows me lembro de ter visto algo parecido certa vez.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Ademir
Usuário Nível 3
Usuário Nível 3
Mensagens: 170
Registrado em: 31 Jul 2007 16:28
Localização: Porto Ferreira-SP

Re: Pegar nome de computadores na rede

Mensagem por Ademir »

Boa tarde !

Uma solução seria no autoexec.nt criar uma variavel chamada set username=TERM1 por exemplo. No programa, basta fazer a seguinte verificação:

if gete("USERNAME")="TERM1"
....
endif

Se quiser identificar o nome da estação, funciona.

Espero ter ajudado...


Sem mais

Ademir.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Pegar nome de computadores na rede

Mensagem por Maligno »

O pedido do colega, se entendi certo, é pegar de uma estação os nomes das demais estações. Agora, se for necessário saltitar no campo das gambis, cada estação poderia então gravar seu nome num arquivo de rede. Pronto. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
janio
Colaborador
Colaborador
Mensagens: 1846
Registrado em: 06 Jul 2004 07:43
Localização: UBAJARA - CE

Re: Pegar nome de computadores na rede

Mensagem por janio »

O comando nbtstat talves funcione para o que vc precisa. Basta digitar nbtstat -a IpComputadorRede que ele devolve o nome da maquina remota.

Código: Selecionar todos

NBTSTAT

Mostra estatísticas de protocolos e conexões de TCP/IP correntes usando NBT (NetBIOS) sobre TCP/IP.

"nbtstat -a" para listar as máquinas por nome.
"nbtstat -A" para listar as máquinas por IP.
"nbtstat -c" para listar o nome do cache remoto incluindo os endereços IP.
"nbtstat -n" para listar os nomes de NETBIOS Local.
"nbtstat -r" para listar nomes resolvidos por Broadcast e por WINS.
"nbtstat -R" para recarregar a tabela de cache remoto.
"nbtstat -S" para listar a tabela de sessões com os IPs de destino.
"nbtstat -s" para listar tabela de sessões convertendo IP de destino para nomes de Hosts pelo arquivo de Hosts.

fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar do usuário
vailton
Colaborador
Colaborador
Mensagens: 390
Registrado em: 17 Nov 2005 19:08
Localização: Brasil
Contato:

Re: Pegar nome de computadores na rede

Mensagem por vailton »

Observando este tópico agora me veio à cabeça que vc podeia fazer algo assim:

Código: Selecionar todos

c:\Projetos>net view
Servidor               Descrição
--------------------------------------------------------------------------
\\HOME
\\NOTE
Comando concluído com êxito.

c:\Projetos>
Se redirecionar a saida para um arquivo texto, vc poderia usar isto juntamente com o Memoread() para obter a lista de micros disponiveis em sua rede... o código seria algo como:

Código: Selecionar todos

FUNCTION ListMicros()
   LOCAL CRLF   := chr(13)+chr(10)
	LOCAL cBatch := '@echo off' + CRLF +;
	                'net view >> rede.txt'
 	LOCAL aResult:= {}
 	LOCAL Temp,i,s
	
	IF File( 'rede.txt'  )
		FErase( 'rede.txt')
	End
	                
   Memowrit( 'rede.bat', cBatch )
   RUN rede.bat
   
	IF !File( "rede.txt" )
		RETURN aResult
	End
	
	Temp := ListAsArray( Memoread( 'rede.txt' ))
	
	FOR i := 1 TO Len( Temp )
		 s := Temp[i]
		 
		 IF Left( s, 2 ) == '\\'	
		 	 s := Substr( s, 1, At( ' ', s )-1 )
		 	 Add( aResult, s )
		 End
	End
	
	RETURN aResult
Eu fiz de cabeça mas não testei o código acima... mas é uma idéia.
8-|
Vailton Renato
"No dia mais claro, na noite mais escura... o bug sucumbirá ante a minha presença"

E-mail/MSN: contato@vailton.com.br
Skype: vailtom
Mário Isa
Usuário Nível 4
Usuário Nível 4
Mensagens: 907
Registrado em: 07 Jul 2004 13:54
Localização: Ilha Solteira-sp

Re: Pegar nome de computadores na rede

Mensagem por Mário Isa »

sei q ressuscitar tópicos ñ é 1 boa /

seguindo esta idéia eu consegui o obter o NOME DO GRUPO
com a instrução
nbtstat -n > grupos.txt

alguém sabe como "alterar" o nome do grupo via comandos DOS ?

Mário
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: Pegar nome de computadores na rede

Mensagem por asimoes »

Mário,

Não testei, mas esta informação é da microsoft.
Não sei se aplica a sua necessidade.

net localgroup "Backup Operators" "<MemberName>" /add

Você deve incluir as aspas.

Considerações adicionais
* Para executar este procedimento, você deve fornecer credenciais para a conta de Administrador no computador local (caso solicitado) ou deve ser membro do grupo Administradores no computador local.
* Todos os direitos e permissões atribuídos ao grupo são atribuídos a todos os membros desse grupo.
* Limite o número de usuários em um grupo Administradores. Os membros do grupo Administradores em um computador local têm permissões de Controle Total nesse computador.
* Se o computador fizer parte de um domínio, é possível adicionar contas de usuário, de computador e de grupo desse domínio e de domínios confiáveis a um grupo local.

NET GROUP [grupo [/COMMENT:"texto"]] [/DOMAIN]
grupo {/ADD [/COMMENT:"texto"] | /DELETE} [/DOMAIN]
grupo usuário [...] {/ADD | /DELETE} [/DOMAIN]
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder