You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: reference/docs-conceptual/security/app-control/application-control.md
+23-50Lines changed: 23 additions & 50 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,85 +1,58 @@
1
1
---
2
-
description: This article explains the features of Windows using Windows Defender Application Control (WDAC) that can be used to secure your PowerShell environment.
2
+
description: This article explains the features of Windows using Application Control for Business that can be used to secure your PowerShell environment.
3
3
ms.date: 09/19/2024
4
-
title: Use Windows Defender Application Control to secure PowerShell
4
+
title: Use Application Control for Business to secure PowerShell
5
5
---
6
-
# Use Windows Defender Application Control to secure PowerShell
6
+
# Use Application Control for Business to secure PowerShell
7
7
8
-
Windows 10 includes two technologies, [Windows Defender Application Control (WDAC)][04] and
9
-
[AppLocker][01] that you can use to control applications. They allow you to create a lockdown
10
-
experience to help secure your PowerShell environment.
8
+
Windows 10 includes two technologies, [Application Control for Business][04] and [AppLocker][01] that you can use to control applications. They allow you to create a lockdown experience to help secure your PowerShell environment.
11
9
12
10
**AppLocker** builds on the application control features of Software Restriction Policies. AppLocker
13
11
allows you to create rules to allow or deny apps for specific users or groups. You identify the apps
14
12
based on unique properties of the files.
15
13
16
-
**WDAC**, introduced with Windows 10, allows you to control which drivers and applications are
17
-
allowed to run on Windows.
14
+
**App Control for Business**, introduced with Windows 10, allows you to control which drivers and applications are allowed to run on Windows.
18
15
19
16
## Lockdown policy detection
20
17
21
-
PowerShell detects both AppLocker and WDAC system wide policies. AppLocker doesn't have way to query
22
-
the policy enforcement status. To detect if a system wide application control policy is being
23
-
enforced by AppLocker, PowerShell creates two temporary files and tests if they can be executed. The
24
-
filenames use the following name format:
18
+
PowerShell detects both AppLocker and App Control for Business system wide policies. AppLocker doesn't have way to query the policy enforcement status. To detect if a system wide application control policy is being enforced by AppLocker, PowerShell creates two temporary files and tests if they can be executed. The filenames use the following name format:
WDAC is the preferred application control system for Windows. WDAC provides APIs that allow you to
30
-
discover the policy configuration. WDAC is designed as a security feature under the servicing
31
-
criteria defined by the Microsoft Security Response Center (MSRC).
23
+
Application Control for Business is the preferred application control system for Windows. It provides APIs that allow you to discover the policy configuration. App Control is designed as a security feature under the servicing criteria defined by the Microsoft Security Response Center (MSRC).
32
24
33
-
For more information about AppLocker and WDAC, see [Application Controls for Windows][04] and
34
-
[WDAC and AppLocker feature availability][02].
25
+
For more information about AppLocker and Application Control for Business, see [Application Controls for Windows][04] and [App Control for Business and AppLocker feature availability][02].
35
26
36
27
> [!NOTE]
37
-
> When [choosing between WDAC or AppLocker][03], we recommend that you implement application control
38
-
> using WDAC rather than AppLocker. Microsoft is continually improving WDAC and Microsoft management
39
-
> platforms are extending their support for WDAC. Although AppLocker may continue to receive
28
+
> When [choosing between App Control for Business or AppLocker][03], we recommend that you implement application control
29
+
> using App Control for Business rather than AppLocker. Microsoft is continually improving App Control for Business and Microsoft management
30
+
> platforms are extending their support for App control for Business. Although AppLocker may continue to receive
40
31
> security fixes, it won't receive feature enhancements.
41
32
42
-
## WDAC policy enforcement
33
+
## Application Control for Business policy enforcement
43
34
44
-
When PowerShell runs under a WDAC policy, its behavior changes based on the defined security policy.
45
-
Under a WDAC policy, PowerShell runs trusted scripts and modules allowed by the policy in
46
-
`FullLanguage` mode. All other scripts and script blocks are untrusted and run in
47
-
`ConstrainedLanguage` mode. PowerShell throws errors when the untrusted scripts attempt to perform
48
-
actions that aren't allowed in `ConstrainedLanguage` mode. It can be difficult to know why a script
49
-
failed to run correctly in `ConstrainedLanguage` mode.
35
+
When PowerShell runs under an App Control for Business policy, its behavior changes based on the defined security policy. Under an App Control for Business policy, PowerShell runs trusted scripts and modules allowed by the policy in `FullLanguage` mode. All other scripts and script blocks are untrusted and run in `ConstrainedLanguage` mode. PowerShell throws errors when the untrusted scripts attempt to perform actions that aren't allowed in `ConstrainedLanguage` mode. It can be difficult to know why a script failed to run correctly in `ConstrainedLanguage` mode.
50
36
51
-
## WDAC policy auditing
37
+
## App Control for Business policy auditing
52
38
53
-
PowerShell 7.4 added a new feature to support WDAC policies in **Audit** mode. In audit mode,
54
-
PowerShell runs the untrusted scripts in `ConstrainedLanguage` mode without errors, but logs
55
-
messages to the event log instead. The log messages describe what restrictions would apply if the
39
+
PowerShell 7.4 added a new feature to support App Control for Business policies in **Audit** mode. In audit mode, PowerShell runs the untrusted scripts in `ConstrainedLanguage` mode without errors, but logs messages to the event log instead. The log messages describe what restrictions would apply if the
56
40
policy were in **Enforce** mode.
57
41
58
42
## History of changes
59
43
60
-
Windows PowerShell 5.1 was the first version of PowerShell to support WDAC. The security features of
61
-
WDAC and AppLocker improve with each new release of PowerShell. The following sections describe how
62
-
this support changed in each version of PowerShell. The changes are cumulative, so the features
63
-
described in the later versions include those from earlier versions.
44
+
Windows PowerShell 5.1 was the first version of PowerShell to support App Control for Business. The security features of App Control for Business and AppLocker improve with each new release of PowerShell. The following sections describe how this support changed in each version of PowerShell. The changes are cumulative, so the features described in the later versions include those from earlier versions.
64
45
65
46
### Changes in PowerShell 7.4
66
47
67
-
On Windows, when PowerShell runs under a Windows Defender Application Control (WDAC) policy, its
68
-
behavior changes based on the defined security policy. Under a WDAC policy, PowerShell runs trusted
69
-
scripts and modules allowed by the policy in `FullLanguage` mode. All other scripts and script
70
-
blocks are untrusted and run in `ConstrainedLanguage` mode. PowerShell throws errors when the
71
-
untrusted scripts attempt to perform disallowed actions. It's difficult to know why a script fails
72
-
to run correctly in `ConstrainedLanguage` mode.
48
+
On Windows, when PowerShell runs under an Application Control for Business policy, its
49
+
behavior changes based on the defined security policy. Under an App Control for Business policy, PowerShell runs trusted scripts and modules allowed by the policy in `FullLanguage` mode. All other scripts and script blocks are untrusted and run in `ConstrainedLanguage` mode. PowerShell throws errors when the untrusted scripts attempt to perform disallowed actions. It's difficult to know why a script fails to run correctly in `ConstrainedLanguage` mode.
73
50
74
-
PowerShell 7.4 now supports WDAC policies in **Audit** mode. In audit mode, PowerShell runs the
75
-
untrusted scripts in `ConstrainedLanguage` mode but logs messages to the event log instead of
76
-
throwing errors. The log messages describe what restrictions would apply if the policy were in
77
-
**Enforce** mode.
51
+
PowerShell 7.4 now supports App Control for Business policies in **Audit** mode. In audit mode, PowerShell runs the untrusted scripts in `ConstrainedLanguage` mode but logs messages to the event log instead of throwing errors. The log messages describe what restrictions would apply if the policy were in **Enforce** mode.
78
52
79
53
### Changes in PowerShell 7.3
80
54
81
-
- PowerShell 7.3 now supports the ability to block or allow PowerShell script files via the WDAC
82
-
API.
55
+
- PowerShell 7.3 now supports the ability to block or allow PowerShell script files via the App Control for Business API.
83
56
84
57
### Changes in PowerShell 7.2
85
58
@@ -96,9 +69,9 @@ throwing errors. The log messages describe what restrictions would apply if the
96
69
97
70
## Further reading
98
71
99
-
- For more information about how WDAC works and what restrictions it enforces, see
100
-
[How WDAC works with PowerShell][06].
101
-
- For more information about securing PowerShell with WDAC, see [How to use WDAC][05].
72
+
- For more information about how Application Control for Business works and what restrictions it enforces, see
73
+
[How Application Control for Business works with PowerShell][06].
74
+
- For more information about securing PowerShell with App Control for Business, see [How to use Application Control for Business][05].
0 commit comments