Twonky Media Server auf der Synology DiskStation (DS916+)

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...

Der in die Synology integrierte DLNA Media Server hat mich nicht zufriedengestellt, zumal ich schon lange Nutzer von TwonkyMedia Server bin.

Um TwonkyMediaServer auf der Synology Diskstation installieren zu können, müssen Sie zuerst herausfinden, welche CPU in Ihrem NAS steckt, dies können Sie via folgendem Befehl tun.
(Ich setze vorraus, dass Sie bereits mit dem admin-Konto per SSH verbunden sind)

cat /proc/cpuinfo

Im Falle der DS914+ ist es eine Intel CPU, wir setzen daher also die 64Bit Linux Variante von TwonkyMediaServer ein. Im Falle einer Marvell CPU ist es die ARM Version von TwonkyMediaServer.
Downloaden Sie hier im (aktuellen) Verzeichnis 8.3 -> Linux x86-64 glibc 2.9

Ab jetzt wirds etwas kniffelig, wir brauchen 2 Ordner, den Programm-Ordner und einen AppData Ordner. Letzter liegt normal unter /var/twonky, das /var Verzeichnis ist aber auf der Synology Diskstation im Volumen begrenzt, dafür haben wir eine andere Lösung.

Als Programm-Ordner wählen wir /opt/twonky, als AppData Ordner legen Sie einen Ordner unter /volume1/@twonky an und legen eine symbolische Verknüpfung aus /var/twonky dort hin.

Hinweis: Da bei einem DSM Update der /opt Ordner wieder gelöscht wird, legen wir im OPT Ordner nur einen symbolischen Link an, und legen die Binary Files auch auf volume1.
So sind nach einem Update lediglich der OPT Ordner und ggf. die symbolischen Verknüpfungen in /var & /var.defaults erneut zu überprüfen.

# Zu root wechseln
sudo su -
 
# Programm-Ordner
mkdir /opt
mkdir /volume1/@twonky
mkdir /volume1/@twonky/twonky
ln -s /volume1/@twonky/twonky /opt/twonky
 
# AppData-Ordner
ln -s /volume1/@twonky/ /var/twonky
ln -s /volume1/@twonky/ /var.defaults/twonky

Entpacken Sie nun das heruntergeladene ZIP Archiv in den Ordner /opt/twonky und passen Sie in der twonky.sh Datei die Variable WORKDIR1 auf /opt/twonky an.

cd /opt/twonky
7z x twonky-x86-64-glibc-2.9-8.3.zip

Starten Sie nun den TwonkyMediaServer kurz und beenden Sie Ihn daraufhin direkt wieder, damit wird unter /var/twonky die Datenbank initial angelegt.

/opt/twonky/twonky.sh start
/opt/twonky/twonky.sh stop

Zur Sicherheit noch folgendes hinterher:

killall twonkystarter
killall twonkyserver

Passen Sie nun noch folgende Parameter initial in der /volume1/@twonky/twonkyserver-default.ini an:

contentbase=/volume1/
ignoredir= Ans Ende setzen: ,@eaDir

Das wars, jetzt kann der Server erneut gestartet werden und über den Browser konfiguriert werden

/opt/twonky/twonky.sh start

Aufrufbar ist er unter http://IP-der-NAS:9000
Das Logfile ist hier zu finden: /tmp/twonkyserver-log.txt bzw. hier aufrufbar: http://IP-der-NAS:9000/rpc/log_getfile

Nun benötigen wir noch das Startscript, welches TwonkyMedia bei jedem Start der NAS automatisch startet, hierzu ist es notwendig Root Rechte zu erlangen, dazu wechseln Sie ins root Konto:

sudo su -
cd /usr/local/etc/rc.d

Legen Sie dort nun folgende Datei via „vim S99twonky.sh“ an:

# Twonky DLNA Server
cd /opt/twonky && [ -x /opt/twonky/twonky.sh ] && /opt/twonky/twonky.sh start > /tmp/twonkystart.log 2>&1
chmod a+x /usr/local/etc/rc.d/S99twonky.sh

Speichern Sie und ab sofort startet TwonkyMediaServer automatisch beim Boot Ihrer NAS.

Windows Defender Updates per WindowsUpdate API installieren

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...

Wir standen vor der Herausforderung, dass es Systeme bei unseren Kunden gibt, welche zwar Windows Updates herunterladen dürfen, diese aber erst nach Prüfung installiert werden. Bis Windows 10 wurden die Windows Defender Updates unabhängig von der Windows Update Einstellung installiert. Mit Windows 10 ist das jetzt anders, d.h. auch die Defender Updates werden nur heruntergeladen aber nicht installiert.

Lange haben wir nach einer passenden Lösung gesucht -> und gefunden. Wir setzen jetzt auf ein Windows Powershell Modul, ein kleines Script sowie die Windows Aufgabenplanung.

Das Modul nennt sich PSWindowsUpdate und kann via folgendem Befehl installiert werden:
Öffnen Sie eine Powershell mit Adminrechten, geben Sie dann folgenden Befehl ein:

Install-Module -Name PSWindowsUpdate

Es wird nun gefragt, ob Sie das Modul installieren wollen, weiterhin ist noch ein Zusatzmodul NuGet provider benötigt. Alle Details zu dem Zusatzmodul finden Sie hier. Bestätigen Sie beide Nachfragen jeweils mit y.

Nun muss die ExecutionPolicy noch angepasst werden:

Set-ExecutionPolicy RemoteSigned

Damit sind alle Vorbereitungen abgeschlossen. Speichern Sie folgendes Skript als Powershell Skript ab:

$basePath = "C:\Users\User1\Downloads\DefenderWsusUpdater"
$pidFile = "$basePath\defenderUpdateTool.pid"
$logFile = "$basePath\defenderUpdate.log"
 
$date = Get-Date
 
If (Test-Path $pidFile){
  # // File exists
  $id = Get-Content -Path $pidFile
  Stop-Process -id $id -Force
 
    while ($true)
    {
      Try {
            [IO.File]::OpenWrite($pidFile).close()
            echo "[$date] Process $id kill" >> $logFile
            Break
          }
 
        Catch {}
     }
  del $pidFile
}
 
echo "[$date] Process $pid successfully started" >> $logFile
 
echo $pid > $pidFile
 
Get-WUInstall -title "Windows Defender" -AcceptAll -verbose >> $logFile
 
C:\Windows\System32\wuauclt.exe /reportnow
 
del $pidFile
 
echo "[$date] Process $pid successfully finished" >> $logFile

Hier gilt es anzumerken, über die API bleibt das Installieren von Windows Defender Updates regelmäßig hängen und das Script beendet sich nicht. Hierfür habe ich bis heute keine Lösung gefunden, daher beendet das Script beim erneuten Start automatisch den Vorgängerlauf. Spannend, trotz des Hängenbleibens wird das Update aber fertig installiert.

Das Skript können Sie jetzt in der Powershell schon einmal manuell an der Konsole starten, es sollte ein Logfile angelegt werden und Sie sehen eine Ausgabe in der Konsole. Im nächsten Schritt werden wir dies noch automatisieren.

Öffnen Sie dazu den Aufgabenplaner und legen eine neue Aufgabe an. Ich empfehle den Task als Administrator ausführen zu lassen, Unabhängig von der Benutzeranmeldung und auf höchsten Berechtigungen.
Den Trigger konfigurieren Sie wie folgt:

Aufgabenplaner Trigger

Als Aktion fügen Sie einen Programmstart hinzu: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe mit den folgenden Argumenten: -command „C:\Users\User1\Downloads\DefenderWsusUpdater\installWindowsDefenderUpdates.ps1“.

Letzter wichtiger Schritt, auf dem Reiter Einstellungen müssen Sie ganz unten die Regel, falls die Aufgabe bereits ausgeführt wird anpassen auf: Neue Instanz parallel ausführen

Wir nutzen das Script in Verbindung mit einem lokalen WSUS, welcher alle 4 Stunden nach neuen Updates sucht. Das Script funktioniert aber auch Problemlos wenn kein eigener WSUS betrieben wird.

WSUS: Windows 10 Anniversary Update 1607 lädt nicht herunter

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (3 Stimmen, Durchschnitt: 5,00 von 5)
Loading...

Wir betreiben bei unseren Kunden u.a. auch WSUS Server (Windows Update Server), seit 16.08. wird darüber auch das Windows 10 Anniversary Update 1607 verteilt. Leider brach der Download regelmäßig auf den Clients ab. Im Report des WSUS Servers konnten wir diese Fehlermeldung finden:

Das folgende Update konnte wegen des Fehlers 0x8024200d nicht installiert werden

In diesem Fall handelt es sich um ein Windows Server 2012 Standard. Vorraussetzung damit das Update grundsätzlich funktioniert, ist das Update KB3095113 für den WSUS Server. Dies war hier aber bereits installiert.

Dieser Fehler weißt im Regelfall auf ein Download/Zugriffsproblem hin. Die Suche nach der Ursache gestaltete sich extrem schwierig. In der Umgebung beim Kunden setzen wir mehrere PC-Gruppen ein, u.a. auch eine PreLive Gruppe auf der wir große Updates verproben. Der erste Ansatz, es ist ein Client Problem und auf anderen PCs funktioniert es, war nicht der richtige Weg, denn auch dort funktionierte es nicht. Nach stundenlangem Durchsuchen der Client-Logs konnten wir dort keinen Fehler erkennen, auch die WSUS Logs sahen sauber aus.

Da der gesamte WSUS Inhalt per IIS durchs Netzwerk gestreamed wird, haben wir uns dann die IIS Logs (c:\inetpub\logs\LogFiles) angesehen, dort konnten wir feststellen, dass die *.esd Dateien aus dem Update nicht gefunden wurden und ein 404 Fehler geworfen wurde:

HEAD /Content/A5/97864A30A8060D33CDE0C31801B38432085BE8A5.esd - 8530 - *********** Microsoft-Delivery-Optimization/10.0 - 404 3 50 1

Weitere Recherchen haben ergeben, dass dem IIS scheinbar ein MIME Type dafür fehlt. Über die Serververwaltungstools haben wir nun in der IIS-Administration -> MIME-Typ -> einen neuen Mime-Type hinzugefügt:

.esd
application/octet-stream

Sofort funktionierte nun der Download via WSUS.

VMWare ESXi 6.0 auf inkompatibler HW installieren/updaten

1 Stern2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertung vorhanden)
Loading...

Wer die VMWare Szene etwas verfolgt wird festgestellt haben, dass VMWare gerade im ESXi Bereich immer weniger Hardware offiziell unterstützt und damit auch Treiber aus Ihren Paketen entfernt. Sehr ärgerlich, denn das ein oder andere Feature aus der 5.5 oder 6.0er sind schon ganz sinnvoll. Vorab die Info, der VSphere Client wird seit Version 5.1 nicht mehr weiterentwickelt und auch nicht mehr mit neuen Features ausgestattet. D.h. viele Features lassen sich so gar nicht nutzen, wie z.B. neuere HW Versionen der VMs.

Aber gut, zurück zum eigentlichen Thema. Mein VMWare Server besteht aus einem Core i7 und einem Gigabyte Mainboard. Für ESXi 5.1 noch alles super, ab 5.5 wird das Board nicht mehr unterstützt, primär aufgrund dem SATA Treiber. Nach langer Suche habe ich den ESXi-Customizer gefunden, der unter Windows 7/8/10 mit der PowerShell eine customized ISO erzeugt, in die u.a. auch eigene Treiber integriert werden können.

Parallel dazu gibt es auch die Option in ESXi via CLI-Update den Treiber nachzurüsten und dann das 5.5 oder 6.0er Update-Paket einzuspielen. Diese Variante habe ich jedoch nie getestet, da man erst nach dem Neustart merkt, ob es geht oder nicht. Die customized ISO zeigt direkt im Setup ob die Festplatten erkannt werden oder nicht.

Hier gibt es den Download.
Weiterhin das VMware PowerCLI Version 5.1 oder höher benötigt.

Anschließend können Sie hiermit eine ISO für ESXi 6.0 mit dem SATA-xahci- sowie dem Netzwerk-Treiber erzeugen. Öffnen Sie dazu die Windows-PowerShell und navigieren Sie zum ESXi-Customizer-PS Skript.

.\ESXi-Customizer-PS-v2.4.ps1 -v60 -vft -load sata-xahci,net55-r8168

Wenn das erledigt ist, ISO brennen und Upgrade von CD starten.
Weitere Varianten des Skripts sind auf der Hersteller-Webseite des ESXi-Customizers beschrieben.