Archiv der Kategorie: Windows Server 2012

Windows Server nach Neustart nicht erreichbar (Firewall, Öffentliches Netzwerk)

Wie jeden Monat hatte ich gestern alle WIndows Server mit Updates versorgt und diese im Anschluss neugestartet. Dabei war zumindest einer von zwei Domain Controllern wegen einem Neustart ebenfalls nicht erreichbar. Nachdem Neustart der Server war kein Einziger mehr erreichbar: Kein Ping, kein RDP, keine Services).

Ich hatte sofort die Windows Firewall in Verdacht, welche aber per GPO automatisch konfiguriert wird. Ein Blick in die Netzwerkumgebung zeigte dann, dass die Netzwerke nicht mehr als Domänennetzwerk erkannt wurde, sondern als Öffentliches Netz. Aus diesem Grund wurden natürlich die falschen Firewallregeln geladen.

Manuelle Anpassung des Netzwerktyps Registry

Dieser Typ kann manuell angepasst werden. Dazu öffnet man regedit und navigiert zu folgendem Schlüssel und pass das DWORD Category an:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\NetworkList\profiles\Category
  • Öffentlich = 0
  • Privat = 1
  • Domäne = 2

Vorher sollte man aber den zuständigen Dienst beende:

net stop netprofm
net start netprofm

Manuelle Anpassung Netzwerktyps powershell

Dazu muss die Powershell als Administrator gestartet werden.

 

get-netconnectionprofile

set-netconnectionprofile -InterfaceIndex 3 -NetworkCategory Private

Zur Auswahl sehen Public und Private. Private wird automatisch zum Domänennetzwerk, wenn ein Domain Controller gefunden wird.

Windows 10 – Funktionsupdate für Windows 10 mit WSUS verteilen (0x8024200D)

Wir hatten das Problem, dass fast alle Clients keine Funktionsupdates über den WSUS-Server (Windows Server 2012) installieren konnte. Auf den Clients stand der Download des Updates immer bei 0%.

Alle Problemlösungen wie z.B. das reseten des Software Distribution Services, entfernen von NetFramework 3.5, vollständiger Neustart, usw., brachten auf keinem Client Erfolg. Dennoch könnte dies für den Ein oder Anderen interessant sein (powershell als Administrator ausführen):

net stop wuauserv
net stop cryptSvc
net stop bits
net stop msiserver
ren C:\Windows\SoftwareDistribution SoftwareDistribution.old
ren C:\Windows\System32\catroot2 catroot2.old
net start wuauserv
net start cryptSvc
net start bits
net start msiserver

Fehler im Eventlog:

Installationsfehler: Die Installation des folgenden Updates ist mit Fehler 0x8024200D fehlgeschlagen: Funktionsupdate für Windows 10 (Anwender-Editionen), Version 1803, de-de

Fehler im Windows Update Log

Unter C:\Windows\Logs\WindowsUpdate\ befinden sich die Logs vom WIndows Update Dienst. Hier sollte man direkt nach dem Eventlog nachschauen, wenn Probleme mit dem Windows Update auftreten. Für das Anzeigen der .etl Dateien eignet sich meiner Meinung nach der Microsoft Message Analyzer sehr gut, da einem hier viele Tools zur Verfügung stehen.

WUTraceLogging DownloadManager: Info=*FAILED* [80070003] Error occurred while downloading update 448F7256-0E87-4297-944A-4631CAB848F2.202; notifying dependent calls.

Lösung

Auf dem Server wo der WSUS-Dienst ausgeführt wird müssen folgende Schritte ausgeführt werden:

  1. Internetinformationsdienste (IIS)-Manager öffnen
  2. Servername aufrufen
  3. MIME-Type auswählen und auf „Hinzufügen“ klicken
  4. Erweiterung: .esd MIME-Typ: application/octet-stream

Nachdem der MIME-Typ für die .esd Dateien angelegt war, wurde der Download auf dem Client sofort gestartet.

Windows 10 1803 Gruppenrichtlinien (ADMX) aktualisieren – Fehler in SearchOCR.admx

Am 04.05.2018 sind die neuen ADMX Gruppenrichtlinien für Windows 10 1803 erschienen die unter folgendem Link zum Download bereitstehen: Administrative Templates (.admx) for Windows 10 April 2018 Update (1803) – Deutsch

Jedes mal wenn es neue ADMX-Dateien einzuspielen gilt, treten Fehler auf. Microsoft macht wirklich jedes mal Fehler und es fängt langsam extrem an zu nerven! Microsoft muss ja damit rechnen, dass man ein bereits vorhanden Policy Store, mit den neuen Dateien updatet und nicht von 0 anfängt. Die meisten haben weitere Policys von anderen Produkten (z.B. Office, Lync, Skype for Business, usw.) oder selbst erstellte Policys, in Ihrem Store.

Fehlermeldung

Diesmal ist eine Verknüpfung in der Datei SearchOCR.admx vorhanden, welche auf die Datei SearchOCR.adml verweist, die in dieser aber nicht mehr zu finden ist. Dadurch kann die Übersetzung nicht gefunden werden und ein Fehler wird ausgeworfen.

Resource '$(string.Win7Only)' referenced in attribute displayName could not be found. File ...\PolicyDefinitions\SearchOCR.admx, line 12, column 69
Die in der Eigenschaft "$(string.Win7Only)" aufgeführte Ressource displayName konnte nicht gefunden werden. Datei ...\PolicyDefinitions\SearchOCR.admx, Zeile 12, Spalte 69

Problembehebung

In der Datei SearchOCR.amdl (je nachdem welche Sprache Ihr nutzt vermutlich im Unterordner de-DE) nach Zeile 26 folgende Zeile hinzufügen:

<string id="Win7Only">Microsoft Windows 7 oder später</string>

Alternativ könnte man die Datei SearchOCR.admx auch löschen, dann verliert man aber auch die Einstellungen, die man durch diese Datei treffen könnte.

Schannel Fehler Ereignis 36888

Oft taucht im Eventlog ein Schannel Fehler auf, der alle zwei Minuten ein Ereignis generiert. Dieser Fehler kann ignoriert werden, stört aber vor allem beim Lesen des Eventlogs.

Fehldermeldung:

Es wurde eine schwerwiegende Warnung generiert und an den Remoteendpunkt gesendet. Dies kann dazu führen, dass die Verbindung beendet wird. Die schwerwiegende Warnung hat folgenden für das TLS-Protokoll definierten Code: 10. Der Windows-SChannel-Fehlerstatus lautet: 1203.

Fehlermeldung deaktivieren

Glücklicherweise lässt sich dieser Fehler ganz einfach deaktivieren: Regedit starten und folgendes anpassen:

HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\Event Logging = 0

WSUS Server – Probleme mit dem Update KB3159706

Nach der Installation des Updates KB3159706  startet der WSUS-Server Dienst nicht mehr und es ist auch keine Verbindung mit der MMC möglich.

Im Eventlog erscheint folgende Fehlermeldung mit der Ereignis-ID 507: Update Services konnte nicht initialisiert werden und wurde angehalten.

wsus-fehler-2

Problemlösung

Kommandozeile als Administrator starten und folgenden Befehl ausführen:

"C:\Program Files\Update Services\Tools\wsusutil.exe" postinstall /servicing

wsus-fehler-10

Jetzt muss noch das Feature HTTP-Aktivierung im Servermanager unter .NET-Framework 4.5-Funktionen -> WCF-Dienste hinzugefügt werden.

wsus-fehler-4

SSL in Vernwendung

Wenn SSL im Einsatz ist, muss noch eine Konfigurationsdatei angepasst werden. Als erstes muss die Konfigurationsdatei die bearbeitet werden soll, beschreibbar gemacht werden. Dazu wird der Besitzer geändert:

takeown /f "C:\Program Files\Update Services\WebServices\ClientWebService\Web.config" /a
icacls "C:\Program Files\Update Services\WebServices\ClientWebService\Web.config" /grant administrators:f
            <service
                name="Microsoft.UpdateServices.Internal.Client"
                behaviorConfiguration="ClientWebServiceBehaviour">
                <!-- 
                  If using SSL, change the bindingConfiguration to "SSL".
                  Configuration is Defined below in <bindings>...</bindings> section
                -->
               <!-- 
                  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" />
                <endpoint address=""
                        binding="basicHttpBinding"
                        bindingConfiguration="ClientWebServiceBinding"
                        contract="Microsoft.UpdateServices.Internal.IClientWebService" />
                <endpoint address="secured"
                        binding="basicHttpBinding" 
                        bindingConfiguration="ClientWebServiceBinding"
                        contract="Microsoft.UpdateServices.Internal.IClientWebService" />
            </service>

Das Ganze ist hier nochmal in einem Editor zu sehen:

wsus-fehler-6

Jetzt muss noch ganz unten im Dokumente, eine Zeile ersetzt werden, bzw. der Parameter multipleSiteBindingsEnabled=“true“ ergänzt werden:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>

Durch die Zeile ersetzen, bzw. Parameter hinzufügen:

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />

Gruppenrichtlinien – Aktualisierung für Windows 10 Update 1511

Mit dem Update von Windows 10 auf die Version 1511 gibt es nun auch neue Gruppenrichtlinien, die in den zentralen Gruppenrichtlinien Store installiert werden müssen.

Download: Windows10_Version_1511_ADMX.msi

  1. Nach der Installation befinden sich die installierten Gruppenrichtlinien unter „C:\Program Files (x86)\Microsoft Group Policy\Windows 10 Version 1511“. Diese müssen jetzt noch in die Policy Definitions kopiert werden.
  2. Unter dem Pfad „\\domain.local\SYSVOL\domain.local\Policies“ befindet sich der zentrale Gruppenrichtlinien Store. In diesen Pfad muss der Order „PolicyDefinition“ aus dem Pfad „C:\Program Files (x86)\Microsoft Group Policy\Windows 10 Version 1511“ rein kopiert werden.
  3. Nach dem Start Gruppenrichtlinienverwaltungs Konsole und dem Bearbeiten einer Gruppenrichtlinie, erscheint folgende Fehlermeldung: Namespace „Microsoft.Policies.WindowsStore“ is already defined as the target namespace for another file in the store.windows 10 1511 fehler
  4. Der Fehler kommt daher, dass zwei ADMX-Dateien, auf die gleiche Datei referenzieren. Dazu einfach die Datei „WinStoreUI.admx“ im Ordner „\\domain.local\SYSVOL\domain.local\Policies\PolicyDefinitions“ löschen, da diese veraltet ist.

 

VSS Fehler Ereignis-ID 8194 IVssWriterCallback Zugriff verweigert

Wir benutzen die Windows Server-Sicherung für einige Server und erhalten seit einiger Zeit folgende Fehler:

Volumeschattenkopie-Dienstfehler: Beim Abfragen nach der Schnittstelle "IVssWriterCallback" ist ein unerwarteter Fehler aufgetreten. hr = 0x80070005, Zugriff verweigert
. Die Ursache hierfür ist oft eine falsche Sicherheitseinstellung im Schreib- oder Anfrageprozess.

Vorgang:
Generatordaten werden gesammelt

Kontext:
Generatorklassen-ID: {e8132975-6f93-4464-a53e-1050253ae220}
Generatorname: System Writer
Generatorinstanz-ID: {43345aa3-73b8-48e1-a759-2d3bc4a4a55b}

Eventlog 1

Wenn man sich diesen Fehler in der Ereignisanzeige in der Detailansicht anschaut, sieht man folgendes:


0000: 2D 20 43 6F 64 65 3A 20 - Code:
0008: 57 52 54 57 52 54 49 43 WRTWRTIC
0010: 30 30 30 30 31 33 30 30 00001300
0018: 2D 20 43 61 6C 6C 3A 20 - Call:
0020: 57 52 54 57 52 54 49 43 WRTWRTIC
0028: 30 30 30 30 31 32 35 34 00001254
0030: 2D 20 50 49 44 3A 20 20 - PID:
0038: 30 30 30 30 31 33 35 32 00001352
0040: 2D 20 54 49 44 3A 20 20 - TID:
0048: 30 30 30 30 33 30 35 36 00003056
0050: 2D 20 43 4D 44 3A 20 20 - CMD:
0058: 43 3A 5C 57 69 6E 64 6F C:\Windo
0060: 77 73 5C 73 79 73 74 65 ws\syste
0068: 6D 33 32 5C 73 76 63 68 m32\svch
0070: 6F 73 74 2E 65 78 65 20 ost.exe
0078: 2D 6B 20 4E 65 74 77 6F -k Netwo
0080: 72 6B 53 65 72 76 69 63 rkServic
0088: 65 20 20 20 20 20 20 20 e
0090: 2D 20 55 73 65 72 3A 20 - User:
0098: 4E 61 6D 65 3A 20 4E 54 Name: NT
00a0: 2D 41 55 54 4F 52 49 54 -AUTORIT
00a8: C4 54 5C 4E 65 74 7A 77 ÄT\Netzw
00b0: 65 72 6B 64 69 65 6E 73 erkdiens
00b8: 74 2C 20 53 49 44 3A 53 t, SID:S
00c0: 2D 31 2D 35 2D 32 30 20 -1-5-20

Eventlog 2

Daran ist ersichtlich, dass der Benutzer NT-AUTORITÄT\Netzwerkdienst keinen Zugriff auf ein Objekt hat. Deswegen müssen diese Rechte angepasst werden. Dies geschieht in dem Fall in der Komponentendienste mmc. Die Eigenschaften vom Computer-Objekt müssen aufgerifen werden:

DCOM 1

Nun muss im Reiter COM-Sicherheit, unter Zugriffsberechtigungen auf Standard bearbeiten geklickt werden:

DCOM 2

Nun muss der Benutzer Netzwerkdienst hinzugefügt werden und mit den Berechtigungen Lokaler Zugriff auf Zulassen ausgestattet werden:

DCOM 3

Windows 10 Gruppenrichtlinien – Fehlermeldungen nach Installation

In meiner Testumgebung sind gleich zwei Fehler aufgetreten, die durch die neuen Administrativen Templates hervorgerufen werden. Anscheinend haben die Entwicklerteam versäumt miteinander zu sprechen 😉

Fehler 1: Microsoft-Windows-Geolocation-WLPAdm.admx

Nach der Installation der Administrativen Templates, erscheint beim Aufruf einer Gruppenrichtlinie im Gruppenrichtlinienverwaltungs-Editor, ein Fehler. Die Datei Microsoft-Windows-Geolocation-WLPAdm.admx verwendet den gleichen Namespace wie die alte Datei LocationProviderAdm.admx. Also einfach die alte Datei entfernen. (Danke an D. Zunkel)

Fehler 2: $(string.SUPPORTED_Vista_through_Win7)

Der folgende Fehler kann ebenfalls im Gruppenrichtlinienverwaltungs-Editor auftreten: Die in der Eigenschaft „$(string.SUPPORTED_Vista_through_Win7)“ aufgeführte Ressource displayName konnte nicht gefunden werden.

In der Datei PreviousVersions.admx wird auf einen String verwiesen (dient zur Übersetzung), den es aber in der Übersetzungsdatei gar nicht gibt. Um das Problem zu lösen, muss in der Datei PreviousVersions.adml im Unterverzeichnis „de-DE“ muss zwischen den Zeilen 56 und 57 folgende Zeile eingefügt werden:

<string id="SUPPORTED_Vista_through_Win7">Windows Vista durch Windows 7 unterstützt</string>

Benutzerkontensteuerung per Gruppenrichtlinie deaktiveren

Die Benutzerkontensteurung kann in den Gruppenrichtlinien ziemlich genau konfiguriert und natürlich auch deaktiviert werden. In manchen Umgebungen macht dies Sinn, da Anwendungen sonst nicht kompatibel sind oder Benutzer nicht genervt werden sollen.

Benutzerkontensteuerung deaktivieren

Die nachfolgenden Einstellungen kommen dem Level 1 der Benutzerkontensteuerung gleich (Niemals benachrichtigen, wenn Programme versuchen Software zu installieren oder Einstellungen am Computer vornehmen), die man auch manuell konfigurieren kann:

Benutzerkontensteuerung per GPO deaktivieren 1

Im Gruppenrichtlinienverwaltungs-Editor findens ich diese Einstellungen unter der Computerkonfiguration unter Richtlinien in den Windowseinstellungen unter den Sicherheitseinstellungen in der Lokalen Richtlinie in den Sicherheitsoptionen:

Benutzerkontensteuerung per GPO deaktivieren 2

Im Detail müssen folgende Einstellungen getätigt werden:

  • Benutzerkontensteuerung: Administratorgenehmigungsmodus für das integrierte Administratorkonto: Deaktiviert
  • Benutzerkontensteuerung: Alle Administratoren im Administratorgenehmigungsmodus ausführen: Deaktiviert
  • Benutzerkontensteuerung: Anwendungsinstallationen erkennen und erhöhte Rechte anfordern: Aktiviert
  • Benutzerkontensteuerung: Bei Benutzeraufforderung nach erhöhten Rechten zum sicherem Desktop wechseln: Deaktiviert
  • Benutzerkontensteuerung: Datei- und Registrierungsschreibfehler an Einzelbenutzerstandorte virtualisieren: Aktiviert
  • Benutzerkontensteuerung: Erhöhte Rechte nur für UIAccess-Anwendungen, die an sicheren Orten installiert sind: Nicht definiert
  • Benutzerkontensteuerung: Nur ausführbare Dateien heraufstufen, die signiert und überprüft sind: Deaktiviert
  • Benutzerkontensteuerung: UIAccess-Anwendungen können erhöhte Rechte ohne sicheren Desktop anfordern: Deaktiviert
  • Benutzerkontensteuerung: Verhalten der Eingabeaufforderung für erhöhte Rechte für Administratoren im Administratorgenehmigungsmodus: Erhöhte Rechte ohne Eingabeaufforderung
  • Benutzerkontensteuerung: Verhalten der Eingabeaufforderung für erhöhte Rechte für Standardbenutzer: Eingabeaufforderung zu Anmeldeinformationen

Windows Server 2012 – WSUS Server Cleanup

Die Datenbank des WSUS-Servers sollte regelmäßig von nicht mehr benötigten Updates und Computern bereinigt werden. Diese Funktionen lassen sich beispielsweise aus der Windows Server Update Services MMC Konsole starten. Eine automatische regelmäßige Bereinigung lässt sich aber am besten über die Power Shell einrichten.

Power Shell – Invoke-WsusServerCleanup

Microsoft stellt und ein CMDlet für die WSUS-Server Bereinigung zur Verfügung:

Invoke-WsusServerCleanup [-CleanupObsoleteComputers] [-CleanupObsoleteUpdates] [-CleanupUnneededContentFiles] [-CompressUpdates] [-DeclineExpiredUpdates] [-DeclineSupersededUpdates] [-InformationAction <System.Management.Automation.ActionPreference> {SilentlyContinue | Stop | Continue | Inquire | Ignore | Suspend} ] [-InformationVariable <System.String> ] [-UpdateServer <IUpdateServer> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter

  • -CleanupObsoleteComputers: Computer bereinigen
  • -CleanupObsoleteUpdates: Nicht mehr benötigte Updates bereinigen
  • -CleanupUnneededContentFiles: Nicht benötigte Dateien bereinigen
  • -CompressUpdates: Nicht mehr benötigte Revisionen der Updates bereinigen
  • -DeclineExpiredUpdates: Abgelaufende Updates bereinigen
  • -DeclineSupersededUpdate: Ersatzte Update bereinigen

WSUS-Server bereinigen

Der folgende Power Shell Befehl kombiniert sämtliche Bereinigungsmöglichkeiten:

Invoke-WsusServerCleanup -CleanupObsoleteUpdates -CleanupUnneededContentFiles -CompressUpdates -DeclineExpiredUpdates -DeclineSupersededUpdates

Windows Server 2012 - WSUS Server Cleaup 1

Regelmäßige WSUS Bereinigung

Mit der Windows Server Aufgabeplanung kann man Aktionen nach einem Zeitplan ausführen lassen. In unserem Fall werden wir ein Power Shell Script wöchentlich automatisch ausführen lassen.

WSUS-Server Cleanup Script

Das eigentlich Script führt letztendlich nur das Power Shell CMDlet Invoke-WsusServerCleanup aus. Parallel dazu wird noch unter C:\WSUS\ eine Log-Datei angelegt und das Ergebnis des Aufrufes per E-Mail an die Administratoren gesendet. Das eigentlich Script wird in diesem Beispiel unter C:\WSUS\WSUS_Cleanup.ps1 gespeichert.

$AktuellesDatum = Get-Date -format ddMMyyyy-HH-mm
$Log = "C:\WSUS-$AktuellesDatum.log"

Invoke-WsusServerCleanup -CleanupObsoleteUpdates -CleanupUnneededContentFiles -CompressUpdates -DeclineExpiredUpdates -DeclineSupersededUpdates | Out-File $Log

$SMTPServer = "192.168.100.16"
$Absender = "m.m@valentin-berlin.local"
$Empfaenger = "m.m@valentin-berlin.local"
$Betreff = "$AktuellesDatum - WSUS Cleanup Script"
$ContentLog = Get-Content $Log | Out-String
Send-MailMessage -SmtpServer $SMTPServer -From $Absender -To $Empfaenger -subject $Betreff -body $ContentLog -Encoding Unicode

Aufgaben hinzufügen

In der Aufgabenplanung kann man nun eine neue einfache Aufhaben anlegen.

Windows Server 2012 - WSUS Server Cleaup 2

Als nächstes muss der Zeitplan und die Aktion definiert werden:

Nun wird der eigentliche Power Shell Script Aufruf konfiguriert. Dabei wird die Power Shell gestartet (ich habe den vollständigen Pfad hinterlegt, weil es sonst manchmal zu Problemen kommen kann) und das eigentliche Script wird per Argument (Parameter) übergeben. Der Pfad zur Power Shell ist übrigens bei allen Versionen gleich.
Power Shell Aufruf:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe

Power Shell Arugemente (Parameter):

-noninteractive -command "&{C:\WSUS\WSUS_Cleanup.ps1}"

Windows Server 2012 - WSUS Server Cleaup 6

Status E-Mail

Bei jedem Durchlauf wird eine E-Mail mit dem Status verschickt. Das Ganze kann dann folgerdermaßen aussehen:

Windows Server 2012 - WSUS Server Cleaup 8