Rss

  • youtube
  • google

Freenas 11 – Virtuelle Maschine stoppen (cli)

Die aktuelle Version von Freenas 11.0 (Stable) setzt auf die Virtualisierungsumgebung byvhe, welche zumindest was die Web-Oberfläche angeht, noch nicht wirklich ausgereift ist.

Derzeit existiert noch das Problem, dass in manchen Fällen die Virtuelle Maschine nicht über die GUI gestoppt werden kann.

Sollte dass der Fall sein, kann man den Prozess zumindest über die Konsole beenden.

Schritt 1: Prozessliste ausgeben

Sucht hier nach dem Namen eurer VM und notiert euch die PID. In meinem Fall heißt die Maschine schlicht „Windows“ und die PID ist „15133“.

Schritt 2: Prozess beenden

Anschließend ist die VM hart beendet worden und ihr könnt diese auch wieder starten.

GPO – Fix: Encountered an error while parsing

Mit dem Update der aktuellen Windows 10 ADMX Tempaltes für das Creators Update (1703) bin ich bei uns im Group Policy Editor auf folgende Fehlermeldungen bei älteren GPO’s gestoßen:

Die gleiche Fehlermeldung kam ebenfalls nochmal für WinStoreUI:

Problem:
Eine kurze Recherche ergab, dass Microsoft die Templates „WinStoreUI.admx“ in „WinStoreUI.admx“ bzw. „LocationProviderAdm.admx“ in „microsoft-windows-geolocation-wlpadm.admx“ umbenannt hat.
In der Regel werden die ADMX Dateien automatisch bei einem Update überschrieben. In diesem Fall kommt jedoch das neuere File dazu.
Aus diesem Grund gibt 2 admx Dateien mit den gleichen Namespaces, weswegen die Fehlermeldung erscheint.

Lösung:
Die alten ADMX Dateien (WinStoreUI.admx und LocationProviderAdm.admx) können samt der Language Files gelöscht werden. Die neuen ADMX Templates sind mit allen Einstellungen Abwärtskompatibel.

Windows 2008/2012/2016 – DFS Replikation wiederherstellen

Wird der Domaincontroller z.B. durch einen Stromausfall unsauber heruntergefahren, kann es passieren dass die DFS-Replikation anschließend nicht mehr korrekt funktioniert. In dem Fall tauchen im Eventlog Fehlermeldungen mit den ID’s: 6012, 1204, 2203 oder 4012 auf, die das bestätigen.

Wenn die Replikation nicht mehr funktioniert, wird das SYSVOL Verzeichnis nicht mit anderen Domain Controllern synchronisiert. Es werden also keine Gruppenrichtlinen oder Startskripte synchronisiert/aktualisiert.

Die Fehlermeldungen im Detail:

Als erstes kann man folgende Schritte unternehmen um die Replikation zu überprüfen. In meinem Fall handelt es sich um mehrere Domaincontroller, es geht also um das SYSVOL Verzeichnis. (Quelle: Technet)

Anschließend kann man sich den Status der DFS Replikation ausgeben lassen:

Die Statuscodes haben folgende Bedeutung:

Vorher eine Sicherung des geteilten Ordners machen! Also in meinem Fall: C:\Windows\SYSVOL. Bei der Wiederherstellung kann es vorkommen, dass die Inhalte der Freigabe verloren gehen.

Nun geht es an die Wiederherstellung der Replikation. Bei mehreren DC’s oder bei neu hinzugefügten DC’s kann es sein, dass das SYSVOL Verzeichnis noch nie synchronisiert wurde und daher leer ist bzw. gar nicht existiert. Daher die folgenden Schritte auf dem „primären“ DC ausführen, von dem aus der Sync erfolgen soll.

Schritt 1: Replikation fortsetzen

Aus der 2. Fehlermeldung von oben ergibt sich, dass die Replikation gestoppt ist. Diese müssen wir wieder fortsetzen. Der passende Befehl dazu findet sich zum Glück direkt im Eventlog.

Im Eventlog finden sich jetzt weitere Einträge, dass die Replikation zwar fortgesetzt wird – jedoch nicht funktioniert, da der Partner immer noch zulange offline war.

Schritt 2: MaxOfflineTimeInDays hochsetzen

Die Lifetime also den Wert „MaxOfflineTimeinDays“ können wir mit folgenden Befehl für alle DC’s überprüfen:

Dieser wird jetzt auf eine Anzahl Tage gesetzt die höher ist, als die im Eventlog vermerkte Anzahl. In meinem Fall wäre das dann 220. Der Befehl muss auf allen DC’s mit dem Fehler ausgeführt werden.

Damit die Änderung des Wertes greift muss jeweils noch der Dienst „DFS Replication“ (DFSR) neugestartet werden.

Ab jetzt sollte die Replikation wieder korrekt durchlaufen. Dies kann man über das Eventlog weiter verfolgen.

Schritt 3: MaxOfflineTimeInDays  – back to default

Wenn die Replikation abgeschlossen wurde sollte der Wert „MaxOfflineTimeInDays“ – wie in Schritt 2 – wieder auf den Standard von 60 Tagen zurückgesetzt werden.

Fix: Windows Update Fehler 0x80072f0c mit WSUS Server

Nach einer Neuinstallation des WSUS Servers bin ich auf folgenden Fehler bei einigen Windows Clients gestoßen: 0x80072f0c
Der Fehler bedeutet dass ein Zertifikat für die Authentifizierung notwendig ist. (A certificate is required to complete client authentication)
Besitzt der Client der Updates beziehen möchte also ein Computerzertifikat sollte es funktionieren.
Jedoch benutzt nicht jeder Computerzertifikate, also kann man den Authentifizierungstyp im IIS auch abändern.

  1. Internet Information Services (IIS Manager) starten
  2. Zur Site „WSUS Administration“ wechseln
  3. SSL Settings öffnen
  4. Prüfen dass kein Haken bei „Require SSL“ gesetzt ist und Client Certificates auf „Ignore“ steht.
  5. ggf. per cmd noch einen iisreset machen

Exchange 2016 und WMF 5.0 – Management Shell Fehler

Installiert man das Windows Management Framework 5.0 auf einem Windows Server 2012 R2 um z.B. die aktuelle Powershell 5.0 zu bekommen, sollte man vorher prüfen ob nicht auch die Exchange Management Shell verwendet wird.

Sonst führt dies zu folgendem Fehler: „Cannot find path “ because it does not exist.“

Das Windows Management Framework 5.0 findet man unter den installierten Updates (KB3134758).
Und wer lesen kann ist klar im Vorteil: In den System Requirements steht nichts von Powershell 5.0. (Aktueller Stand bei Exchange CU6)

Also Update entfernen und siehe da – alles geht 😉

SSL-Zertifikat des Unifi Wifi Controller austauschen

Wer den Ubiquiti Unifi Wlan Controller nutzt wird vielleicht schon über das mitgelieferte, selbsterstellte Zertifikat gestolpert sein. Das ganze führt auf der Adminoberfläche zu einer kleinen Fehlermeldung die soweit aber noch nicht so dramatisch ist. Nutzt man noch das Gästeportal bekommen jedoch auch alle Clients mit ihrem Smartphone eine Fehlermeldung, wenn auf die Loginseite mit HTTPS weitergeleitet wird.

Leider gibt es noch keine Möglichkeit das Zertifikat über die Admin Oberfläche auszutauschen. Jedoch per Kommandozeile, wie ich hier kurz beschreibe. Ich verwende den Windows Controller. Die Prozedur sollte unter Linux bis auf die Pfade nicht viel anders sein.

Ausgangslage ist ein bereits erstelltes Zertifikat was in Form eines PFX vorliegt. (Der Windows-Standard, wenn man ein Zertifikat exportiert.)

Vorher unbedingt eine Sicherungskopie des Keystore machen und den Unifi Controller beenden.
(C:\Users\Dein-User\Ubiquiti UniFi\data\keystore)

Alias des Zertifikats anzeigen lassen:

Die erste Zahl (1, 16.05.2017) gibt an welcher Alias das Zertifikat in dem PFX hat. In meinem Fall ist in dem PFX nur ein Zertifikat enthalten, evtl. kann aber z.B. noch das Root Zertifikat enthalten sein – dann muss man die Fingerabdrücke vergleichen und den korrekten Alias auswählen.

Das Passwort für den keystore lautet: aircontrolenterprise

Zum Abschluss den Unifi Controller wieder starten.

Google Authenticator – Token exportieren/importieren

Durch den Google Authenticator kann man seine Konten durch den sogenannten 2. Faktor zusätzlich schützen. Nun habe ich bei einigen Diensten wie z.B. Amazon, Google, Teamviewer und noch ein paar mehr, die 2 Faktor Authentifizierung bereits aktiviert und auf meinem Handy eingerichtet.

Mit dem Wechsel des Smartphones kann man über die Android Backup Funktion (bzw. Herstellerspezifische) seine Daten und Apps weitestgehend kopieren.
Dies habe ich bereits für das Samsung Galaxy S8+hier beschrieben.
Dabei gehen aber die eingerichteten Tokens des Google Authenticator verloren. Diese müssen alle über die Konten neu eingerichtet werden.
Wem dies zuviel Aufwand ist, kann eine schnellere Methode benutzen – bei der jedoch Root-Rechte auf dem Smartphone benötigt werden, wo der Google Authenticator bereits genutzt wird. Auf dem „neuen“ Handy werden keine Root-Rechte benötigt.

Authenticator Plus
Authenticator Plus
Entwickler: Mufri
Preis: 3,09 €+

Authenticator Plus

Abhilfe schafft hier die ca. 3€ teure App: Authenticator Plus. Diese App kann die Tokens aus dem Google Authenticator importieren, wenn Root-Rechte vorhanden sind. Anschließend muss man ein Passwort vergeben, mit dem die Tokens in einer verschlüsselten Datenbank abgelegt werden. Danach können die Tokens auf das neue Smartphone exportiert bzw. synchronisiert werden. Für die Synchronisation werden folgende Anbieter unterstützt: Google Drive oder Dropbox – was das ganze komfortable gestaltet.
Wer der verwendeten Verschlüsselung und den Hostern nicht traut, kann aber auch einfach die Datei per USB oder SDKarte von Hand auf das neue Gerät kopieren/verschieben. Weitere ausführliche technische Informationen zur Sicherheit finden sich hier.

Netter Nebeneffekt dabei ist, dass man mit dem Authenticator Plus seine Tokens auf mehreren Geräten gleichzeitig verfügbar machen kann. Die Handhabe funktioniert genau und 1:1 wie beim Google Authenticator z.B. Das einlesen per QR Code. Desweiteren kann man seine Token noch kategorisieren, was jedoch bei meinen 8 verwendeten noch keinen wirklichen Mehrwert bietet.

Die App bietet desweiteren noch einige Einstellungen im Vergleich zum Google Authenticator wie ein extra Pin-Schutz, Anzeigeoptionen, Android-Wear Unterstützung und viele Einstellungen zu Synchronisation und Import/Export Funktion. Wenn die App auf einem gerootetem Handy benutzt wird, muss der Pin-Schutz explizit genutzt werden, um so die Tokens zusätzlich zu schützen.

 

Samsung Galaxy S8+ Daten kopieren – der Wechsel mit Smart Switch

Ich bin einer von vielen, die ein Samsung Galaxy S8+ ihr eigen nennen dürfen.  Wie bei jedem neuen Handy stellt sich die Frage:

Wie kann man am Einfachsten die Daten des alten Handy auf das neue migrieren?  

Im folgenden Stelle ich kurz das beim S8 und S8+ beinhaltete App „Samsung Smart Switch“ vor und erkläre wie die Migration erfolgt.

Samsung Smart Switch

Das Samsung Galaxy S8 kommt mit der Software „Smart Switch“ daher, welche es ermöglich seine Daten von einem alten Smartphone zu kopieren.
Es werden iOS, Android, Blackberry und Windows Phones unterstützt, was eigentlich 99% der Smartphones abdecken sollte.
Ihr braucht lediglich das Samsung Smart Switch App aus dem jeweiligen App-Store zu installieren.

Beim Übertragen der Daten vom Samsung Galaxy S6 oder S7 wird sogar das Hintergrundbild und die Position der Icons auf dem Homescreen übertragen.


Anschließend gibt es die Möglichkeit der Übertragung der Daten per Kabel oder Kabellos. Bei meinem LG G4 mit LineageOS klappte die Übertragung über den beim Galaxy S8+ mitgelieferten USB-Host Adapter leider nicht. Jedoch ließ sich Kabellos alles übertragen.

 

Fazit

Wiederherstellung der Apps aus dem Google Konto

Über das App kann man relativ schnell und unkompliziert seine Daten und einen Großteil der Apps mit Einstellungen sowie Kontakten, Nachrichten (SMS), Anrufprotokoll, Bildern, und Dateien

von der SD-Karte übertragen. Es gibt jedoch Apps wie zum Beispiel WhatsApp oder der Google Authenticator welche sich auf diesem Weg nicht sichern lassen. Jedoch gibt es für WhatsApp ja eine integrierte Backup-Funktion die ihr unter (Einstellungen -> Chats -> Chat Backup) findet.

Der beste Weg um sein Handy zu sichern setzt leider Root-Rechte voraus. Wer Root Rechte auf seinem alten und neuen Handy hat, kann dann wirklich alle Apps und Einstellungen per Titanium Backup sichern.

Wichtig: Beim ersten Einrichten eures neuen Galaxy S8 oder S8+ werdet ihr beim Einrichten eures Google Kontos gefragt, ob ihr die Daten eines alten Gerätes wiederherstellen wollt. Hier würde ich unbedingt „Nicht wiederherstellen“ auswählen, da hier lediglich nur die Apps und so gut wie keine weiteren Einstellungen installiert werden.

 

WSUS 2012R2 für Verteilung von Windows 10 Upgrades vorbereiten

Mit der neusten Version des Windows Update Services bietet Microsoft jetzt endlich auch die Möglichkeit, Upgrades für Windows 10 bereitzustellen.
Dafür wird die WSUS Version „Build 6.3.9600.18324“ vorausgesetzt. Das aktuellste Patchlevel könnt ihr bei wsus.de einsehen (ganz runter scrollen).

In der Regel fehlen bei einem 2012 R2 Server lediglich die beiden Patches: KB3095113 sowie KB3159706 die mittlerweile aber auch per Automatische Updates verteilt werden.

In meinem Fall lies sich danach der WSUS nicht mehr starten, was sich über den Eventlog Eintrag: „Update Services failed its initialization and stopped.“ ausdrückte.

Aus der Fehlermeldung lies sich jetzt noch nicht das Problem erkennen. Das etwas detailliertere Logfile findet sich unter:

C:\Program Files\Update Services\LogFiles\SoftwareDistribution.txt

Dort fand sich dann das eigentliche Problem:

2017-04-24 09:35:55.755 UTC Info WsusService.6 SusService.SusServiceStartUpThreadProc WSUS Server Version: 6.3.9600.18324
2017-04-24 09:36:19.724 UTC Error WsusService.6 SusService.SusServiceStartUpThreadProc WUS Service failed during startup processing, sleeping before retry - Error Details: System.Data.SqlClient.SqlException (0x80131904): Cannot open database "SUSDB" requested by the login. The login failed.
Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource<code>1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource</code>1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource<code>1 retry, DbConnectionOptions userOptions)
at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource</code>1 retry)
at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
at System.Data.SqlClient.SqlConnection.Open()
at Microsoft.UpdateServices.DatabaseAccess.DBConnection.Connect(String connectionString)
at Microsoft.UpdateServices.Internal.DataAccess.ExecuteSPUpdateServerHealthStatus(String componentName, Boolean isRunning)
at Microsoft.UpdateServices.EventSystem.SusService.SusServiceStartUpThreadProc()
ClientConnectionId:5ef465d2-f07e-466e-a09d-ab40a02d50e8

Mit dieser Fehlermeldung kommt man auf den KB3159706 von Microsoft. Dort wird erklärt, dass noch die folgenden manuelle Schritte notwendig sind um die Installation der beiden vorherigen KB’s abzuschließen:

  1. Als Administrator in der Konsole ausführen
    C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall /servicingführt zu folgendem Output:
    Log file is located at C:\Users\Username\AppData\Local\Temp\2\tmp46DF.tmp
    Post install is starting
    Post install has successfully completed
  2. Im Server Manager über „Add Roles and Features“ das „HTTP Activation“ Feature für .NET Framework 4.5 aktivieren
  3. Den WSUS Dienst neustarten
    net stop WsusService && net start WsusService

Für diejenigen, wo kein SSL für ihren WSUS aktiviert haben, war es dass an dieser Stelle. Wer SSL benutzt bekommt eventuell in dem Moment noch die folgende Fehlermeldung zu Gesicht: „The Client Web Service is not working.“

In diesem Fall muss noch die web.config Datei des Webservices angepasst werden.

 

  1. Wieder als Administrator per cmd ausführen:
    cd C:\Program Files\Update Services\WebServices\ClientWebService\
    takeown /f web.config /a
    icacls "C:\Program Files\Update Services\WebServices\ClientWebService\Web.config" /grant administrators:f
    
  2. Weitere Endpoint Einträge in der Datei „C:\Program Files\Update Services\WebServices\ClientWebService\Web.Config“ hinzufügen.
    Hier am einfachsten nach „endpoint address“ suchen. Der Block fängt mit folgenden Zeilen an:

    <services>
    <service
    name="Microsoft.UpdateServices.Internal.Client"
    behaviorConfiguration="ClientWebServiceBehaviour">

    Anschließend kommen die Einträge der Endpoints, zu denen ihr die folgenden dazu kopiert:

    <!--
    These 4 endpoint bindings are required for supporting both http and https
    -->
    <endpoint address=""
    binding="basicHttpBinding"
    bindingConfiguration="SSL"
    contract="Microsoft.UpdateServices.Internal.IClientWebService" />
    <endpoint address="secured"
    binding="basicHttpBinding"
    bindingConfiguration="SSL"
    contract="Microsoft.UpdateServices.Internal.IClientWebService" /> 

    Der restliche Teil des Eintrages sieht zur Vollständigkeit wie folgt aus:

    <endpoint address=""
    binding="basicHttpBinding"
    bindingConfiguration="ClientWebServiceBinding"
    contract="Microsoft.UpdateServices.Internal.IClientWebService" />
    <endpoint address="secured"
    binding="basicHttpBinding"
    bindingConfiguration="ClientWebServiceBinding"
    contract="Microsoft.UpdateServices.Internal.IClientWebService" />
    </service>
    </services> 
  3. Jetzt noch ganz unten in der Datei den letzten Eintrag wie folgt anpassen/hinzufügen:
    </bindings> <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" /> </system.serviceModel> 
  4. Jetzt zur Sicherheit nochmal das System neustarten, Fertig.