knutigro Skrevet 2. april 2007 Del Skrevet 2. april 2007 hei, jeg kan i litt c# og litt java og litt bash programmering og dette spörsmålet gjelder en datamaskinen som kjörer Windows Vista. Problem: min bredbåndsleverandör (eller så er det min trådlöse router ?) låser seg med jevne mellomrom og jeg har funnet ut at den smidigste lösningen på dette er å bare å forandre mac addressen på mitt trådlöse nettverkskort. Så blir alt som vanlig igjen. Derfor tenkte jeg å lage enten en bat-fil, eller et lite c# eller javaprogram som smidig utförer denne oppgaven. Jeg bruker vanligvis macmaceup153 til å forandre min macaddresse men da må jeg etterpå gå inn i enhetshåntereren og deaktivere -- aktivere kortet igjen. Det hadde värt smidig å ha et lite script/program som gjör alt dette ved et tastetrykk: 1. Forandre mac til en random addresse 2. deaktivere nettverkskort 3. aktivere nettverkskort Kan jeg gjöre dette for eksempel i c#. Eller kanskje enda greiere i en liten bat fil...? Jeg skulle kunne gjort dette enkelt i linux, men vet ikke helt hvilke muligheter som finnes i Windows. mvh knut Lenke til kommentar
Spartakus Skrevet 2. april 2007 Del Skrevet 2. april 2007 (endret) Dette høres ut som du kan løse dette med bruk av WMI. Hvis du skal lage et C# program som gjør dette, må du huske å legge til referanse til System.Management. Ligger masse eksempler på hvordan du bruker WMI på nettet, søk på google etter feks "wmi mac c#" Post gjerne løsningen, om du finner den Endret 2. april 2007 av xtc Lenke til kommentar
knutigro Skrevet 3. april 2007 Forfatter Del Skrevet 3. april 2007 Takk, Det er interessant å lese om WMI... Enn så lenge har jeg bare funnet hvordan jeg kan hente informasjon og for eksempel for å hente mac addressen blir det slik: using System; using System.Text; using System.Runtime.InteropServices; using System.Management; namespace MachineInfo { public class GetInfo { /// <summary> /// Returns MAC Address from first Network Card in Computer /// </summary> /// <returns>[string] MAC Address</returns> public string GetMACAddress() { ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); string MACAddress=String.Empty; foreach(ManagementObject mo in moc) { if(MACAddress==String.Empty) // only return MAC Address from first card { if((bool)mo["IPEnabled"] == true) MACAddress= mo["MacAddress"].ToString(); } mo.Dispose(); } MACAddress=MACAddress.Replace(":",""); return MACAddress; } } } Ellers leser jeg om wmi at mac bare er "read" og jeg er litt usikker på om jeg kan bruke wmi til å forandre den. http://msdn2.microsoft.com/en-us/library/aa394217.aspx Skal lese mer... Jeg har også funnet en annen lösning som går på å forandre mac-addressen, slik den lagres av windows i registeret. Dette forklares her: http://www.nthelp.com/NT6/change_mac_w2k.htm Skal undersöke litt mer... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå