Montag, 4. April 2016

Windows Live Writer ist tot - es lebe Open Live Writer

Eigentlich wollte ich nur kurz das Powershell Script zum Umschalten zwischen WLAN und LAN schreiben und in dieses Blog posten. Dabei habe ich gemerkt, dass der Windows Live Writer beim veröffentlichen meldet:

Blogger hat den folgenden Fehler zurückgegeben: NotFound: Not Found

Nicht gerade aufschlussreich. Aber nicht dramatisch, denn Microsoft hat zwar die Entwicklung vom Windows Live Writer eingestellt, dafür gibt es aber eine alternative: Open Live Writer

It is based on a fork of the well-loved but not actively developed Windows Live Writer code.

Bislang funktioniert die aktuelle Version recht gut.

Zwischen LAN und WLAN wechseln

Derzeit habe ich das Problem, dass mein Kabelgebundenes LAN (genauer gesagt Powerline LAN) zwar eine bessere Latenz aufweist, jedoch von der tatsächlich möglichen Bandbreite deutlich hinter dem WLAN zurück bleibt.

Situationsbeding möchte ich also zwischen kurzen Antwortzeiten (dLAN) und hoher Übertragungsrate (WLAN) möglichst einfach wechseln.

Folgendes Powershell script erfüllt dieses:

 
# get the adapters, sorting "up"-Adapters first.
$adapters = Get-NetAdapter | Sort-Object Status -descending 
foreach ($adapter in $adapters) 
{
	if($adapter.Status -eq "Up") 
    {
        Disable-NetAdapter -InputObject $adapter -Confirm:$false 
        Write-Host "Disabled: " $adapter.Name
    }
	elseif(($adapter.Status -eq "Disconnected") -or ($adapter.Status -eq "Disabled") -or ($adapter.Status -eq "Not Present"))
    { 
        Enable-NetAdapter -InputObject $adapter -Confirm:$false
        Write-Host "Enabled: " $adapter.Name
    }
}

Damit das Script ausgeführt werden kann muss man der Powershell entweder erlauben, unsignierte Scripte auszuführen, was potenziell unsicher ist oder das Script Makecert.exe selbst signieren und die Execution Policy entsprechend auf All Signed setzen.

Eine schnelle Alternative ist es, eine Verknüpfunjg auf das Powershell script zu erstellen und statt das Script (meist eine .ps1 Datei) zu starten, in der Verknüpfung dann folgendes als Ziel zu hinterlegen:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -File toggle_lan_wlan.ps1

Damit das Script funktioniert benötigt es darüber hinaus Administrator-Rechte. Diese können entweder direkt in der Verknüpfung hinterlegt werden (Eigenschaften der Verknüpfung,  Reiter Verknüpfung, Erweitert: “Als Administrator ausführen”) oder man bedient sich eines Tricks und lässt das Powershell Script sich selbst mit Adminrechten starten. Wie das geht sieht man im vollständigen Script.

Update: Ich habe ein paar kleine Änderungen am Script durchgeführt, um es noch robuster zu machen.