06. marts 2006 - 12:31 Der er 19 kommentarer og
2 løsninger

Extracte MAC adresse hos mappet computer

Jeg har fuld adgang til alle PC systemer/server her på arbejdet.
I visse tilfælde er en given PC blevet slukket og ka' følgeligt ikke 'pilles i' med remote eller mapning. Og den er måske placeret et mennesketomt sted andet sted/adresse i firmaet - ÆV.
Well - med WOL (WakeOnLan) kan tænde en vilkårlig PC - fint nok. Jeg skal jo bare kende MAC adressen.

Jeg vil så skrive en liste over "vigtigt" PC systemer/server's nummer/MAC adresse; det ka' nok dreje sig om 50-100 stykker. Men istedet for at skulle bruge Dameware ell. lign. for at 'overtage' styringen én for én og derefter IPCONFIG /all , så søger jeg et tool der ka' extracte MAC adressen remote på en eller anden vis ???

I flere tilfælde er systemet måske ibrug så en skærmovertagelse ikke vil være så populært...

(*) Jeg har allerede diverse former for WOL programmer...
Avatar billede serverservice Praktikant
06. marts 2006 - 12:38 #1
via cmd prompten
Ping pcnavn
ping ipadresse
arp -a  og du ser macadresse.
06. marts 2006 - 14:53 #2
Nåja - selvfølgelig...

Mon det så let bygges ind i én *.CMD / *.VBS programstump ?

FINDMAC <pcnavn> [ENTER]
Reslutat: Mac-adressen
Avatar billede serverservice Praktikant
06. marts 2006 - 15:02 #3
har jeg ikke lige et svar på her og nu - måske andre har ?
06. marts 2006 - 15:25 #4
<dannyboyd>: Jeg trækker den lige lidt med [Accepter] til evt. andre (bonus) bidrag ...
Avatar billede bertelbrander Novice
13. marts 2006 - 14:31 #5
Man kunne kaste sig ud i:

@echo off
if [%1]==[] (
  echo You must specify a computername
  goto :eof
)

for /F "tokens=3" %%I in ('ping -n 1 %1 ^|findstr "Ping-statistikker"') do set IpAddr=%%I
set IpAddr=%IpAddr::=%
for /F "tokens=2 skip=3" %%I in ('arp -a -N %IpAddr%') do echo %%I

Hvis du gemmer ovenstående i findmac.cmd og kører:
findmac ComputerNavn
Bør den skrive Mac-Addresse.

Jeg har testet det med en dansk WinXP home, der skal rettes lidt hvis det skal køre på andre Windows versioner eller andre sprog varianter.
14. marts 2006 - 12:55 #6
<bertelbrander>: Ser lovende ud... Ka' først afprøve det i Weekenden på arbejdet...
Evt.: Hvis man ikke skriver noget argument skal den komme og spørge pænt ?
14. marts 2006 - 12:56 #7
<bertelbrander>: læg [svar] under alle omstændigheder...
Avatar billede bertelbrander Novice
14. marts 2006 - 20:30 #8
@echo off

if [%1]==[] (
  Set /P MyComputerName="Hvilken Computer: "
) else (
  set MyComputerName=%1
)

for /F "tokens=3" %%I in ('ping -n 1 %MyComputerName% ^|findstr "Ping-statistikker"') do set IpAddr=%%I
set IpAddr=%IpAddr::=%
for /F "tokens=2 skip=3" %%I in ('arp -a -N %IpAddr%') do echo %%I
14. marts 2006 - 22:30 #9
Sådan havde jeg også forestillet mig det.
... nu har jeg ikke haft mulighed for at afprøve det endnu; sidder pt. kun ved en lokal putter.
Hvad hvis "MyComputerName" ikke bliver fundet ?
Avatar billede bertelbrander Novice
14. marts 2006 - 22:38 #10
Du kan godt teste det lidt på din lokale computer.

Du kan putte disse linier ind lige før den første for-loop:

ping -n 1 %MyComputerName% >nul 2>&1
if errorlevel 1 (
  echo Failed to ping %MyComputerName%
  goto :eof
)

Så vil det skrive en fejlbesked og afslutte hvis ikke den finder computeren.
17. marts 2006 - 12:30 #11
Ved lidt (efter)søgning fandt jeg følgende trix:

Extracte MAC adressen på en Remote Computter:
I en CMD box:

nbtstat -a PC1234

LAN-forbindelse:
Node-IP-adresse: [10.102.88.207] Område-id: []

          Navnetabel for NetBIOS-fjerncomputer

      Navn              Type        Status
    ---------------------------------------------
    PC1234        <00>  Entydig    Registreret
    NET            <00>  Gruppe      Registreret
    PC1234        <20>  Entydig    Registreret

    MAC-adresse = 00-14-38-EB-63-90
17. marts 2006 - 13:53 #12
... nu ska' jeg/vi 'bare' let have extractet MAC adressen på udvalgte putter...

Ka' dog kun lade sig gøre hvis putter er tændt ...

Kunne man være så "fræk" at gøre en form for loop som render alle PC**** igennem og skriver reslutatet (pænt formateret) i en dum txt fil ?
Avatar billede bertelbrander Novice
17. marts 2006 - 21:00 #13
Man kunne kaste sig ud i:
@echo off
for /L %%I in (1, 1, 1000) do call :Process %%I
goto :eof

:Process
set Name=000%1
set Name=PC%Name:~-4%
set Addr=
for /F "tokens=3" %%I in ('nbtstat -a %Name% ^| findstr /C:"MAC-ad"') do set Addr=%%I
if [%Addr%]==[] goto :eof
echo Address of %Name% %Addr%

Men det varer meget længe.
Det skriver til skærmen, men kan pipes til en txt-fil.
18. marts 2006 - 19:39 #14
... Jooo - det vil ta' sin tid med scanning af >5000 potentioelle computter systemer.

Jeg har fedtet lidt med ovenstående så det passer med "ComputterName" systemmet her.
Den ka' så stå og snurre det næste døgns tid eller flere...

Reslutatfilen ka' altid sorteres på anden vis bagefter...

Efter det bør den så rulle igen på et andet tidspunkt og så kun stile efter de "ComputterName" som ikke kunne findes i første omgang (ikke tændt/oprettet/...)
Avatar billede bertelbrander Novice
18. marts 2006 - 20:20 #15
Er det sidste et spørgsmål/opgave?
19. marts 2006 - 13:10 #16
... Lige det "sidste" ...

Jeg ka' via vores AD få en liste (dum tekstfil) over oprettede  "ComputterName" - istedet for at rende alle 10000 muligheder igennem.

Pt. har jeg arrangeret at de "ComputterName" som i første omgang ikke blev fundet er skrevet i en "NotFound" tekstfil.

Altså ovenstående SearchMac program i en version som tar' "ComputterName" én for én fra en dum tekstfil ...
19. marts 2006 - 13:10 #17
<bertelbrander>: læg [svar] under alle omstændigheder...
Avatar billede bertelbrander Novice
19. marts 2006 - 13:45 #18
@echo off
setlocal
for /F %%I in (computername.txt) do call :Process %%I
goto :eof

:Process
set Addr=
for /F "tokens=3" %%I in ('nbtstat -a %1 ^| findstr /C:"MAC-ad"') do set Addr=%%I
if [%Addr%]==[] (
  echo Mac Address not found for %1
) else (
  echo Address of %1 %Addr%
)

Computernavne formodes at stå i computername.txt, en computer pr linie
Du kan pipe til to filer for de to echo statements.

(Og jeg samler stadig ikke på point.)
25. marts 2006 - 12:20 #19
... for en go' ordens skyld... har nu fået extractet 3245 (!) MAC adresser - jo det tog sin tid.

Arrangerede en form for loop hvor de PC'er som ikke svarede i første omgang blev prøvet i næste omgang - og igen og igen ... I et par døgn...
Avatar billede serverservice Praktikant
25. marts 2006 - 12:27 #20
godt projekt og en kanon løsning fra bertelbrander -
29. marts 2006 - 19:10 #21
Lidt opfølgning:

For at extracte ud fra AD:

net group "domain computers" /domain > computername.txt

computername.txt består af 3. kolloner.
Vha http://www.textpad.com/download/index.html (Block Select Mode) ka' de filtreres/sættes i liste til brug i ovenstående program.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer

Capgemini Danmark A/S

AI Data Architect

AL Sydbank

AI Engineer