Last active
February 14, 2023 10:08
-
-
Save Fantasillion/6530ca8a55ff306ee3dd160f2388a119 to your computer and use it in GitHub Desktop.
Visual Studio 2022 Windows Defender Exclusions.ps1
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$userPath = $env:USERPROFILE | |
$pathExclusions = New-Object System.Collections.ArrayList | |
$processExclusions = New-Object System.Collections.ArrayList | |
$pathExclusions.Add('C:\Windows\Microsoft.NET') > $null | |
$pathExclusions.Add('C:\Windows\assembly') > $null | |
$pathExclusions.Add($userPath + '\Downloads\HeidiSQL_11.3_64_Portable') > $null | |
$pathExclusions.Add($userPath + '\.dotnet') > $null | |
$pathExclusions.Add($userPath + '\.librarymanager') > $null | |
$pathExclusions.Add($userPath + '\AppData\Local\Microsoft\VisualStudio') > $null | |
$pathExclusions.Add($userPath + '\AppData\Local\Microsoft\VisualStudio Services') > $null | |
$pathExclusions.Add($userPath + '\AppData\Local\GitCredentialManager') > $null | |
$pathExclusions.Add($userPath + '\AppData\Local\GitHubVisualStudio') > $null | |
$pathExclusions.Add($userPath + '\AppData\Local\Microsoft\dotnet') > $null | |
$pathExclusions.Add($userPath + '\AppData\Local\Microsoft\VSApplicationInsights') > $null | |
$pathExclusions.Add($userPath + '\AppData\Local\Microsoft\VSCommon') > $null | |
$pathExclusions.Add($userPath + '\AppData\Local\Temp\VSFeedbackIntelliCodeLogs') > $null | |
$pathExclusions.Add($userPath + '\AppData\Roaming\Microsoft\VisualStudio') > $null | |
$pathExclusions.Add($userPath + '\AppData\Roaming\NuGet') > $null | |
$pathExclusions.Add($userPath + '\AppData\Roaming\Visual Studio Setup') > $null | |
$pathExclusions.Add($userPath + '\AppData\Roaming\vstelemetry') > $null | |
$pathExclusions.Add($userPath + '\AppData\Roaming\HeidiSQL') > $null | |
$pathExclusions.Add('C:\ProgramData\Microsoft\VisualStudio') > $null | |
$pathExclusions.Add('C:\ProgramData\Microsoft\NetFramework') > $null | |
$pathExclusions.Add('C:\ProgramData\Microsoft Visual Studio') > $null | |
$pathExclusions.Add('C:\ProgramData\MySQL') > $null | |
$pathExclusions.Add('C:\Program Files\Microsoft Visual Studio') > $null | |
$pathExclusions.Add('C:\Program Files\dotnet') > $null | |
$pathExclusions.Add('C:\Program Files\Microsoft SDKs') > $null | |
$pathExclusions.Add('C:\Program Files\Microsoft SQL Server') > $null | |
$pathExclusions.Add('C:\Program Files\MySQL') > $null | |
$pathExclusions.Add('C:\Program Files\IIS') > $null | |
$pathExclusions.Add('C:\Program Files\IIS Express') > $null | |
$pathExclusions.Add('C:\Program Files (x86)\Microsoft Visual Studio') > $null | |
$pathExclusions.Add('C:\Program Files (x86)\dotnet') > $null | |
$pathExclusions.Add('C:\Program Files (x86)\Microsoft SDKs') > $null | |
$pathExclusions.Add('C:\Program Files (x86)\Microsoft SQL Server') > $null | |
$pathExclusions.Add('C:\Program Files (x86)\IIS') > $null | |
$pathExclusions.Add('C:\Program Files (x86)\IIS Express') > $null | |
$processExclusions.Add('ServiceHub.SettingsHost.exe') > $null | |
$processExclusions.Add('ServiceHub.IdentityHost.exe') > $null | |
$processExclusions.Add('ServiceHub.VSDetouredHost.exe') > $null | |
$processExclusions.Add('ServiceHub.Host.CLR.x86.exe') > $null | |
$processExclusions.Add('Microsoft.ServiceHub.Controller.exe') > $null | |
$processExclusions.Add('PerfWatson2.exe') > $null | |
$processExclusions.Add('sqlwriter.exe') > $null | |
Write-Host "This script will create Windows Defender exclusions for common Visual Studio 2022 folders and processes." | |
Write-Host "" | |
$projectsFolder1 = Read-Host 'What is the path to your Projects folder? (example: c:\source)' | |
Write-Host "" | |
Write-Host "Adding Path Exclusion: " $projectsFolder1 | |
Add-MpPreference -ExclusionPath $projectsFolder1 | |
Write-Host "" | |
$projectsFolder2 = Read-Host 'What is the path to your secondary Projects folder? (example: c:\source)' | |
Write-Host "" | |
Write-Host "Adding Path Exclusion: " $projectsFolder2 | |
Add-MpPreference -ExclusionPath $projectsFolder2 | |
Write-Host "" | |
$projectsFolder3 = Read-Host 'What is the path to your primary IIS/website folder? (example: c:\source)' | |
Write-Host "" | |
Write-Host "Adding Path Exclusion: " $projectsFolder3 | |
Add-MpPreference -ExclusionPath $projectsFolder3 | |
Write-Host "" | |
$projectsFolder4 = Read-Host 'What is the path to your secondary IIS/website folder? (example: c:\source)' | |
Write-Host "" | |
Write-Host "Adding Path Exclusion: " $projectsFolder4 | |
Add-MpPreference -ExclusionPath $projectsFolder4 | |
foreach ($exclusion in $pathExclusions) | |
{ | |
Write-Host "Adding Path Exclusion: " $exclusion | |
Add-MpPreference -ExclusionPath $exclusion | |
} | |
foreach ($exclusion in $processExclusions) | |
{ | |
Write-Host "Adding Process Exclusion: " $exclusion | |
Add-MpPreference -ExclusionProcess $exclusion | |
} | |
Write-Host "" | |
Write-Host "Your Exclusions:" | |
$prefs = Get-MpPreference | |
$prefs = Get-MpPreference | |
$prefs = Get-MpPreference | |
$prefs = Get-MpPreference | |
$prefs.ExclusionPath | |
$prefs.ExclusionProcess | |
Write-Host "" | |
Write-Host "Enjoy faster build times and coding!" | |
Write-Host "" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment