Eine kleine Warnung vorweg: Ich versuche meine Beiträge im Dell Technologies Blog nicht zu technisch zu gestalten: Das wird mir diesmal nicht gelingen!
In manchen Segmenten ist das Thema „Device Firmware Configuration Interface“ (DFCI) auf einmal sehr populär. Darum möchte ich das Thema hier einmal für alle Interessierten aufgreifen.
Zusammen mit Windows 10 1809 hat Microsoft eine UEFI basierte Schnittstelle zur Administration über Intune vorgestellt. Oft werde ich gefragt, ob unsere Geräte auch Device Firmware Configuration Interface (DFCI) unterstützen. Und wenn nicht, ab wann. Bevor ich aber auf diese Punkte eingehe, möchte ich erstmal DFCI erklären.
Was ist DFCI
DFCI ist eine Schnittstelle, die es Intune erlaubt, bestimmte Einstellungen an einem kompatiblen UEFI zu ändern. Hierfür müssen alle Anforderungen erfüllt sein. Diese Bedarfs-Kette zu erfüllen, ist nicht immer einfach. Hier sind die aktuellen Anforderungen:
Was sind die Anforderungen an DFCI
- Windows 10 (1809 oder später) Professional oder Enterprise
- UEFI Firmware muss „DFCI enabled“ sein
- Gerät muss mit Intune verwaltet sein
- Das Gerät muss durch den OEM oder einen CSP registriert worden sein. (Die Selbstregistrierung wird in den Microsoft Unterlagen nicht erwähnt.)
- Der OEM muss DFCI unterstützen und durch Microsoft im Intune unterstützt sein
Aktuell werden nur Microsoft Surface Geräte unterstützt:
Was kann mit DFCI gesteuert werden?
Die Einstellungen sind überschaubar. Gesetzt werden können in Intune (Version 2101) nur folgende Settings:
- Lokalem Benutzer das Ändern von UEFI-Einstellungen erlauben: „Keine“, „Nur nicht konfigurierte“
- CPU- und E/A-Virtualisierung: „Nicht konfiguriert“, „Aktiviert“
- Hardwaresteuerung
- Kameras: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“
- Mikrofone und Lautsprecher: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“
- Sender (Bluetooth, WLAN, NFC usw.): „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“
- Startoptionen
- Von externen Medien (USB, SD) aus starten: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“
-
- Von Netzwerkadaptern aus starten: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“
Was stört mich an DFCI?
Ich persönlich bin kein Fan von DFCI, die Idee ist gut, aber noch nicht zu Ende gedacht. Zum einen ist mir das Interface nicht granular genug. Was ist, wenn ich beispielsweise nur Bluetooth, aber nicht das WLAN abschalten möchte? Oder nur das Mikrofon?
Das ist nicht vorgesehen. Von der fehlenden Unterstützung durch OEMs spreche ich gar nicht.
Ein weiterer Punkt ist, das zum Entfernen von DFCI ein Factory Reset (Inkl. WIPE) erforderlich ist. Das kann man als Sicherheitsfunktion sehen – zum Testen ist es aber eher hinderlich. Ein weiteres Problem sind die Bestandsgeräte. Sofern hier nicht bei Bestellung nicht schon DFCI gedacht wurde, könnte es mit der nachträglichen Aktivierung schwierig werden.
Verstehen Sie mich nicht falsch, ich bin ein Freund von UEFI Sicherheit und Zentralem Management: Ich würde es nur anders machen!
Welche Lösungen für UEFI Management bietet Dell Technologies?
Bei Dell Technologies bieten wir schon seit Längerem verschiedene Lösungen an, UEFI zu steuern. Die älteste, das Dell Client Configuration Toolkit (CCTK) bzw. Dell Command Configure, wie es jetzt heißt, gibt es seit mehr als 10 Jahren. Für alle, die neugierig sind, hier das Handbuch der Version 1.0 aus Dezember 2009.
Aber es gibt auch modernere Lösungen wie ein PowerShell Modul oder die Möglichkeit, WMI zu verwenden. Natürlich hängt der genaue Funktionsumfang vom Hardwaremodell und Bios Revision ab.
Schauen wir uns die Tools und die Möglichkeiten mal im Detail an.
Dell Command Configure
Dell Command Configure ist ein Kommandozeilen Programm, das sich sehr gut für Skripte eignet. Es unterstützt auch UEFI Kennwörter. So bilden wir damit die gleichen Einstellungen wie beim DFCI ab:
- Lokalem Benutzer das Ändern von UEFI-Einstellungen erlauben: Leider haben wir keine direkte Entsprechung, können aber mit einem Admin-Kennwort alle Änderungen unterbinden.
exe –setuppwd=%CCTKSetupPwd% - CPU- und E/A-Virtualisierung: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Wie DFCI zzgl. Abschalten
exe –sriov=enabled/disabled - Hardwaresteuerung
- Kameras: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Wie DFCI
exe –camera=disabled/enabled - Mikrofone und Lautsprecher: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Wie DFCI oder Granularer
exe –IntegratedAudio=disabled/enabled
cctk.exe –InternalSpeaker=disabled/enabled
cctk.exe –Microphone=diabled/enabled - Sender (Bluethooth, WLAN, NFC usw.): „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Nicht generell, nur einzeln Steuerbar
exe –WirelessLan=disabled
cctk.exe –WirelessWwan=disabled
cctk.exe –BluetoothDevice=disabled
- Kameras: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Wie DFCI
- Startoptionen
- Von externen Medien (USB, SD) aus starten: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Granularer als DFCI
exe BootOrder –DisableDevice=cdrom,floppy,usbdev - Von Netzwerkadaptern aus starten: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Vergleichbar mit DFCI
exe –UefiNwStack= ( UEFI PXE boot )
- Von externen Medien (USB, SD) aus starten: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Granularer als DFCI
Die einzelnen Schalter und Optionen können Sie an einem entsprechenden Gerät prüfen. Hier sehen Sie auch direkt welche Optionen dieses Gerät zur Verfügung stellt.
Wir haben jetzt den Vergleich zu DFCI angestellt. Bis auf die teilweise Modifizierbarkeit des UEFI ist CCTK feiner einstellbar als DFCI. Ein Hinweis: Abschalten von NFC konnte ich nicht prüfen, das hat mein Testgerät nicht unterstützt.
Was kann Dell Command Configure noch?
Mit Dell Command Configure kann bei unterstützten Geräten fast alles konfiguriert werden, was ich auch im Bios einstellen kann. Hier ein paar Beispiel-Befehle, die häufiger mal in Projekten verwendet werden:
- exe –LegacyOrom=Disabled (wenn möglich deaktiviert, wenn SecureBoot eingestellt ist)
- exe –SecureBoot=Enabled
- exe –SmmSecurityMitigation=Enabled
- exe –Fastboot=Thorough – Erkennung von Hardwareänderungen beim Boot, z.B. Dockingstation
- exe –BlockSleep=Disabled – Für Connected Standby
- exe –ThermalManagement=Optimized
- exe –FanSpeed=Auto
- exe –CapsuleFirmwareUpdate=Disabled
- exe –FnLock=Enabled
- exe –MacAddrPassThru=SystemUnique
- exe –ThunderboltBoot=Enabled
Download von Dell Command Configure
Dell Command Configure steht zurzeit in der Version 4.4 für Windows, Ubuntu und RedHat Enterprise Linux kostenfrei zur Verfügung. Da es auf dem Client ausgeführt wird, kann es auch ohne die Anforderungen von DFCI als Skript in jedem Deployment oder in jeder Client Management Lösung eingebunden werden.
Herunterladen können Sie es auf unserer Dell Command Webseite: Dell.com/command Unter „Simplify BIOS configuration“. Ein Hinweis: Nutzen Sie für den Download am besten die englische Seite. Übersetzungen können zu Verzögerungen der Aktualisierung führen.
Dell PowerShell Provider
Ich arbeite gerne mit der PowerShell und so möchte ich Ihnen auch den passenden Dell PowerShell Provider vorstellen. Der Download kann wie Dell Command Configure über die Dell Command Seite erfolgen. Der Link ist unter „Simplify BIOS Configuration“ und dann „Explore options for PowerShell users“ zu finden. Alternativ ist das Modul auch über die Microsoft Gallery mit dem Befehl „Install-Module DellBIOSProvider“ installierbar.
Doch schauen wir uns erst mal an, wie wir hier die gleichen Einstellungen wie bei DFCI abbilden können:
- Lokalem Benutzer das ändern von UEFI-Einstellungen erlauben: Leider haben wir keine direkte Entsprechung, können aber mit einem Admin-Kennwort alle Änderungen unterbinden.
Set-Item -Path DellSmbios:\Security\AdminPassword „$AdminPwd“ - CPU- und E/A-Virtualisierung: Da meinem Testgerät diese Hardwarefunktion fehlt, muss ich Ihnen den Befehl schuldig bleiben.
- Hardwaresteuerung
- Kameras: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Wie DFCI
Set-Item -Path DellSmbios:\MiscellaneousDevices\Camera Disabled - Mikrofone und Lautsprecher: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Wie DFCI oder Granularer
Set-Item -Path DellSmbios:\SystemConfiguration\IntegratedAudio Disabled
Set-Item -Path DellSmbios:\SystemConfiguration\InternalSpeaker Disabled
Set-Item -Path DellSmbios:\SystemConfiguration\Microphone Disabled - Sender (Bluethooth, WLAN, NFC usw.): „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Nicht generell, nur einzeln Steuerbar
Set-Item -Path DellSmbios:\Wireless\WirelessLan Disabled
Set-Item -Path DellSmbios:\Wireless\WirelessWwan Disabled
Set-Item -Path DellSmbios:\Wireless\BluetoothDevice Disabled
- Kameras: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Wie DFCI
- Startoptionen
- Von externen Medien (USB, SD) aus starten: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Granularer als DFCI
Set-Item -Path DellSmbios:\MiscellaneousDevices\SdCardBoot Disabled - Von Netzwerkadaptern aus starten: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Vergleichbar mit DFCI
Set-Item -Path DellSmbios:\BootSequence\BootSequence
- Von externen Medien (USB, SD) aus starten: „Nicht konfiguriert“, „Aktiviert“, „Deaktiviert“ – Granularer als DFCI
Was kann der PowerShell Provider sonst noch?
Einen guten Überblick der aktuellen UEFI Einstellungen und der möglichen Optionen bietet der Befehl: „Get-DellBiosSettings„:
Weitere praktische Befehle sind:
- Beim nächsten Neustart ein PXE Boot ausführen:
Set-Item -Path DellSmbios:\SystemConfiguration\ForcePxeNextBoot Enabled - ThunderboltBoot deaktivieren (Schaltet auch Netzwerkboot bei TB Dock ab!):
Set-Item -Path DellSmbios:\USBConfiguration\ThunderboltBoot Disable - Intel SoftwareGuard auf SoftControlled setzen:
Set-Item -Path DellSmbios:\IntelSoftwareGuardExtensions\SoftGuardEn SoftControlled - FN Lock abschalten
Set-Item -Path DellSmbios:\POSTBehavior\FnLock Disable - Fastboot auf “Thorough” setzen
Set-Item -Path DellSmbios:\POSTBehavior\Fastboot Thorough - Ihre Mitarbeiter sollen den Dell Laptop nicht als Powerbank nutzen? Schalten Sie USB Power-Share ab.
Set-Item -Path DellSmbios:\SystemConfiguration\UsbPowerShare Disable
Bios Konfiguration über WMI
Diese Methode hat gegenüber den vorherigen Methoden einen großen Vorteil: Zunächst muss nichts installiert werden. Aber: Diese Methode hat auch eine Schattenseite – und wer WMI kennt, der ahnt wahrscheinlich schon, auf welche ich hinaus will. Die Konfiguration mit WMI ist etwas komplexer und kann manchmal zur Verzweiflung verleiten, zumindest, wenn man WMI nicht gewöhnt ist.
Wenn Sie sich trotzdem damit befassen möchten, hier gibt es ein entsprechendes WhitePaper: Dell Client Agentless Manageability
Dell Configuration Services
Wenn Sie Ihr UEFI nicht regelmäßig umkonfigurieren möchten, sondern es eigentlich nur einmal richtig konfiguriert haben möchten. Auch dafür haben wir eine Lösung! Ganz ohne Skripte, PowerShell und WMI-Abfragen, wir stellen Ihnen das UEFI ein, wie Sie es haben möchten. Diese Dienstleistung bieten wir als Configuration Service mit einigen anderen Dienstleistungen an. Fragen Sie einfach Ihren Dell Technologies Ansprechpartner.
Fazit
Auch wenn DFCI gerade in manchen Segmenten ein Hype-Thema ist, das wir aktuell nicht unterstützen. So haben wir doch eine gute Alternative zur Verfügung! Unsere Lösungen benötigten auch kein Intune oder eine andere Cloud Lösung. Sie sind somit für alle Kundensegmente nutzbar.
Wenn Sie Fragen haben, sprechen Sie mit Ihren Vertriebsansprechpartner.
Dieser kann Ihnen auch helfen, wenn Sie mich für einen Workshop in Ihrem Hause zu allen Themen rund ums Deployment buchen möchten.