Microsoft „Teams“ mittels Gruppenrichtlinie aus dem Autostart entfernen oder hinzufügen

Teams ist der neue Hauptclient für eine schnelle und intelligente Kommunikation in Office 365 und ersetzt grade mit Lichtgeschwindigkeit Skype for Business (Online). Leider setzt Microsoft das grade etwas ungeschickt um und verteil den Teams Client in Office-Updates mit konfigurierter Autostart-Option.

Teams aus Autostart entfernen (GPO)

Notwendig ist die Erstellung und Verknüpfung einer Gruppenrichtlinie, die den unerwünschten RUN-Eintrag aus der Registry der Benutzern entfernt.

GPO erstellen, dann unter Benutzerkonfiguration > Einstellungen > Windows-Einstellungen > Registrierung > Neu:

Aktion:         Löschen 
Struktur:       HKEY_CURRENT_USER 
Schlüsselpfad:  SOFTWARE\Microsoft\Windows\CurrentVersion\Run 
Wertname:       com.squirrel.Teams.Teams 

Teams zu Autostart hinzufügen

Das Hinzufügen funktioniert genauso – nur mit der Aktion „Erstellen“. Der zugehörige Befehl lautet allerdings anders als das original.

Original (funktioniert NICHT)
C:\Users\%username%\AppData\Local\Microsoft\Teams\Update.exe --processStart "Teams.exe" --process-start-args "--system-initiated"
So funktioniert es:

C:\Users\%username%\AppData\Local\Microsoft\Teams\Update.exe --processStart "Teams.exe" --process-start-args "--user-initiated" 

Windows 10 .Net Framework 3.5 Installation Fehler 0x080240438

Problem

Unter Windows 10 soll das .NET Framework 3.5 installiert werden. In der Systemsteuerung > Windows Funktionen lässt sich das Paket auch anwählen, aber die Installation schlägt mit dem Fehler 0x080240438 fehl.

Lösung

Die Ursache für 0x080240438 ist vermutlich eine fehlerhafte Verbindung zu ienem WSUS Server. „Fehlerhaft“ meint an dieser Stelle, das entweder der WSUS-Server das .NET Framework Paket nicht ausliefert (weil er es nicht hat), nicht kontaktiert werden konnte (anderes Netz) oder ein anderer Effekt vorliegt. Der Trick ist oft, den WSUS für dieses Paket einfach zu umgehen.

Die Frage „Von Windows Update herunterladen“ impliziert zwar den Download über eine Internet (und somit Microsoft Update) Verbindung – das ist aber nicht der Fall.

In der Registry UseWUServer auf ‚0‘ (und somit ‚online‘) umstellen:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU

 UseWUServer = "0"

Danach den Dienst Windows Installer, sofern noch gestartet, neu starten das selbe mit dem Windows-Update Dienst tun. Dann sollte die Installation sofort fehlerfrei (mit Download) durchlaufen.

HPE Server unbekanntes GErät „PCI\VEN_103C&DEV_3307&SUBSYS_3381103C“

Dies ist wieder so ein klarer Fall von „Notiz an mich selbst“ 🙂

Das Gerät „PCI\VEN_103C&DEV_3307&SUBSYS_3381103C“ in HPE ProLiant Servern, zum Beispiel „PCI\VEN_103C&DEV_3307&SUBSYS_3381103C&REV_05“ ist das HPE iLO Channel Interface. Man benötigt den „iLO 4 Channel Interface Driver“ dazu – notwendig um das iLO aus dem laufenden Betriebssystem heraus zu konfigurieren.

Download für Windows Server 2016/2019: https://support.hpe.com/hpsc/swd/public/detail?swItemId=MTX_eecbb80142984ad287ada4140d

Warnung „esx.problem.hyperthreading.unmitigated“ unter ESXi 6.5/6.7

esx.problem.hyperthreading.unmitigated

Aktuelle ESXi Server beschweren sich mit einer Warnung über CPUs mit Microcode, die anfällig für Angriffe wie Meltdown, Lazy FP state restore und/oder die L1 Terminal Fault sind. Einige AMD und Intel Prozessoren können über so einen side-channel Angriff Daten lesbar machen, die nicht lesbar sein sollten.

Lösung

Da die Mitigations dazu ziemlich viel CPU-Performance fressen, bleiben die Schutzfunktionen wie der „Side-Channel-Aware Scheduler“ in privaten und geschlossenen Clustern oft ausgeschaltet. Trotzdem will man die Warnung natürlich loswerden 🙂

Möglichkeit 1 – Warnung unterdrücken

  1. vSphere GUI (vCenter) öffnen, den betroffenen Host auswählen
  2. Konfigurieren > Erweiterte Systemeinstellungen > Bearbeiten
  3. „UserVars.SuppressHyperthreadWarning“ auf „1“ stellen
SuppressHyperthreadWarning

Möglichkeit 2 – „Side-Channel-Aware Scheduler“ einschalten

  1. ESXi Hostclient (nicht im vCenter) öffnen
  2. Konfiguration > Erweiterte Einstellungen > Bearbeiten
  3. „VMkernel.Boot.hyperthreadingMitigation“ auf „true“ stellen
  4. Host neu starten

Es empfielt sich vor diesem Schritt das zugehörige Support-Dokument zu lesen. Hier sind die Vorbereitungen für diesen Schritt und die möglichen Auswirkungen davon genauer beschrieben.

Buchungsanfrage abgelehnt: „Die Ressource akzeptiert keine Besprechungen, die länger als 1440 Minuten dauern“

Problem

Eine Ressource lässt sich in Exchange 2016/2019 nicht länger als einen Tag lang (1440 Minuten) buchen. Für Autos oder Leihgeräte sind mehrere Tage oder Wochen aber notwendig.

Lösung

Das ist richtig, die maximale Standartzeit für gebuchte Ressourcen ist 24 Stunden.

Früher gab es mal das Cmdlet Get-MailboxCalendarSettings, mit dem man die Buchungszeit (MaximumDurationInMinutes) einstellen konnte. Dieser Befehl wurde aber (ganz ohne die übliche „Deprecated“ Meldung) abgelöst. Hier sind die neuen.

Einstellung (für die Ressource „Auto*“) anzeigen

[PS] C:\>Get-CalendarProcessing -Identity vw* | fl maximumd*

MaximumDurationInMinutes : 1440

Einstellung ändern

[PS] C:\>Set-CalendarProcessing -Identity vw* -MaximumDurationInMinutes 2147483647

Der Wert ist ein Int32, 2147483647 also das Maximum. Knapp 4000 Jahre reichen aber auch für langfristiges ausleihen aus.

VMware vSphere VCSA/vCenter Liste über VMs mit Betriebssystemen ausgeben

Manchmal braucht man eine schnelle Liste über die laufenden Gast-Betriebssysteme (und -Versionen) in einer vCenter-Instanz. In meinem speziellen Fall benötigte ich vor allem die konfigurierten Betriebssysteme und die tatsächlich laufenden Gäste, um nach einer Migration die Einstellungen für die ESXi-Hosts auz zu räumen.

Nach ein bisschen Bastelei nutze ich nun diesen PowerCLI Einzeiler. Das Script erstellt einfach eine Liste über Name, Konfiguriertes OS und das gemeldete OS aller Gastsysteme.

Lösung

Liste aller OS in einem vCenter via Powershell erstellen:

Get-VM | Get-View -Property @("Name", "Config.GuestFullName", "Guest.GuestFullName") | Select -Property Name, @{N="Eingestellt";E={$_.Config.GuestFullName}},  @{N="Läuft";E={$_.Guest.GuestFullName}} | Format-Table -AutoSize
So sieht die Ausgabe des Befehls aus.