Antivirus blocks what it recognizes as bad. Application control runs only what you said was good.
Microsoft puts the shift precisely: Windows stops being a place where everything executes unless the antivirus is confident it is malicious, and becomes a place where nothing executes unless your policy permitted it. That is the strongest control available on an endpoint, and it is the one most organizations look at once and quietly set aside.

- Policy firstCode runs only if policy allows it
- Beyond appsScripts, MSI, batch files and PowerShell
- All editionsPro, Enterprise, Pro Education and Education
- 48 hoursBefore Smart App Control switches itself off
Eight things worth knowing before the first policy is written.
The inversion at the center of it
The default flips. Instead of everything executing unless your antivirus is confident something is malicious, nothing executes unless your policy already permitted it. That reversal is what defeats malware nobody has seen before, and it is also why the work depends on a genuine inventory of what your business runs rather than a list somebody assembled from memory.
It reaches well beyond applications
The scope takes in scripts and Microsoft installers, command-line batch files, and interactive Windows PowerShell sessions, which are held to Constrained Language Mode. That last behavior earns its place independently, since it forecloses one of the most heavily used routes for living-off-the-land intrusion techniques.
It sits alongside antivirus, not instead of it
Microsoft states this without hedging: application control hardens a machine substantially but does not replace antivirus, and an active antivirus product should stay in place beside it. The two answer different questions. One asks whether this thing is known to be harmful; the other asks whether anybody ever approved it.
Two technologies, and the choice matters
Windows carries both App Control for Business and AppLocker, and the choice between them is framed around your particular scenarios and requirements. Some App Control capabilities exist only on specific Windows versions, so what your fleet is actually running tends to settle the question faster than any feature comparison.
Smart App Control as the starting point
Available from Windows 11 version 22H2, Smart App Control permits signed code and code the cloud service predicts to be safe. Because it is built entirely on App Control for Business, its policy makes a sound foundation for one of your own, extended to trust the line-of-business software your company depends on.
The 48-hour behavior on managed devices
Smart App Control opens in evaluation mode and turns itself off inside 48 hours on enterprise managed devices unless the user switched it on first. That is worth confirming before anybody reports it as fleet-wide protection, because on managed hardware it is usually doing nothing at all.
The Intelligent Security Graph option
The same reputation service behind Smart App Control is available inside App Control for Business as the Intelligent Security Graph. Switching it on makes a policy far easier to live with across a varied fleet, and the price is that you are trusting a reputation judgment where you would otherwise have written an explicit rule.
Licensing that is unusually inclusive
Support spans Windows Pro, Enterprise, Pro Education, SE and Education, with entitlements running from Windows Pro through Enterprise E5 and Education A5. For a control operating at this level of strength, licensing is remarkably rarely the thing standing in the way.
Switching the reputation service on moves Defender Antivirus to passive mode. Nothing is broken.
This is documented plainly, and knowing it in advance heads off a support ticket that would otherwise be logged as a broken configuration.
- Turn on Smart App Control, or enable App Control with the Intelligent Security Graph, and Microsoft Defender Antivirus moves to passive or hybrid mode on any machine using a non-Microsoft antivirus for real-time protection. That is documented as expected behavior rather than a bug or a sign that something was set up wrongly.
- In that state Defender Antivirus performs the reputation checks App Control or Smart App Control depends on, while your chosen antivirus continues handling real-time protection. Both products are present and neither is redundant, which is a genuine exception to the usual rule about running a single antivirus.
- The second surprise concerns managed hardware. Smart App Control begins in evaluation mode and disables itself within 48 hours on enterprise managed devices unless the user enabled it first, so any assumption that it is quietly protecting the fleet is usually wrong.
- Switching it off deliberately means setting VerifiedAndReputablePolicyState under the CI Policy key, where 0 is off, 1 is enforce and 2 is evaluation, then running CiTool.exe with the refresh switch to make the change take effect. A deliberate off is a better position than an ambiguous one.
Four things that keep this project from being abandoned.
We run audit mode for longer than feels necessary
Audit records what the policy would have stopped without stopping anything. The point is to surface software that never made it into the inventory: the macro finance runs once a quarter, the tool a single engineering team depends on, the installer somebody keeps on a share. Every one of those appears in an audit log and none of them appear in a survey.
We plan for scripts, not just applications
Coverage extends across scripts, Microsoft installers, batch files and interactive PowerShell sessions running under Constrained Language Mode. Teams that scoped their inventory around installed programs and forgot everything else meet all of it at once on the morning enforcement begins.
We decide the reputation question explicitly
Enabling the Intelligent Security Graph makes a policy dramatically more workable across a varied fleet, because code you never explicitly allowed can still run on the strength of its cloud reputation. That is a real security trade, and it deserves a recorded decision with reasoning attached rather than a checkbox somebody ticked in passing.
We build the onboarding route before enforcing
The moment code only runs with policy approval, every new application needs a documented way of getting that approval. Without one, people invent workarounds, and workarounds are how a genuinely strong control decays into a weak one. The process is as much of a deliverable as the policy itself.
Four phases across roughly three to four months.
- 01Month 1
Understand what actually runs
An application inventory spanning the fleet, deliberately including what nobody counts: engineering utilities, finance macros, scripts a department wrote for itself, installers people launch from a network share. Since the control reaches scripts and batch files, the inventory has to reach there too.
- Application inventory across representative device groups
- Signed and unsigned software separated
- Script and macro usage identified
- Device groups defined by application profile
- 02Month 2
Author policy and run it in audit
A base policy written, optionally starting from the Smart App Control example policy with the conditional Windows lockdown option stripped out, then deployed in audit so it records everything it would have stopped while stopping nothing.
- Base policy authored with a documented rationale
- Intelligent Security Graph decision recorded
- Audit deployment across pilot groups
- Would-have-blocked events collected and triaged
- 03Month 3
Refine until audit is quiet
Successive passes over the policy until legitimate software stops appearing in the audit log. Organizations shorten this phase under pressure, and it is the phase that decides whether enforcement day passes unnoticed. A noisy log going into enforcement means a queue of blocked users coming out of it.
- Policy refined against audit findings
- Line-of-business applications explicitly handled
- Exception process defined with owners
- Audit noise reduced to an agreed threshold
- 04Month 4
Enforce progressively and operate
Enforcement introduced one device group at a time rather than everywhere at once, with a rollback route and a support path ready. Then the standing work: every new application needs a way into policy, or people will find a way around the control instead.
- Enforcement rolled out by device group
- Rollback path tested before broad enforcement
- New application onboarding process established
- Antivirus confirmed as still active alongside
Six situations where application control is proportionate.
An operator with fixed-function workstations
Plant terminals, control room machines and kiosks run a short, stable software list and have no business running anything outside it. This is the least difficult application control case there is, and it is routinely the one nobody has done, because attention went to the office fleet instead.
A regulated firm asked about executable control
Government and security organizations, the Australian Signals Directorate among them, repeatedly cite application control as one of the most effective answers to executable file-based malware, and allowlisting questions now appear on insurance questionnaires and in CMMC and NIST 800-171 aligned assessments. Having it enforced where it matters converts a hedged answer into a straight one.
A business that has had a ransomware scare
Ransomware depends on running code the endpoint has never encountered. A policy under which nothing executes without prior approval meets that head-on, in a way signature and behavioral detection cannot fully replicate. Of all the available controls, it is the one most likely to have changed how the story ended.
A provider with clinical systems on fixed builds
Clinical and diagnostic workstations run validated software that changes rarely, which is exactly the profile this control was built for. It also shields builds that cannot be patched quickly, since nothing unauthorized gets to execute on them in the first place.
An organization with a small privileged administrator group
Administrative workstations combine the highest value to an attacker with the smallest headcount, which makes them the obvious first deployment. A tightly drawn policy across a handful of machines returns disproportionate benefit and gives the team real operating experience before anything wider is attempted.
A company reducing reliance on detection alone
Where the entire strategy rests on detection, every improvement still depends on something being recognized as malicious first. Application control contributes a layer that never has to recognize anything, which is a different category of defense rather than more of what you already have.
How US organizations control what executes.
| Feature | Application control enforced | Audit mode only | Antivirus and ASR rules |
|---|---|---|---|
Unknown code blocked | Yes | Logged only | Only if detected |
Unsigned software controlled | Yes | Visible | No |
Scripts and batch files covered | Yes | Visible | Partly via ASR |
PowerShell constrained | Constrained Language Mode | No | No |
Application inventory accurate | Necessarily | Yes | Frequently not |
Effort to maintain | Ongoing | Low | Low |
Risk of blocking legitimate work | Managed by audit phase | None | None |
Antivirus still required | Yes | Yes | Yes |
New software needs a process | Yes | No | No |
Effectiveness against novel malware | High | None | Variable |
Ten kinds of code, and whether this control governs each one.
Code path
Executables
- Covered
- Yes, the core case
Code path
DLLs and code in the system core
- Covered
- Yes, kernel mode code included
Code path
Microsoft installers, MSI
- Covered
- Yes
Code path
Scripts
- Covered
- Yes
Code path
Command-line batch files
- Covered
- Yes
Code path
Interactive PowerShell sessions
- Covered
- Yes, held to Constrained Language Mode
Code path
Unsigned line-of-business applications
- Covered
- Only where your policy permits them
Code path
Code with good cloud reputation
- Covered
- Only with the Intelligent Security Graph enabled
Code path
Known malware
- Covered
- Blocked, and unknown code is blocked too
Code path
Antivirus role
- Covered
- Still required alongside
Five steps, and the third is where the time goes.
- 1
Inventory what runs, including scripts
Applications, installers, scripts, batch files and macros across representative device groups, with signed and unsigned software separated out. Because coverage extends to all of those, an inventory limited to installed programs is incomplete before the work has even started.
- 2
Choose the technology and the trust model
App Control for Business or AppLocker, and whether the Intelligent Security Graph is enabled so cloud reputation can vouch for code you never explicitly allowed. Both decisions get recorded with the reasoning behind them, because everything downstream is shaped by them.
- 3
Author and deploy in audit mode
A base policy, optionally derived from the Smart App Control example policy with the conditional Windows lockdown option removed as the documentation requires. It goes out in audit, recording everything it would have stopped while stopping nothing at all.
- 4
Refine until the audit log is quiet
Repeated passes against real would-have-blocked events until legitimate software no longer shows up. This is the phase that gets compressed whenever a deadline appears, and it is the phase that determines whether enforcement causes an incident.
- 5
Enforce progressively and build the onboarding route
Group by group, with a tested rollback, antivirus verified as still running alongside, and a defined path for admitting new software into policy. Without that path the control degrades, because people route around whatever stands between them and their work.
What organizations ask about application control.
Fifteen questions that decide the shape of the project.
Fleet
- How much of our software is signed?Unsigned software needs explicit rules.
- Do departments run their own scripts?Scripts fall inside the scope.
- Do we have engineering or specialist tools?Reliably the hardest cases.
- What Windows editions do we run?Every mainstream edition supports it.
- What Windows versions?Certain capabilities depend on the version.
Design
- App Control or AppLocker?Requirements and scenarios decide.
- Will we enable the Intelligent Security Graph?Trades explicitness for workability.
- Are we starting from the Smart App Control policy?Strip the lockdown option out first.
- How many device groups do we need?Grouped by application profile.
- Who owns the policy long term?Somebody has to.
Operations
- How long will we run audit mode?Longer than instinct suggests.
- Who triages would-have-blocked events?A genuine workload.
- How does new software get approved?Otherwise people route around it.
- Is antivirus staying in place?It should.
- Do we know the passive mode behavior?Expected, not a fault.
Write down everything that runs on your administrative workstations.
The list will be short, those machines are the most valuable target you own, and together that makes them the ideal place to begin. Application control on that population is a contained piece of work returning a disproportionate amount of protection.
Related Services
Explore more solutions that work great with this service
Attack Surface Reduction Rules Deployment
Attack surface reduction rules deployment for US organizations:
Learn moreMicrosoft Defender for Endpoint Services
EDR plan selection, onboarding and zero-gap AV migration
Learn moreIntune Security Baselines
Security baseline design and management for US organizations: stating
Learn moreEndpoint Security
Endpoint security for US businesses using Microsoft Defender for
Learn moreMicrosoft Defender
Advanced endpoint and email threat protection
Learn more