Skip to main content

Manage Microsoft Defender path exclusions from Python, CLI, or GUI.

Project description

py-win-mp-exclude

py-win-mp-exclude is a Windows package for adding, removing, and listing Microsoft Defender path exclusions from a CLI, a small GUI, or Python code.

The tool uses PowerShell's Defender cmdlets:

  • Add-MpPreference -ExclusionPath
  • Remove-MpPreference -ExclusionPath
  • Get-MpPreference

When a mutating CLI command or the GUI starts without administrator privileges, the program relaunches itself once through py-admin-launch. A hidden startup flag prevents repeated elevation attempts.

Installation

pip install py-win-mp-exclude

CLI

Add a file or folder exclusion:

win-mp-exclude add C:\path\to\file.exe
win-mp-exclude add C:\path\to\folder

Remove a file or folder exclusion:

win-mp-exclude remove C:\path\to\file.exe
win-mp-exclude remove C:\path\to\folder

List configured path exclusions:

win-mp-exclude list

Preview the PowerShell command without running it:

win-mp-exclude --dry-run add C:\path\to\folder

The package also installs the alias py-win-mp-exclude.

GUI

Launch the graphical interface:

win-mp-exclude-gui

The GUI can add exclusions, remove exclusions, remove a selected exclusion, list current exclusions, and preview the PowerShell command it will run. The package also installs the alias py-win-mp-exclude-gui.

Python API

The Python API exposes the same add, remove, list, and dry-run capabilities used by the CLI and GUI:

from win_mp_exclude import add_exclusion, list_exclusions, remove_exclusion

add_result = add_exclusion(r"C:\path\to\folder")
print(add_result.message)

for path in list_exclusions().exclusions:
    print(path)

remove_result = remove_exclusion(r"C:\path\to\folder")
print(remove_result.message)

Use dry_run=True to inspect the PowerShell script without applying a change:

from win_mp_exclude import add_exclusion

result = add_exclusion(r"C:\path\to\folder", dry_run=True)
print(result.script)

By default, Python mutating calls can request administrator elevation once. Pass elevate=False if your program wants to handle elevation itself.

Development

Build with Poetry:

poetry build

Publish with Poetry:

poetry publish

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_win_mp_exclude-0.2.0.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_win_mp_exclude-0.2.0-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file py_win_mp_exclude-0.2.0.tar.gz.

File metadata

  • Download URL: py_win_mp_exclude-0.2.0.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.11.15 Windows/10

File hashes

Hashes for py_win_mp_exclude-0.2.0.tar.gz
Algorithm Hash digest
SHA256 5b43cdcadad742aefe9ecdfd802a0b0c3fe9e50fcd8f8695024f6f40770eb5d7
MD5 9bdbdfb4ec8b16f9bb426ea877ad27b1
BLAKE2b-256 3630f00031d95f5d40a338e62a4f108e7a43b35ae28739b292f89cbbcec032d4

See more details on using hashes here.

File details

Details for the file py_win_mp_exclude-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: py_win_mp_exclude-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.4.1 CPython/3.11.15 Windows/10

File hashes

Hashes for py_win_mp_exclude-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ecf20a98afad77070e569863859939ea86c29941d53d602825da71ac7fd437a9
MD5 5e1960a72eec53041cd118593e801002
BLAKE2b-256 adc920f1e864d4fbbd99f90c231cc01315df6de780604890f8223c841897d37a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page