Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Windows 10 enthält zwei Technologien, App Control for Business und AppLocker, die Sie zum Steuern von Anwendungen verwenden können. Sie ermöglichen es Ihnen, eine Sperrumgebung zu erstellen, um Ihre PowerShell-Umgebung zu schützen.
AppLocker basiert auf den Anwendungssteuerungsfeatures der Richtlinien für Softwareeinschränkungen. Mit AppLocker können Sie Regeln erstellen, um Apps für bestimmte Benutzer oder Gruppen zuzulassen oder zu verweigern. Sie identifizieren die Apps basierend auf eindeutigen Eigenschaften der Dateien.
Application Control for Business, das in Windows 10 als Windows Defender Application Control (WDAC) eingeführt wurde, ermöglicht Ihnen, zu steuern, welche Treiber und Anwendungen unter Windows ausgeführt werden dürfen.
Erkennung von Sperrmodusrichtlinien
PowerShell erkennt die systemweiten Richtlinien sowohl für AppLocker als auch für App Control for Business. AppLocker hat keine Möglichkeit, den Richtlinienerzwingungsstatus abzufragen. Um zu erkennen, dass AppLocker eine Richtlinie erzwingt, erstellt PowerShell zwei temporäre Dateien und versucht, sie auszuführen. Die Dateinamen verwenden das folgende Namensformat:
$Env:TEMP/__PSScriptPolicyTest_<random-8dot3-name>.ps1$Env:TEMP/__PSScriptPolicyTest_<random-8dot3-name>.psm1
App Control for Business ist das bevorzugte Anwendungssteuerungssystem für Windows. App Control versetzt das System in den Systemsperrmodus. Der Systemsperrmodus ist das Feature, das die Richtlinien erkennt und bestimmt, ob ein Kontext initialisiert oder in einen bestimmten Sprachmodus geändert werden muss.
App Control ist als Sicherheitsfeature unter den vom Microsoft Security Response Center (MSRC) definierten Wartungskriterien konzipiert. Weitere Informationen finden Sie unter Anwendungssteuerelemente für Windows - und App-Steuerelement und AppLocker-Featureverfügbarkeit.
Hinweis
Bei der Auswahl zwischen App-Steuerelement oder AppLocker wird empfohlen, anwendungssteuerung mithilfe von App Control for Business anstelle von AppLocker zu implementieren. Microsoft investiert nicht mehr in AppLocker. AppLocker erhält nur Sicherheitsupdates.
Durchsetzung der App-Steuerungsrichtlinie
Wenn PowerShell unter einer App-Steuerelementrichtlinie ausgeführt wird, ändert sich das Verhalten basierend auf der definierten Sicherheitsrichtlinie. Im Rahmen einer App Control-Richtlinie führt PowerShell vertrauenswürdige Skripts und Module, die durch die Richtlinie zugelassen sind, im FullLanguage-Modus aus. Alle anderen Skripts und Skriptblöcke sind nicht vertrauenswürdig und werden im ConstrainedLanguage-Modus ausgeführt. PowerShell löst Fehler aus, wenn die nicht vertrauenswürdigen Skripts versuchen, Aktionen auszuführen, die im ConstrainedLanguage-Modus nicht zulässig sind. Es kann schwierig sein herauszufinden, warum ein Skript im ConstrainedLanguage-Modus nicht ordnungsgemäß ausgeführt werden kann.
Überwachung von App Control-Richtlinien
PowerShell 7.4 hat ein neues Feature zur Unterstützung von App-Steuerelementrichtlinien im Überwachungsmodus hinzugefügt. Im Überwachungsmodus führt PowerShell die nicht vertrauenswürdigen Skripts im ConstrainedLanguage-Modus ohne Fehler aus, protokolliert jedoch Meldungen im Ereignisprotokoll. In den Protokollmeldungen wird beschrieben, welche Einschränkungen gelten, wenn sich die Richtlinie im Erzwingungsmodus befindet.
Änderungsverlauf
Windows PowerShell 5.1 war die erste Version von PowerShell zur Unterstützung der App-Steuerung. Die Sicherheitsfeatures von App Control und AppLocker verbessern sich mit jeder neuen Version von PowerShell. In den folgenden Abschnitten wird beschrieben, wie sich diese Unterstützung in jeder Version von PowerShell geändert hat. Die Änderungen sind kumulativ, sodass die in den späteren Versionen beschriebenen Features Änderungen aus früheren Versionen enthalten.
Änderungen in PowerShell 7.7
PowerShell 7.7-preview.4 hat Unterstützung für appSettingFileOnlyEntry für PowerShell hinzugefügt. Dies ist eine zusätzliche Einstellung zum Ausführen von PowerShell im eingeschränkteren Modus. Weitere Informationen finden Sie unter Verwenden von AppControl zum Sichern von PowerShell.
Änderungen in PowerShell 7.4
Unter Windows ändert sich das Verhalten von PowerShell, wenn es unter einer App-Control-Richtlinie ausgeführt wird, abhängig von der definierten Sicherheitsrichtlinie. Im Rahmen einer App Control-Richtlinie führt PowerShell vertrauenswürdige Skripts und Module aus, die von der Richtlinie im FullLanguage-Modus zugelassen werden. Alle anderen Skripts und Skriptblöcke sind nicht vertrauenswürdig und werden im ConstrainedLanguage-Modus ausgeführt. PowerShell löst Fehler aus, wenn die nicht vertrauenswürdigen Skripts versuchen, nicht zulässige Aktionen auszuführen. Es ist schwierig herauszufinden, warum ein Skript im ConstrainedLanguage-Modus nicht ordnungsgemäß ausgeführt werden kann.
PowerShell 7.4 unterstützt jetzt App-Steuerungsrichtlinien im Überwachungsmodus . Im Überwachungsmodus führt PowerShell die nicht vertrauenswürdigen Skripts im ConstrainedLanguage-Modus aus, protokolliert jedoch Meldungen im Ereignisprotokoll, anstatt Fehler auszulösen. In den Protokollmeldungen wird beschrieben, welche Einschränkungen gelten, wenn sich die Richtlinie im Erzwingungsmodus befindet.
Änderungen in PowerShell 7.3
- PowerShell 7.3 unterstützt jetzt die Möglichkeit, PowerShell-Skriptdateien über die App-Steuerelement-API zu blockieren oder zuzulassen.
Änderungen in PowerShell 7.2
Es gab einen Eckfall in AppLocker, bei dem nur Deny-Regeln vorhanden sind und der eingeschränkte Modus nicht zum Erzwingen der Richtlinie verwendet wird, mit der sich die Ausführungsrichtlinie umgehen lässt. Ab PowerShell 7.2 wurde eine Änderung vorgenommen, um sicherzustellen, dass AppLocker-Regeln Vorrang vor einem
Set-ExecutionPolicy -ExecutionPolicy Bypass-Befehl haben.PowerShell 7.2 verbietet jetzt die Verwendung des
Add-TypeCmdlets in einer PowerShell-Sitzung imNoLanguage-Modus auf einem gesperrten Computer.PowerShell 7.2 lässt jetzt nicht mehr zu, dass Skripts COM-Objekte in AppLocker-Systemsperrbedingungen verwenden. Cmdlets, die intern COM oder DCOM verwenden, sind nicht betroffen.
Weitere Informationen
- Weitere Informationen zur Funktionsweise des App-Steuerelements und zu den von ihr erzwungenen Einschränkungen finden Sie unter Funktionsweise von App-Steuerelementen mit PowerShell.
- Weitere Informationen zum Sichern von PowerShell mit App-Steuerelement finden Sie unter Verwenden des App-Steuerelements.