Quantcast
Channel: Software – Andy's Blog
Viewing all 1825 articles
Browse latest View live

Fernwartung: pcvisit als Progressive WebApp

$
0
0

Nach einer Testphase wurde heute von pcvisit das neue Major Release veröffentlicht. Damit steht die Fernwartungslösung aus Dresden plattform-unabhängig im Browser als Progressive WebApp zur Verfügung.

Im Gegensatz zum bisherigen MobileSupport ist nun von vornherein die Computerliste vorhanden, es entfällt also z.B. erst das Starten der Fernwartung am PC um dann die Session im Mobile Support bzw. unterwegs fortsetzen zu können.

In mehreren Tabs können Fernwartungen laufen, man braucht also nicht in einem Fenster bzw. Tab im Browser hin und her zu wechseln. Einzig vermissen tue ich aktuell noch die Dateiübertragung.

Leider habe ich mich pcvisit noch nicht so viel Erfahrung, nutzen wir es bis jetzt noch relativ selten. So auf den ersten Blick macht es über den Browser schon Spass, vor allem wenn nicht zuerst irgendeine App, Plugin oder sonstwas heruntergeladen oder installiert werden muss.

Nebenbei gefragt: Gibt’s hier Leser die zufällig beim nächsten pcvisit Stammtisch in Alzenau mit dabei sind? Ich wollte mich da mal blicken lassen, ist ja schließlich fast um die Ecke von mir.


Android: Ghost Commander – Ein Open Source Datei-Manager

$
0
0

Bei Ghost Commander handelt es sich um einen Datei-Manager mit, wie der Name in Anlehnung an den Norton Command schon erahnen lässt, zwei Fenster-Darstellung.

Außer auf die lokalen Dateien kann ab Werk auf FTP-Server zugegriffen werden. Mittels Plugin funktioniert zum Beispiel auch der Zugriff auf SMB-Server (Windows, Samba). Die Optik ist recht spartanisch, erfüllt aber ihren Zweck.

Herunterladen kann man die App bei Google Play oder (besser) bei F-Droid.

Das SMB- und SFTP-Plugin gibt es ebenfalls bei F-Droid.

Server-Eye: chkdsk über die Remote PowerShell ausführen

$
0
0

Von einem Kundensystem meldete Server-Eye das es ein Problem mit einem Laufwerk gibt. Um diesem schnell und einfach nachzugehen wurde die Remote Powershell im OCC von Server-Eye gestartet und eine Datenträgerprüfung durchgeführt.

Zunächst als Administrator anmelden, d.h. den Computernamen (bei Einzelplatz oder Arbeitsgruppe) oder die Domäne voranstellen:

<Host- or Domain-Name>\<Username>

Womöglich erhält man erstmal folgende Meldung:

Diese besagt, das die Powershell-Ausführungsrichtlinie im Weg steht. Lösen lässt sich das mit

Set-ExecutionPolicy Bypass

Siehe dazu: WindowsPro –
Ausführungsrichtlinien (Execution Policy) für PowerShell-Scripts über GPO setzen

Sofern man nicht auf das Server-Eye-Modul verzichten kann, genügt mindestens ein-zweimal die Pfleitaste nach oben zu drücken, bis das der Import-Befehl („Import-Modul …“) erscheint und diesen mit „Enter“ zu bestätigen oder ein Neustart der PowerShell.

Mit

Get-ExecutionPolicy

lässt sich prüfen, welche Richtlinie aktuell gesetzt ist.

Kann man die Richtlinie nicht setzen, so ist das für dieses Szenario nicht weiter tragisch. Soweit befindet man bereits auf einer Shell mit der man arbeiten kann.

Möchte man nun allerdings

chkdsk D: /F

ausführen, erscheint für gewöhnlich eine Abfrage ob man die Bereitstellung aufheben möchte. Leider kann man diese Abfrage gar nicht erst beantworten, da der Befehl sofort abgebrochen wird.

Abhilfe schafft folgender Trick:

echo j | chkdsk D: /F

Auf diese Weise wird automatisch der Tastendruck „j“ an den Befehl übergeben und die Ausführung gelingt.

Windows: JusProg – Kostenfreier Jugendschutz für den PC

$
0
0

Zum Thema Kinder- und Jugendliche im Internet wurde in diesem Blog immer mal wieder geschrieben. Die Technik kann an die Heranführung an neue Medien nur unterstützen, grundsätzlich sollten Erwachsene sich mit Kindern und Jugendlichen zum Thema Internet und seine guten wie schlechten Seiten auseinandersetzen.

Um allerdings von vornherein vorallem bei Kindern unter 12 Jahren (persönliche Meinung) den Konsum zu reglementieren wie auch ggf. das schlimmste an „unguten“ Seiten auszusperren helfen entsprechende Programme. Eines davon ist JusProg vom gleichnamigen Verein.

Die Anwendung steht kostenlos, ohne Registrierung und staatlich anerkannt für Windows zur Verfügung. Eine nicht anerkannte Version für Apple iOS gibt es ebenfalls. Eine Ausgabe für Android wurde leider wegen Inkompatiblität eingestellt. Linux- und BSD-Anwender müssen sich zudem anderweitig behelfen. Für Vodafone-Kunden gibt es einen Tarif, der die gleichen Filterlisten wie JusProg verwendet.

Unter Windows kann das Programm einfach heruntergeladen und installiert werden. Vorab ist es immer eine Empfehlung für die Kinder einen eigenen eingeschränkten Benutzer anzulegen, so kann zum einen schonmal weniger am Computer verstellt werden, zum anderen lässt sich der Jugendschutzfilter so besser integrieren.

Installation

Zu Beginn der Installation verwirrt kurz, das mehr oder weniger ein Browser-Plugin angeboten wird. Auf dem Testgerät also eher weniger, denn trotz installiertem Firefox wurde kein Browser erkannt. Ob nun nur Chrome oder anderes unterstützt wird, wurde nicht weiter hinterfragt und mit der Installation fortgefahren.

Direkt bei der Einrichtung werden die Zuordnungen vom Kinder- zum Windows-Konto abgefragt (gleiches gilt für das Elternkonto), anschließend kann direkt eine Nutzungszeit eingestellt werden:

Natürlich muss für den Elternmodus ein Kennwort vergeben werden, andernfalls wäre der Schutz quasi sofort ausgehebelt.

Konfiguration

Nach Abschluss der Installation und Anmeldung mit dem Eltern-Kennwort präsentiert sich die Oberfläche von JusProg übersichtlich und pragmatisch:

Neben vordefinierten Filterlisten lassen sich eigene Black- und Whitelistes pflegen. JusProg ist von Aufbau und Handhabung selbsterklärend.

Live-Betrieb

Versucht man mit entsprechend konfiguriertem Schutzniveau und aktivem Kindermodus unerwünschte Seiten aufzurufen erhält man im Idealfall einen entsprechenden Hinweis im Browser:

Im Test kam es allerdings auch mitunter vor, das der Browser leer blieb und evtl. nur ein Popup bzw. Tooltip erschien:

Diese können auch bei zugelassenen Seiten erscheinen, wenn diese z.B. Werbung oder andere Drittanbieter-Elemente nachladen. Das stört schlimmstensfalls bereits bei der Eingabe einer Internetaddresse oder eines Suchbegriffs. Imho ist das allerdings nur Kosmetik, der relevante Teil, gemeint ist das Filtern, funktioniert.

Stolperfallen

Auf dem Testgerät wurde das Programm aus dem Kinder-Konto heraus mit erhöhten Rechten installiert. Das klappte soweit wie erwartet, allerdings war im ersten Moment die Verwunderung groß, das man unerwünschte Seiten dennoch erreichen konnte. Dies kam dadurch zustande, das JusProg dann eben im Kontext des Administrator-Kontos lief. Erst nach einem Ab-/Anmelden des Windows-Benutzers oder eines Neustarts des Programms passte es.

Als Ungut kann man nennen, das man zwar ohne Schwierigkeiten aus dem Kinder- in den Eltern-Modus wechseln kann, aber leider nicht zurück. Abhilfe schafft da nur obiges erwähntes.

Was fehlt bzw. wer mehr möchte

Nichts gegen JusProg, ein feines Programm! Vermissen tue ich allerdings eine detailliertere Konfiguration und ein Protokoll. Das mag allerdings Anspruchs- und Geschmackssache sein. Zugegeben, persönlich bin ich durch die Nutzung von Salfeld’s Kindersicherung durchaus verwöhnt.

Fazit

Letztlich muss klar sein, das es keinen 100%-igen Schutz gibt und jenseits des „Kinder-/Jugendgeschützten“-PCs noch zahlreiche andere Quellen für unangemessene Inhalte existieren. Daher nochmals der Hinweis, sich zusammen mit dem Nachwuchs zum Thema neue Medien zu beschäftigen. Filterprogramme wie JusProg machen zur Unterstützung auf jeden Fall Sinn.

Windows: Alternative Start-Schaltfläche für Classic- bzw. Open-Shell

$
0
0

Die unbeliebte Kacheloberfläche von Windows 8.x und Server 2012 aufwärts lässt sich bekanntermaßen durch den Einsatz von alternativen Startmenüs wie Open-Shell oder früher Classic Shell umgehen. Auch unter Windows 10 ist das neue Startmenü nicht Jedermanns/-fraus Sache.

Die Darstellung der Start-Schaltfläche lässt sich jederzeit und nach eigenen Wünschen ändern. Eine kleine Auswahl findet sich z.B. hier:

Classic Shell – Forum – Start Buttons (Windows 7/Vista) compilation

Windows: Die Arbeitsspeichernutzung der Windows Internal Database (WID) konfigurieren

$
0
0

Typischerweise kommt die Windows Internal Database, kurz WID, in Verbindung mit den Windows Server Updates Services, kurz WSUS, zum Einsatz. Das die Voreinstellung der maximalen Arbeitspeichernutzung nicht für jedes Szenario Ideal sein kann kennt man beispielsweise auch vom MS SQL Server.

Vor kurzem haben wir quasi notfallmässig einen Kunden übernommen, bei dem ein auf einem Qnap-NAS virtualisierter Windows Server 2012 Essentials läuft. Da nur 4 GB RAM für die VM möglich sind und ein Großteil davon bereits durch die WID belegt wird, kam der Rest erheblich ins Stocken.

Mit Hilfe der folgenden Vorgehensweise kann man die Arbeitsspeichernutzung ändern:

Eine Eingabeaufforderung öffnen und mit der Datenbank verbinden:

sqlcmd -e -s \\.\pipe\Microsoft##WID\tsql\query

Anschließend diese konfigurieren:

exec sp_configure ’show advanced option‘, ‚1‘;
reconfigure;
exec sp_configure ‚max server memory‘, 1024;
reconfigure with override;
go

Mit

exec sp_configure;
go

kann die aktuelle Einstellung überprüft werden.

Die Eingabeaufforderung verlassen:

quit

Anschließend einmalig den Dienst „Interne Windows-Datenbank“ (Dienstname: „MSSQL$MICROSOFT##WID“) neustarten.

Quelle:

ITS-Network – Limitierung des Speichers der Windows Internal Database

Windows: E-Mail-Monitore

$
0
0

Es muss nicht immer gleich ein vollwertiger E-Mail-Client sein, wenn es darum geht nur über neue Nachrichten im Posteingang zu informieren. Schlankere Alternativen gibt es einige, nachfolgend eine kleine Auswahl.

Magic Mail Monitor 3

Der Klassiker, zugegeben nicht mehr ganz frisch, dennoch seit 20 Jahren (!) existent, simple und funktional. Es wird nur POP3 unterstützt.

PopMan

Gleichfalls schon lange dabei, POP3 und IMAP wird unterstützt und die Benutzeroberfläche ist mehrsprachig.

Sylpheed

Im Gegensatz zu den zuvor genannten Kandidaten handelt es sich bei Sylpheed um einen schlanken E-Mail-Client, der neben Windows für weitere Betriebssysteme zur Verfügung steht. Dieser ist ebenfalls mehrsprachig. Bei der Ersteinrichtung hilft ein Assistent, leider fragt dieser nicht das Kennwort ab, so das man dieses später in den Konten-Einstellungen eintragen muss.

All-inkl WebDisk – Online-Festplatte

$
0
0

Bei All-inkl besteht die Möglichkeit, den Speicherplatz als Netzlaufwerk zu nutzen. Als Protokoll kommt SMB (Samba) zum Einsatz. Für die verschlüsselte Kommunikation sorgt ein optionales OpenVPN.

Der Zugriff auf die WebDisk kann mittels eigens zur Verfügung gestellter Windows-Software, via Browser oder beispielsweise mittels Apps unter Android (Link 1, Link 2, Link 3) erfolgen. Die Benutzerverwaltung erfolgt im KAS unter dem Menüpunkt „Netzlaufwerk“.

Soll der gesamte Webspace zur Verfügung gestellt werden, kann einfach root („/“) benutzt werden. Geht es allerdings darum, nur einen Teil des Speicherplatzes gezielt für die WebDisk zu nutzen, ist es zu empfehlen zuerst einen eigenen Ordner anzulegen. Dies kann der Administrator im KAS unter „FTP“ tun.

Als nächstes wird ebenfalls im KAS unter „Netzlaufwerk“ ein neuer Benutzer angelegt. Man vergibt ein Kommentar (beispielsweise den Namen des Anwenders), wählt den Pfad aus und generiert ein Kennwort.

Es dauert einen kurzen Moment bis das der Benutzer verfügbar ist. Anschließend kann man die notwendigen Daten wie Servername, Benutzername etc. auslesen und mit deren Hilfe entweder direkt ein Netzlaufwerk verbinden oder mittels der Anbieter-Software eine Verbindung einrichten:

Der Vorteil der Software liegt darin, das diese sich selbstständig und ohne zutun des Anwenders um den Aufbau einer OpenVPN-Verbindung bemüht, anschließend das Netzlaufwerk verbunden und der Explorer geöffnet wird.

Mit etwas manuellem Aufwand lässt sich alternativ der originale OpenVPN-Client verwenden und das Netzlaufwerk mit den Windows-Bordmitteln verbinden. Diese Variante hat den Charme, das z.B. das der Tunnel automatisch beim Computerstart via Dienst aufgebaut wird und das Netzlaufwerk quasi sofort zur Verfügung steht.

Fazit

Bei All-inkl’s WebDisk handelt es sich um eine schnell nutzbare einfache lokale Anbindung des im Tarif enthaltenen Speicherplatzes. Für den einfachen Datenaustausch oder eine externe Datensicherung reicht dies völlig aus. Eine Rechte- oder Speicherplatzverwaltung gibt es leider nicht, d.h. alle Nutzer haben auf dem Netzlaufwerk die gleichen Berechtigungen. Eine Offline-Nutzung ebenso nicht möglich.

Wer mehr Funktionen ähnlich die Dropbox möchte, wie beispielsweise Teilen per Link oder mehr in Sachen Private Cloud benötigt, sollte darüber Nachdenken (beim gleichen Anbieter) beispielsweise Nextcloud zu installieren.

Quellen:

Aktivierung, Installation, Einrichtung: Aktivierung im KAS

Aktivierung, Installation, Einrichtung: ALL-INKL.COM WebDisk – Einrichtung

Aktivierung, Installation, Einrichtung: ALL-INKL.COM WebDisk – Fehlerprotokoll

Einbindung als Netzlaufwerk: Netzlaufwerk einbinden – Windows 10

Einbindung als Netzlaufwerk: Netzlaufwerk über VPN verbinden – Windows


Firefox: Nur Symbole ohne Text in der Lesezeichen-Symbolleiste anzeigen

$
0
0

Um den Wechsel für einen Kunden vom Internet Explorer zu Firefox zu erleichtern, war es notwendig herauszufinden, wie man in der Lesezeichen-Symbolleiste nur die Symbole ohne Text anzeigt. Ein weiterer Punkt war schlicht die Anzahl der hinterlegten Lesezeichen, so lassen sich wenn nur die Symbole angezeigt werden wesentlich mehr Seiten hinterlegen.

In früheren Firefox-Versionen war es einfach möglich unter „Anpassen“ den Modus festzulegen. Das gewünschte Verhalten lässt sich leicht mit wenig Aufwand wieder erreichen.

Unter Windows legt man den Ordner unter

%AppData%\Mozilla\Firefox\Profiles\<Profile>\chrome

an. Anschließend erstellt man dort eine Datei mit dem Namen „userChrome.css“ und fügt folgenden Inhalt ein:

/* Lesezeichensymbolleiste ohne Text */

#PlacesToolbarItems > toolbarbutton.bookmark-item > .toolbarbutton-text {
display:none!important;
}

Nach einem Neustart des Firefox-Browsers greift die Änderung und in der Lesezeichen-Symbolleiste werden nur noch die Symbole der hinterlegten Internetseiten dargestellt. Einzige Voraussetzung hierfür neben der genannten Änderung ist, das die jeweilige Internetseite ein Favicon ausliefert.

Quellen:

windowspower.de – Firefox Lesezeichensymbolleiste ohne Text anzeigen

windowspower.de – Firefox userChrome.css und userContent.css erstellen

IP-Adresse(n) der Telekom-Telefonie-Server ermitteln

$
0
0

Benötigt man beispielsweise für die Konfiguration einer Firewall die IP-Adresse(n) der Telekom-Telefonie-Server, muss man diese zunächst ermitteln.

Als Schnellschuss auf einer Windows-basierten 3CX hilft dann schon mal, sofern der SIP-Trunk erfolgreich registriert ist, bereits dieser Einzeiler in der Eingabeaufforderung:

netstat | find "5060"

Unter Debian-Linux sieht der Befehl so aus:

netstat | grep "sip"

oder

netstat -n | grep "5060"

Als Ausgabe erhält man die aktuellen Verbindungen, anhand derer man die IP-Adresse ablesen kann.

Versucht man hingegen direkt beispielsweise „sip-trunk.telekom.de“ DNS-mässig aufzulösen, erhält man keine IP-Adresse, da kein Host A oder CNAME-Eintrag vorhanden ist. Der Hintergrund ist, das direkt für diesen FQDN keine IP-Adresse, sondern nur Service-Einträge (SRV) hinterlegt sind.

Diese Einträge kann man mit

nslookup -querytype=SRV _sip._tcp.reg.sip-trunk.telekom.de

auslesen. Die Ausgabe unter Windows sieht dann so aus:

Server: firewall.test.local
Address: 192.168.1.1

Nicht autorisierende Antwort:
_sip._tcp.reg.sip-trunk.telekom.de SRV service location:
priority = 0
weight = 5
port = 5060
svr hostname = n-ipr-a01.sip-trunk.telekom.de
_sip._tcp.reg.sip-trunk.telekom.de SRV service location:
priority = 10
weight = 5
port = 5060
svr hostname = d-ipr-a01.sip-trunk.telekom.de
_sip._tcp.reg.sip-trunk.telekom.de SRV service location:
priority = 1
weight = 5
port = 5060
svr hostname = n-ipr-a02.sip-trunk.telekom.de

Die Ausgabe unter Linux sieht so aus:

Server: 192.168.1.1
Address: 192.168.1.1#53

Non-authoritative answer:
_sip._tcp.reg.sip-trunk.telekom.de service = 0 5 5060 n-ipr-a01.sip-trunk.telekom.de.
_sip._tcp.reg.sip-trunk.telekom.de service = 10 5 5060 d-ipr-a01.sip-trunk.telekom.de.
_sip._tcp.reg.sip-trunk.telekom.de service = 1 5 5060 n-ipr-a02.sip-trunk.telekom.de.

Authoritative answers can be found from:

Da man nun die FQDN’s der eigentlichen Server kennt, kann man deren IP-Adressen auflösen:

nslookup n-ipr-a01.sip-trunk.telekom.de

Die Windows-Ausgabe sieht so aus:

Server: firewall.test.local
Address: 192.168.1.1

Nicht autorisierende Antwort:
Name: n-ipr-a01.sip-trunk.telekom.de
Address: 217.0.15.67

Die Linux-Ausgabe so:

Server: 192.168.1.1
Address: 192.168.1.1#53

Non-authoritative answer:
Name: n-ipr-a01.sip-trunk.telekom.de
Address: 217.0.15.67

Für „_sip._udp.tel.t-online.de“ kann die gleiche Heransgehensweise verwendet werden.

Quelle:

Telekom – Community – Geschäftskunden – Fragen & Diskussionen – Festnetz & Internet
– DNS Server kann reg.sip-trunk.telekom.de nicht auflösen

All-inkl WebDisk funktioniert hinter einer pfSense nicht

$
0
0

Beim Testen der All-inkl WebDisk stolperte ich darüber, das die Namensauflösung für „vpn0.kasserver.com“ nicht funktioniert. Nach einem Denkanstoss durch den Support (Danke dafür)  konnte das Ganze auf eine vorgelagerte pfSense im Test-Netz eingegrenzt werden.

Die „DNS Rebinding Checks“ verhindern die Namensauflösung zu IP-Adressen, denn

vpn0.kasserver.com

bzw.

<Benutzername>.vpn0.kasserver.com

wird zur IP-Adresse

10.0.0.1

aufgelöst. Hierbei handelt es sich um eine private IP-Adresse, die letztlich nur über eine aktive OpenVPN-Verbindung erreicht werden kann.

Zur Lösung stehen seitens der pfSense zwei Möglichkeiten parat:

Unter

System - Advanced

bei „DNS Rebind Check“ den Haken setzen für „Disable DNS Rebinding Checks“ um die Überprüfung zu deaktivieren. Allerdings öffnet diese Änderung das Tor für DNS Rebind-Angriffen.

Etwas geschickter ist da schon eher ein Host-Override einzurichten:

Unter

Services - DNS Resolver

bei „Host Overrides“ auf „+ Add“ klicken und wie im Screenshot gezeigt konfigurieren:

Für jeden WebDisk-Benutzer unter „Additional Names for this Host“ nach dem Muster „<Benutzername>.vpn0.kasserver.com“ anlegen.

Als weitere Option könnte man beispielsweise auch die „hosts“-Datei auf dem Computer ändern:

10.0.0.1 <Benutzername>.vpn0.kasserver.com

Windows Server 2019 Evaluierungsversion – Häufige Reaktivierung notwendig

$
0
0

In meiner Testumgebung gibt es einen relativ frischen Windows Server 2019 Standard in der Evaluierungsversion, d.h. man kann diesen eigentlich 180 Tage testen.

Das Ganze läuft als VM und warum auch immer geschieht folgendes: Wurde dieser Server ein paar Tage, beispielsweise über’s Wochenende, nicht verwendet, war also heruntergefahren, meldet sich dieser dann mit einem sinngemässen „Testzeitraum abgelaufen“ und fährt munter jede Stunde herunter.

Mehr oder weniger lösen lässt sich das durch ein Ausführen von

slmgr.vbs -rearm

mit anschließendem Neustart. Irgendwie lästig ist das allerdings schon. Prüft man nach dem Neustart mit

slmgr.vbs -dli

den Status findet sich dort ein „netter kleiner Hinweis“:

Ja wie, Restdauer 10 Tage?! Das Teil wurde doch erst vor gut 90 Tagen installiert.

Schaut man mit

slmgr.vbs -dlv

sich den weiteren Status an, sieht man das maximal sechs Mal reaktiviert werden kann. Das System meint im Moment, das bereits drei Aktivierungen erfolgt sind. Ok, ich habe nicht mitgezählt, bin allerdings der Meinung es war schon wesentlich mehr (wie erwähnt, alle paar Tage die gleiche Show).

Mal sehen wie das noch weiter geht. So wie es aussieht ist dieses Verhalten nicht unbekannt:

evotec – Windows 2019 – Windows License Expired

Windows: LINEERR_NOTREGISTERED 0x80000047 und 0x80000048 LINEERR_OPERATIONFAILED bei TAPI-kompatiblen Anwendungen

$
0
0

Kurios aber wahr: Ich habe gerade bzw. seit ein paar Wochen gleich zwei Fälle bei denen jeweils eine TAPI-kompatible Anwendung mit gleichem Fehler und Verhalten streiken.

Einmal geht es dabei um Haufe PowerHaus und einmal um Acadoro. Eine Gemeinsamkeit konnte bislang nicht festgestellt werden, so hat der eine Kunde eine 3CX-Telefonanlage, der andere eine Telekom DigitalisierungsBox Premium, beim einen ist’s Windows 7, beim anderen Windows 10, beide Software-Hersteller sagen das sie ihre jeweilige TAPI-Integration selbst programmiert hätten und (wie immer) überall anders läuft, usw.

Bei Acadoro im Log des Anrufmonitors sieht das so aus:

06.05.2019 11:41:02 : Information: Tapi line found: bintec elmeg TK-Anlage NSt. 21
06.05.2019 11:41:02 : Information: Iterating Tapi Lines for incoming lines:
06.05.2019 11:41:02 : Information: Tapi line: bintec elmeg TK-Anlage NSt. 21
06.05.2019 11:41:02 : Information: Tapi line found: bintec elmeg TK-Anlage NSt. 21
06.05.2019 11:41:02 : Information: MonitorIncomingCall() called
06.05.2019 11:41:02 : Information: MonitorIncomingCall() Error: Cannot open line 'bintec elmeg TK-Anlage NSt. 21', TAPI error 80000048. The operation failed for an unspecified reason.
06.05.2019 11:41:02 : Information: IntializeWebService(): initializing paths
06.05.2019 11:41:03 : Information: IntializeWebService(): initializing connections finished
06.05.2019 11:41:04 : Information: GetCallHistory Called
06.05.2019 11:41:04 : Information: GetCallHistory Finished

Hier fällt der Fehlercode 80000048 („Der Vorgang schlug aus unbekannten Gründen fehl.“) auf. In diesem Log bei eingehenden Rufen.

Bei PowerHaus bekommt man das Log nach einem Klick auf „Tapi-Protokoll“ unter

Erweiterungen - Telefon/SMS-Anbindung - Einstellungen

das Protokoll angezeigt. Auf dem PC findet man dieses übrigens unter

%AppData%\Haufe\PwrTapi.log

Im Fehlerfall sieht das bei PowerHaus in Verbindung mit 3CX PBX, 3CX Phone und MultiLine-TAPI so aus:

[04.Jun.2019 08:51:26] [Info] ==========================
[04.Jun.2019 08:51:26] [Info] aktuelle Konfig-Parameter:
[04.Jun.2019 08:51:26] [Info] ==========================
[04.Jun.2019 08:51:26] [Info] PwrTapi-Version: 13.0.5700.0 vom 13.02.2013 17:59:18
[04.Jun.2019 08:51:26] [Info] Tapi-Device: 204 : Name
[04.Jun.2019 08:51:26] [Info] Tapi-Device-ID: 5
[04.Jun.2019 08:51:26] [Info] Tapi-Provider: 3CX Multiline TAPI Service Provider
[04.Jun.2019 08:51:26] [Info] Tapi-Init CPOwner: true
[04.Jun.2019 08:51:26] [Info] Tapi-Init CPNone: true
[04.Jun.2019 08:51:26] [Info] Tapi-Init CPMonitor: true
[04.Jun.2019 08:51:26] [Info] Database: srv01:c:/haufe/pwrhaus/dat
[04.Jun.2019 08:51:26] [Info] Database DOS: P:\PWRHaus\dat
[04.Jun.2019 08:51:26] [Info] CutNull: true
[04.Jun.2019 08:51:26] [Info] DisplayPopup: true
[04.Jun.2019 08:51:26] [Info] DisplayDialCancel: false
[04.Jun.2019 08:51:26] [Info] IgnoreInternal: false
[04.Jun.2019 08:51:26] [Info] TelAnlage: false
[04.Jun.2019 08:51:26] [Info] AnzJournalTage: 1
[04.Jun.2019 08:51:26] [Info] TelStammnr: 
[04.Jun.2019 08:51:26] [Info] TelDurchwahl: 2
[04.Jun.2019 08:51:26] [Info] TelAmtsholung: 0
[04.Jun.2019 08:51:26] [Info] TelAreaCode: +49
[04.Jun.2019 08:51:26] [Info] TelVorwahl: 06021
[04.Jun.2019 08:51:26] [Info] JournalRefresh: 30
[04.Jun.2019 08:51:26] [Info] DBGuardian: 0
[04.Jun.2019 08:51:26] [Info] IgnoreList: 
[04.Jun.2019 08:51:26] [Info] TotalIgnoreList: 
[04.Jun.2019 08:51:26] [Info] Show TAPI Errors: true
[04.Jun.2019 08:51:26] [Info] ==========================
[04.Jun.2019 08:51:26] [Info] TAPILineService beenden...
[04.Jun.2019 08:51:26] [Info] TAPILineService neu aktivieren...
[04.Jun.2019 08:51:26] [Info] TAPILineService neu aktiviert!
[04.Jun.2019 08:51:26] [Info] InitTAPI Device: 5 (204 : Name)
[04.Jun.2019 08:51:26] [Info] CheckDeviceID: OK
[04.Jun.2019 08:51:37] [Error] LINEERR_NOTREGISTERED, 0x80000047 (2147483719) -> Konfiguration
[04.Jun.2019 08:51:37] [Info] Aufruf des Konfigurationsdialogs...
[04.Jun.2019 08:51:37] [Info] TAPI Geräte suchen
[04.Jun.2019 08:51:37] [Info] gefundenes Gerät 0: AgileVPN
[04.Jun.2019 08:51:37] [Info] gefundenes Gerät 1: WAN Miniport (L2TP)
[04.Jun.2019 08:51:37] [Info] gefundenes Gerät 2: RAS PPPoE Line
[04.Jun.2019 08:51:37] [Info] gefundenes Gerät 3: PPTP
[04.Jun.2019 08:51:37] [Info] gefundenes Gerät 4: SSTP
[04.Jun.2019 08:51:37] [Info] gefundenes Gerät 5: 204 : Name
[04.Jun.2019 08:51:37] [Info] Gerät zur Liste hinzugefügt: 204 : Name
[04.Jun.2019 08:51:37] [Info] Caps des Gerätes: AddressModes=[amAddressID]
[04.Jun.2019 08:51:37] [Info]                   AddressTypes=[latPhoneNumber,latSDP,latIPAddress]
[04.Jun.2019 08:51:37] [Info]                   AnswerMode=(lamUnkown)
[04.Jun.2019 08:51:37] [Info]                   AvailableTracking=(lchtNone)
[04.Jun.2019 08:51:37] [Info]                   BearerModes=[bmVoice]
[04.Jun.2019 08:51:37] [Info]                   DevCapFlags=[ldcfCloseDrop]
[04.Jun.2019 08:51:37] [Info]                   DeviceClasses (TStringList)
[04.Jun.2019 08:51:37] [Info]                   DeviceID=5
[04.Jun.2019 08:51:37] [Info]                   DevSpecific=''
[04.Jun.2019 08:51:37] [Info]                   GaterDigitsMaxTimeout=0
[04.Jun.2019 08:51:37] [Info]                   GaterDigitsMinTimeout=0
[04.Jun.2019 08:51:37] [Info]                   GenerateDigitModes=[ldmDTMF]
[04.Jun.2019 08:51:37] [Info]                   GenerateToneMaxNumFreq=0
[04.Jun.2019 08:51:37] [Info]                   GenerateToneModes=[]
[04.Jun.2019 08:51:37] [Info]                   LineFeatures=[lfMakeCall]
[04.Jun.2019 08:51:37] [Info]                   LineStates=[dsOpen,dsClose,dsReInit,dsTranslateChange]
[04.Jun.2019 08:51:37] [Info]                   MaxNumActiveCalls=1
[04.Jun.2019 08:51:37] [Info]                   MaxRate=0
[04.Jun.2019 08:51:37] [Info]                   MedCtlCallStateMaxListSize=0
[04.Jun.2019 08:51:37] [Info]                   MedCtlDigitMaxListSize=0
[04.Jun.2019 08:51:37] [Info]                   MedCtlMediaMaxListSize=0
[04.Jun.2019 08:51:37] [Info]                   MedCtlToneMaxListSize=0
[04.Jun.2019 08:51:37] [Info]                   MediaModes=[mmInteractiveVoice,mmVideo]
[04.Jun.2019 08:51:37] [Info]                   MonitorDigitModes=[]
[04.Jun.2019 08:51:37] [Info]                   MonitorToneMaxNumEntries=0
[04.Jun.2019 08:51:37] [Info]                   MonitorToneMaxNumFreq=0
[04.Jun.2019 08:51:37] [Info]                   Name='204 : Name'
[04.Jun.2019 08:51:37] [Info]                   NumAddresses=1
[04.Jun.2019 08:51:37] [Info]                   NumTerminals=0
[04.Jun.2019 08:51:37] [Info]                   PermanentLineID=5
[04.Jun.2019 08:51:37] [Info]                   ProviderInfo='3CX Multiline TAPI Service Provider'
[04.Jun.2019 08:51:37] [Info]                   RingModes=0
[04.Jun.2019 08:51:37] [Info]                   SettableDevStatus=[]
[04.Jun.2019 08:51:37] [Info]                   StringFormat=(sfASCII)
[04.Jun.2019 08:51:37] [Info]                   SwitchInfo=''
[04.Jun.2019 08:51:37] [Info]                   TerminalCaps (TTermCaps)
[04.Jun.2019 08:51:37] [Info]                   TerminalText (TStringList)
[04.Jun.2019 08:51:37] [Info]                   UUIAcceptSize=0
[04.Jun.2019 08:51:37] [Info]                   UUIAnswerSize=0
[04.Jun.2019 08:51:37] [Info]                   UUICallInfoSize=0
[04.Jun.2019 08:51:37] [Info]                   UUIDropSize=0
[04.Jun.2019 08:51:37] [Info]                   UUIMakeCallSize=0
[04.Jun.2019 08:51:37] [Info]                   UUISendUserUserInfoSize=0

Herausstehen tut dabei die Zeile

[04.Jun.2019 08:51:37] [Error] LINEERR_NOTREGISTERED, 0x80000047 (2147483719) -> Konfiguration

Es geht also schon irgendwas beim Starten/Initialisieren schief. Leider findet sich zu den Fehlercodes nicht allzu viel. Interessant sind folgende Seiten:

3CX Forum – TAPI für ERP einrichten

MS Windows Dev Center – TAPI – LINEERR_ Constants

grutzeck.de – Auflistung aller möglichen TAPI Fehlermeldungen

Der Fehlercode besagt „Die Anwendung ist nicht für das Bearbeiten von Anforderungen registriert.“

Seltsamerweise funktionieren alle anderen getesteten TAPI-Anwendungen. Nimmt man also z.B. die Wählhilfe („dialer.exe“), Outlook oder Phoner klappt das Anrufen und angerufen werden. Ich tippe mal auf ein Timing-Problem beim Initialisieren, ist aber reine Spekulation. Als möglicher workaround kann man bevor man die genannten Anwendungen startet erstmal die „dialer.exe“ (bei PowerHaus) oder Phoner (bei Acadoro) starten. Das hilft zumindest schonmal etwas.

Mit beiden Herstellern bin ich an der Sache noch dran und hoffe auf Lösung.

Windows 10 Upgrade-Fehler 0xc1900208

$
0
0

Beim Versuch einen SFirm-/UPS WorldShip-Quasi-Server von Windows 10 1809 auf 1903 zu aktualisieren meldete das Setup das die Aktualisierung nicht durchgeführt werden kann.

Die Fehlermeldung ist relativ nichts-sagend:

Imho hilft dieses „nette Fensterchen“ erstmal überhaupt nicht weiter. Schaut man in den Installationsverlauf bekommt man wenigstens die Fehlernummer „0xc1900208“ angezeigt, auch das ist nicht wirklich hilfreich, denn ein „Upgrade Block“ kann viele Ursachen haben.

Also auf die aktuelle Liste der möglichen Show-Stopper geschaut:

Windows 10, version 1903 and Windows Server, version 1903 – Known issues and notifications

Dort fand sich allerdings für diesen Fall nichts passendes. Also weiter geforscht. Im Ordner

C:\$WINDOWS.~BT\Sources\Panther

dann nacheinander alle Dateien die mit „CompatData“ beginnen durchgeschaut und tatsächlich in der letzten Datei dann folgenden Treffer gelandet:

Ok, es hängt an irgendwelchen Treibern, die nicht signiert sind. Ob die fehlende Signatur allerdings die Ursache ist, sei dahingestellt. Also unter

C:\Windows\INF

die beiden genannten Dateien mit dem Editor geöffnet, um feststellen zu können um welche Geräte es sich handelt. Kurzum: Es scheitert an Microsoft’s virtuellen Druckern für die PDF- und XPS-Ausgabe. Da beide auf dem System nicht genutzt werden, diese gelöscht. Das einfache Entfernen der Drucker via Einstellungen-App oder der guten alten Systemsteuerung reicht allerdings nicht aus, da die Treiber immer noch im System sind. Besser ist es die entsprechenden Features zu entfernen:

Zu guterletzt darf man noch die Datei

C:\$WINDOWS.~BT\Sources\Panther\compatscancache.dat

löschen, dann läuft das Setup nach einem Klick auf „Aktualisieren“ weiter.

Unbekannt ist dieses Problem nicht, wie man hier nachlesen kann:

18362 Upgrade failed due to 17763 Microsoft XPS and PDF drivers?

spDYN und Telekom Digitalisierungsbox Premium

$
0
0

Möchte man spDYN mit einer Telekom Digitalisierungsbox Premium nutzen, so muss man zunächst einen neuen DynDNS-Anbieter anlegen, bevor man mit der eigentlichen Anbindung fortfahren kann.

Vorausgesetzt wird, das bereits ein spDYN-Konto samt angelegtem Host existiert.

  • Am Router anmelden.
  • Auf „Internet & Netzwerk“ klicken.
  • Auf „Mehr anzeigen“ klicken.
  • Bei „Lokale Dienste“ auf „DynDNS-Client“ klicken.
  • Auf „DYNDNS-PROVIDER“ klicken.
  • Auf „NEU“ klicken.
  • Die Felder wie folgt ausfüllen:
    Providername: spDYN
    Server: update.spdyn.de
    Aktualisierungspfad: /nic/update
    Port: 80 oder 443
    Protokoll: DynDNS
    Aktualisierungsintervall: 300
  • Auf „OK“ klicken.
  • Auf „DYNDNS-AKTUALISIERUNG“ klicken.
  • Auf „NEU“ klicken.
  • Die Felder wie folgt ausfüllen:
    Hostname: <Hostname, z.B. "meinname.spdns.de">
    Schnittstelle: <Die WAN-Schnittstelle auswählen, z.B. "DTAG Internet-Zugang">
    Benutzername: <Hostname, z.B. "meinname.spdns.de", oder spDyn-Benutzername>
    Passwort: <Token oder Kennwort>
    Provider: spDYN
    Aktualisierung aktivieren: Aktiviert
  • Auf „OK“ klicken.

Soviel zur Theorie, in der Praxis hat der Erfahrung nach bislang nur Port 80 und die Angabe von Benutzername samt Kennwort (statt Hostname und Token) funktioniert.

Troubleshooting:

Klappt die Aktualisierung nicht, wird lediglich ein „Fehlgeschlagen“ angezeigt. Mit etwas Glück finden sich dann Einträge im Protokoll. Dieses am besten filtern:

Etwas zielgerichteter kann man nach „Filtern in – Nachricht – enthält – ddnsd“ filtern. So lassen sich leichter Fehler wie diese finden:

ddnsd: update failure interface 30010001 <host>.spdns.de with code 429 - unknown return code

Code 429 bedeutet zu viele (Fehl-)Versuche in einem bestimmten Zeitraum. Diesen bekommt man mitunter auch im Klartext im Protokoll zu sehen:

ddnsd: interface 30010001 <host>.spdns.de failed - too many retries

Quellen:

Telekom – Community – Geschäftskunden – Fragen & Diskussionen – Festnetz & Internet – Digitalisierungsbox Smart Update URL SpDyn

Securepoint Support Forum – [gelöst]Digitalisierungsbox Smart Update URL SpDyn

Securepoint – Wiki – spDYN – Securepoint Dynamic DNS Host verwenden


Windows: Hohe CPU-Auslastung durch „audiodg.exe“

$
0
0

Vor ein paar Tagen bzw. bei den vergangenen zwei DJ-Sets im Garten fiel mir auf, das die CPU-Auslastung meines Notebooks zugenommen und sowie quasi in Folge die Akkulaufzeit abgenommen hat.

Ein Blick in den Task-Manager offenbarte, das ein Prozess mit dem Namen „audiodg.exe“ für ordentlich Auslastung sorgt. Grundsätzlich lief allerdings alles, keine Aussetzer in der Wiedergabe o.ä.

Das Ganze tritt (bei mir) nur in der Kombination VirtualDJ, ASIO4ALL und USB-Soundkarte auf, ganz gleich ob mit oder ohne angeschlossenem Netzteil. Bei anderem ASIO-kompatiblen Software wie DAWs tritt es nicht auf. Es ist also durchaus möglich, das es nur in bestimmten Abhängigkeiten zum Vorschein kommt.

Schaut man im Netz nach diesem Problem bzw. weiter gegriffen nach „audiodg.exe“ und CPU- oder Prozessorauslastung finden sich einige Treffer. Potentielle Abhilfen gibt es viele, wie z.B. die Sample-Rate ändern, „Enhancements“ (Erweiterungen) deaktivieren, gemeint sind damit solche Klangverschlimmbesserungen, usw. Anbei ein paar Link-Treffer:

Lenovo – Support – Lösung, wenn audiodg.exe unter Windows 7 eine hohe CPU-Last verursacht

Appuals – Fix: High CPU Usage by audiodg.exe

Das Ganze hat nichts speziell mit DJ- oder Musik-Software zu tun. Warum dies nun plötzlich ohne bewusste Änderung am System auftritt bleibt offen. Geholfen hat bei mir bislang übrigens keine vorgeschlagene Lösung. Schlimmer bzw. komplett unbrauchbar wurde die genannte Kombination mit dem jüngsten Update von VirtualDJ, von daher musste eine andere Lösung her. Dazu ein ander Mal mehr.

Audacity: Latenz von Lautsprecher messen

$
0
0

Für ASIO-Umgebungen wurde zum messen bereits vor langer Zeit das Tool CEntrance ASIO Latency Test Utility vorgestellt. Offenbar ist dieses nicht mehr verfügbar und es gibt andere Mittel und Wege die Latenz zu bestimmen. Relativ einfach lässt sich die Verzögerung mit dem Audio-Editor Audacity messen.

Benötigt wird neben dem zu messenden Lautsprecher, der idealerweise mittels Line (Kopfhörer-/Lautsprecherausgang, o.ä.) angeschlossen ist ein Mikrofon. Da es hier nicht um High End-Studioaufnahmen geht, reicht irgendwas günstiges aus. Wichtig ist das es direkt mit dem Mikrofon-Eingang der Soundkarte verbunden ist, es sollte also beispielsweise kein USB-Headset verwendet werden. Vor der eigentlichen Messung sollten die Pegel eingestellt werden, d.h. keine Übersteuerung und allzu laut muss es auch nicht sein.

  • Nun startet man Audacity, wählt ggf. die Ausgabe- und Aufnahmegeräte aus.
  • Man läd zunächst ein Soundschnipsel oder Musikstück in eine Spur. Idealerweise startet dieses direkt am Anfang ohne irgendeinen Vorspann, so ist es später einfacher die Verzögerungszeit zu bestimmen.
  • Fügt eine zweite Spur hinzu („Spur – Neu hinzufügen – Stereo-Spur“).
  • Hält das Mikrofon an den Lautsprecher und startet die Aufnahme.

Eine kurze Aufnahme von wenigen Sekunden reicht völlig aus. Zum bestimmen der Verzögerung setzt man in der „Auswahl Werkzeugleiste“  (oder auch Fuss- bzw. Statuszeile genannt) bei „Audioposition“ diese noch auf „hh:mm:ss + Millisekunden“:

Nun positioniert man die Wiedergabemarke auf den Beginn der Aufnahme. Die bei „Audioposition“ angezeigte Zeit stellt den Wert der Latenz dar.

Für den Test kamen folgende Geräte zum Einsatz:

  • SOL-EXPERT – Aktivbox für Smartphones und MP3 (Bausatz): 13 ms
  • Behringer Ultracoustic ACX 1000: 18 ms
  • Caliber HPG 407BT: 18 ms
  • Creative Inspire T10: 20 ms
  • Mackie FreePlay Home: 112 ms

Wie man sieht eine bunte Mischung an Lautsprechern, vom Bausatz (SOL-Expert), über einen Instrumentenverstärker (Behringer), eine Bluetooth-Röhre (Caliber), einen PC-Lautsprecher (Creative) bis hin zum portablen Bluetooth-Lautsprecher (Mackie) alles dabei. Speziell zu den Bluetooth-Geräten sei angemerkt, das diese wie alle anderen auch via Line verbunden waren. Über Bluetooth selbst gibt es weitere zusätzliche Latenzen, da macht die Messung (imho) keinen wirklichen Sinn. Ebenfalls beachten sollte man, das die erfassten Zeiten nur ungeführ sind. Bedenken sollte man zudem, das die Umwandlung von Digital-zu-Analog bei der Wiedergabe, sowie die umgekehrte Richtung, also Analog-zu-Digital für die Aufnahme ebenfalls etwas Zeit benötigt.

Richtig entschäuschend ist Mackie’s FreePlay Home in Sachen Verzögerungszeit. Hier zeigte sich mit deutlichem Abstand eine hohe Latenz vom Line In bis zur hörbaren Wiedergabe von 112 ms. Kurzum: Für Echtzeit (< 25 ms) viel zu lange. Schade. Für ein Gerät das gut 200 € kostet und noch dazu von einem Musikgeräte-Hersteller stammt erstaunlich ungut.

Zum direkten Vergleich anbei ein Screenshot mit allen Spuren der getesteten Geräte:

Windows: Batch-Skripte und Umlaute

$
0
0

Idealerweise ist es (imho) immer eine gute Idee Umlaute in Skripten und Pfaden zu vermeiden, manchmal kommt man dennoch schlichtweg nicht drum herum.

So in diesem Fall, das der Benutzername bzw. in Folge der Profilpfad einen Umlaut enthält. Die Situation ist geerbt, soll heißen: Stammt von vorangegangenen IT-Betreuer.

Damit nun dennoch in klassischen Batch-Skripten Umlaute verwendet werden können, kann man zu einem Trick greifen:

  • Zunächst die Codepage ändern,
  • in einer Variable den gewünschten Umlaut eintragen,
  • die Codepage zurücksetzen und
  • den eigentlichen Befehl einsetzen.

Ein Beispiel

Am Beispiel von einem kleinen Skript bei dem Dokumente mittels Robocopy migriert werden sollen sieht das wie folgt aus:

@echo off

title Migration

chcp 1252

set source=\\pc06\c$\Users\UserÖ
set destination=C:\Users\UserÖ
set folder=Documents

chcp 850

robocopy "%source%\%folder%" "%destination%\%folder%" /mir /copy:dat /xj /np /r:0 /w:0 /tee /log:"rc01-%folder%.log"

pause

Wichtig: Das Ganze funktioniert nur, wenn die Datei in „ANSI“-Codierung gespeichert ist! In Notepad geht dies mit „Datei – Speichern unter – Codierung“.

Quellen:

heise – ct – Praxis & Tipps – Tipps & Tricks – Keine Umlaute auf Kommandozeile

LiBe.net – Problem gelöst: cmd, BATch Umlaute – Windows robocopy

Windows: Remote Desktop Plus – RemoteApp bei bestehender Sitzung mit anderem Benutzernamen starten

$
0
0

Verwendet man unter Windows RemoteApps, so wird jede neu auszuführende RemoteApp innerhalb der bestehenden Sitzung gestartet. Im Regelfall ist das ok, allerdings in manchen Szenarien auch störend, wenn z.B. explizit eine oder mehrere RemoteApps in einem anderen Benutzerkontext laufen sollen. Das Ganze kommt nur dann zum Tragen, wenn die RemoteApps auf dem gleichem Server laufen.

Eine Abhilfe kann schaffen, wenn man in der betreffenden RemoteApp-Verbindungsdatei explizit angibt, das nach den Zugangsdaten auf dem Client gefragt werden soll („prompt for credentials on client:i:1“). Bestehen dann zwei oder mehrere Sitzung wird beim Start jeder weiteren RemoteApp abgefragt in welcher Sitzung diese ausgeführt werden soll.

Siehe dazu den Beitrag Windows: RemoteApps mit unterschiedlichen Benutzernnamen von ein und demselben Server öffnen

Nutzt man Remote Desktop Plus (RDP+) um per Verknüpfung oder automatisiert RemoteApps zu starten, so gibt es für das genannte Szenario eine Kleinigkeit zu beachten.

Grundsätzlich kann man bei RDP+ über zwei Wege eine RemoteApp ausführen:

rdp.exe /remoteapp:"||<RemoteAppName>" /v:<Servername> /d:<Domain> /u:<Username> /p:<Password>

rdp.exe RemoteAppName.rdp /v:<Servername> /d:<Domain> /u:<Username> /p:<Password>

Das bequeme am erstgenannten Aufruf ist, das keine *.rdp-Datei benötigt wird. Allerdings wird die Angabe der Zugangsdaten ignoriert und so wird die RemoteApp in der bereits bestehenden Sitzung gestartet. Also genau das Verhalten, das man nicht möchte.

Interessanterweise verhält sich RDP+ unter Verwendung einer Remotedesktopverbindungsdatei an dieser Stelle anders. In diesem Fall wird eine neue Sitzung unter Verwendung der angegeben Zugangsdaten aufgebaut. In der Remotedesktopverbindungsdatei müssen im Vorfeld übrigens keine Anpassungen vorgenommen werden.

Hyper-V: Virtuelle Computer in bestimmter Reihenfolge starten und herunterfahren

$
0
0

Im Gegensatz zu VMware’s ESX(i) gibt es bei Microsoft’s Hyper-V ab Werk und ohne Zusätze keine grafische Möglichkeit die Start- oder Herunterfahren-Reihenfolge von virtuellem Computern festzulegen.

Mit Bordmitteln gelingt das Vorhaben dank einfacher Skripte dennoch. Das Ausgangsszenario ist der monatliche Patchday. Alle virtuellen Computer inkl. dem Host gleichzeitig herunterzufahren oder neu zu starten ist keine gute Idee, geht dies mindestens auf die (Gesamt-)Performance und führt häufig zu Schwierigkeiten bei der Netzwerkkategorie (Stichwort: Öffentlich statt Domänennetzwerk).

Das Herunterfahren und den Host-Neustart kann man z.B. so regeln:

@echo off

rem SRV02, SRV03 und WTS03 per Integrationsdienste herunterfahren

powershell Stop-VM -Name 'WTS01' -Force
powershell Stop-VM -Name 'SRV03' -Force
powershell Stop-VM -Name 'SRV02' -Force

rem SRV01 per shutdown-Befehl herunterfahren

net use \\192.168.2.10 "Kennwort" /user:"Domäne\administrator" /persistent:no
shutdown /m \\192.168.2.10 /s /f /t 0
net use \\192.168.2.10 /d

rem Pruefen, ob der virtuelle Computer heruntergefahren wurde

:check
timeout /t 15 /nobreak
powershell Get-VM | find "Running" | find /i "SRV01"
if %Errorlevel%==0 goto check

rem Statusdatei schreiben

echo Start VMs > "C:\Users\Administrator\Dokemente\Hyper-V\VMstart.txt"

rem HV01 neu starten

shutdown -r -f -t 30

In diesem Beispiel werden zunächst die virtuellen Computer mit aktiven und funktionierenden Integrationsdiensten heruntergefahren, dann folgt noch Einer ohne Integrationsdienste und schließlich wird der Host neu gestartet.

Damit nach dem Neustart der Host weiß das er die virtuellen Computer wieder starten soll, wird eine Statusdatei erstellt.

Dieses Skript wird als Aufgabe zu einem festgelegtem Zeitpunkt ausgeführt, beispielsweise über Nacht.

Eine weitere Aufgabe prüft beim Starten des Hosts, ob eine Statusdatei exisitiert und wenn dies der Fall ist, werden die virtuellen Computer in der angegebenen Reihenfolge gestartet:

@echo off

rem Status-Datei pruefen

if not exist "C:\Users\Administrator\Dokumente\Hyper-V\VMstart.txt" exit

rem SRV01 und SRV02 starten

powershell Start-VM -name 'SRV01'
timeout /t 360 /nobreak

powershell Start-VM -name 'SRV02'
timeout /t 360 /nobreak

rem SRV03 und WTS03 starten

powershell Start-VM -name 'SRV03'
timeout /t 360 /nobreak

powershell Start-VM -name 'WTS01'

rem Status-Datei entfernen

del "C:\Users\Administrator\Dokumente\Hyper-V\VMstart.txt" /q

Tipp: Die „Start“-Aufgabe um min. eine Minute verzögern, damit es zu keinen Schwierigkeiten kommt.

Ggf. muss man die Pause-Zeiten zwischen den Startvorgängen anpassen, das kommt ganz darauf an, wie lange im Durchschnitt die virtuellen Computer zum Starten benötigen.

In der Praxis, ganz gleich ob mit oder ohne die Installation von Windows Updates hat sich 360 Sekunden, also fünf Minuten, bewährt. Die einzige Ausnahme stellen dabei virtuelle Computer mit Windows Server 2016 dar, die leider unglaublich lange für den Windows Update bedingten Neustart benötigen.

Viewing all 1825 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>