knutigro Skrevet 2. april 2007 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
Spartakus Skrevet 2. april 2007 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
knutigro Skrevet 3. april 2007 Forfatter 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...
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å