Hallo nachdem mir hier vor einigen Tagen so gut bei meinem PowerShell Skript geholfen wurde und das endlich funktioniert, widme ich mich nun einem C# Skript. Ich habe vor ein paar Monaten bereits damit begonnen aber bin bis jetzt noch nicht viel weiter gekommen.
Anforderungen:
- Skript soll mit Windows starten und als Windows Dienst laufen (Funktioniert bisher teilweise).
- Wenn ein Netzwerkkabel angeschlossen wird sollte der WLAN Adapter deaktiviert werden und umgekehrt.
- Nach möglichkeit sollen Eventlogs beim Starten/Beenden des Dienstes und Aktivieren/Deaktivieren der Schnittstellen erstellt werden.
- Beim hochfahren des Rechners bzw. starten des Skripts muss ein initial Durchlauf erfolgen falls bereits LAN und WLAN Adapter aktiv sind.
Hoffe mir kann wieder jemand ein paar Code Snippets oder Tipps geben.
Hier der bisherige Code
Anforderungen:
- Skript soll mit Windows starten und als Windows Dienst laufen (Funktioniert bisher teilweise).
- Wenn ein Netzwerkkabel angeschlossen wird sollte der WLAN Adapter deaktiviert werden und umgekehrt.
- Nach möglichkeit sollen Eventlogs beim Starten/Beenden des Dienstes und Aktivieren/Deaktivieren der Schnittstellen erstellt werden.
- Beim hochfahren des Rechners bzw. starten des Skripts muss ein initial Durchlauf erfolgen falls bereits LAN und WLAN Adapter aktiv sind.
Hoffe mir kann wieder jemand ein paar Code Snippets oder Tipps geben.
Hier der bisherige Code
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.Management;
using System.Net.NetworkInformation;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
NetworkChange.NetworkAddressChanged += new
NetworkAddressChangedEventHandler(AddressChangedCallback);
Console.WriteLine("Listening for address changes. Press any key to exit.");
Console.ReadLine();
}
static void AddressChangedCallback(object sender, EventArgs e)
{
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
foreach (NetworkInterface n in adapters)
{
Console.WriteLine(n.NetworkInterfaceType);
if (n.NetworkInterfaceType.ToString() == "Ethernet") // LAN Adapter Ausgabe
{
Console.WriteLine(n.Speed);
Console.WriteLine(n.OperationalStatus);
Console.WriteLine(n.Name);
Console.WriteLine(n.Description);
Console.WriteLine(n.Id);
if (n.OperationalStatus.ToString() == "Up")
{
Console.WriteLine("LAN Adapter is present");
}
else
{
Console.WriteLine("LAN Adapter is not present");
}
}
if (n.NetworkInterfaceType.ToString() == "Wireless80211") // WLAN Adapter Ausgabe
{
Console.WriteLine(n.Speed);
Console.WriteLine(n.OperationalStatus);
Console.WriteLine(n.Name);
Console.WriteLine(n.Description);
Console.WriteLine(n.Id);
if (n.OperationalStatus.ToString() == "Up")
{
Console.WriteLine("WLAN Adapter is present");
}
else
{
Console.WriteLine("WLAN Adapter is not present");
} // End else
} // End if
} // End foreach
} // End Function AddressChangedCallback
} // End Class
} // End