Restart a Network Interface Card NIC programmatically via a Batch command file

Since my network card seems to misbehave recently, I wrote a short script to fix it by restarting the NIC automatically:

@REM ========================================================================
@REM Restarts the NIC if a ping is unsucessful.
@REM
@REM See http://itcookbook.net/blog/enabling-and-disabling-nics-commandline-windows
@REM
@REM To find out NIC number, use "wmic nic get name, index" once and change it.
@REM In this file below, it is "7".
@REM
@REM Written 2011-01-23 by Uwe Keim.
@REM http://www.zeta-uploader.com
@REM ========================================================================

@cls

ping www.google.com | find "Bytes="
if errorlevel 1 goto :mustrestart

@echo ---NOT RESTARTING NIC.
goto :eof

:mustrestart

@echo ---RESTARTING NIC.
wmic path win32_networkadapter where index=7 call disable
wmic path win32_networkadapter where index=7 call enable

:eof

I let Windows Task Scheduler call this script every 10 minutes and have a temporary workaround for my „broken“ NIC.

Important note: If you configure Task Scheduler, be sure to uncheck the option „Run only when a network connection is available“.

Die Psychologie des Überzeugens – Robert Cialdini

Tolles Buch, dass seinerzeit der Fefe in seinem Podcast „Alternativlos“ empfohlen hat:

„Die Psychologie des Überzeugens“ – Robert Cialdini

Robert Cialdini - Die Psychologie des Überzeugens. Ein Lehrbuch für alle, die ihren Mitmenschen und sich selbst auf die Schliche kommen wollen

„Ein Lehrbuch für alle, die ihren Mitmenschen und sich selbst auf die Schliche kommen wollen“

Ich fand’s dann so gut, dass ich mir in zwei Iterationen eine Zusammenfassung auf einer Seite erstellt habe, ggf. ist das ja auch für Euch interessant.

Zusammen mit einem früher vorgestellten Buch, haben wir dann ein sehr gutes Handwerkszeug zum Handeln und auch zum bloßen Erkennen von Zusammenhängen:

Bei mir hängt’s ab sofort ausgedruckt im Büro, sicher ist sicher.

Setting Session timeout in ASP.NET 4 and IIS 7

To set the session timeout in ASP.NET 4 on an Internet Information Server 7 (or 7.5) correctly, follow these steps:

  • Application Pool: Advanced Settings => Process Model => Idle Time-out(minutes)
  • Sites: whatever web needs to be set => ASP => Session Properties => Time-out     remember to Apply the change
  • Sites: whatever web needs to be set => Configuration Editor => system.web/sessionState => timeout. Remember to Apply the change.
  • Sites: whatever web needs to be set => Configuration Editor => system.web/roleManager => cookieTimeout. Remember to Apply the change.

Hope this helps.

„Der Provider ist mit der Version des Oracle-Clients nicht kompatibel“

Fehlerbeschreibung

Ohne bewusste Änderung, erhalte ich auf einmal bei einem seit mehreren Monaten funktionierenden Visual-Studio-2010-Projekt einer ASP.NET-Website (4.0) die Fehlermeldung

Der Provider ist mit der Version des Oracle-Clients nicht kompatibel

beim Zugriff auf eine Oracle-Datenbank.

Ich habe keine Oracle-Komponenten geändert und auch auf dem Server keine Installationen vorgenommen. Trotzdem die Meldung.

Ursache

Nach einer Recherche, habe ich festgestellt, dass ich selbst Schuld dran war:

Vor ein paar Tagen, habe ich auf meiner Festplatte einen ominösen Ordner „C:\app“ gefunden. Da ich diesen nicht einordnen konnte, habe ich ihn vorsichtshalber mal gelöscht.

Lösung

Ich habe einfach den Ordner aus dem Papierkorb von Windows 7 wieder hergestellt, mein System neu gestartet und danach ging es wieder.

Montezumas Rache

Das Spiel habe ich auf dem Commodore 64 („C64“) geliebt:

Leider ist meine Sicherheitskopie damals immer an einer bestimmten Stelle abgestürzt. Zum Glück gibt’s heute YouTube für so was. Da ist alles drin und ich muss nicht mal selber spielen.

Active Scripting in C# – Which is faster, VBScript or JScript?

Just did some really basic poor-man’s performance measurements regarding the comparison of using VBScript versus using JScript.

I did write a small Microsoft .NET Framework 2.0 Windows Forms application in C#.

The application uses an Active Scripting host and runs two small scripts, one being in VBScript (VB, VBS, Visual Basic Script) and one being written in JScript (JS, Java Script, JavaScript):

The results were rather clear:

VBScript was always faster than JScript. I counted not only the running of the script, but the whole process of creating the scripting engine, running the script and shutting down the scripting engine again.

Of course this test is probably rather imprecise and kind of naive, but it gave me a quick overview , that VBScript is always 1/3rd faster than JScript.

I tried this also on a PC with Internet Explorer 9 (IE9) Beta installed, in the hope that the new JScript engine of IE9 influences the one being used in Active Scripting, too. But I was wrong. The performance was similar to the one on a PC with IE8.

You can download the example application from here.

Using Active Scripting from within C# without leaking memory

Working for about 3 days to get rid of memory leaks when using Microsoft’s Active Scripting from within a C# .NET 2.0 Windows Forms application, I finally managed to create a working example project that runs without memory leaks.

Download example project (VS 2008) with source and binary files

I used Red Gate’s ANTS Memory Profiler to verify for memory leaks, the best tool around for doing such a task.

The key in resolving (see download project) was to call IActiveScript::Close to free any resources.

I hope, this article will help someone in the future when facing a similar issue.

(References: My initial question on Stack Overflow)