win: add more Visual Studio scripts, support 2022
Improve documentation for Visual Studio scripts. Add different keys reported by community for deleting Visual Studio 2022 licenses, see beatcracker/VSCELicense#14 for the key reports. Add cleanup for SQM files that Visual Studio generates when it is unable to connect to internet, to send the data when online. Improve cleanup for Visual Studio logs. Change revert behavior of the scripts to match default state of clean Visual Studio installation.
This commit is contained in:
@@ -43,19 +43,142 @@ actions:
|
||||
del /f /q %ProgramFiles(x86)%\Steam\Traces
|
||||
del /f /q %ProgramFiles(x86)%\Steam\appcache\*.log
|
||||
-
|
||||
name: Clear Visual Studio telemetry and feedback data
|
||||
recommend: standard
|
||||
code: |-
|
||||
rmdir /s /q "%AppData%\vstelemetry" 2>nul
|
||||
rmdir /s /q "%LocalAppData%\Microsoft\VSApplicationInsights" 2>nul
|
||||
rmdir /s /q "%ProgramData%\Microsoft\VSApplicationInsights" 2>nul
|
||||
rmdir /s /q "%Temp%\Microsoft\VSApplicationInsights" 2>nul
|
||||
rmdir /s /q "%Temp%\VSFaultInfo" 2>nul
|
||||
rmdir /s /q "%Temp%\VSFeedbackPerfWatsonData" 2>nul
|
||||
rmdir /s /q "%Temp%\VSFeedbackVSRTCLogs" 2>nul
|
||||
rmdir /s /q "%Temp%\VSRemoteControl" 2>nul
|
||||
rmdir /s /q "%Temp%\VSTelem" 2>nul
|
||||
rmdir /s /q "%Temp%\VSTelem.Out" 2>nul
|
||||
category: Clear Visual Studio data
|
||||
docs: |-
|
||||
Visual Studio is an integrated development environment (IDE) from Microsoft that is used to develop software [1].
|
||||
Visual Studio store data such as your usage of the software and also information about your hardware [2].
|
||||
The data is stored both in Microsoft cloud [3] and locally on computer.
|
||||
These scripts allow you to delete the local data that might reveal your personally identifiable data about you
|
||||
or the way you use the product.
|
||||
|
||||
[1]: https://en.wikipedia.org/wiki/Visual_Studio "Visual Studio | Wikipedia"
|
||||
[2]: https://learn.microsoft.com/en-us/visualstudio/ide/visual-studio-experience-improvement-program "Visual Studio Customer Experience Improvement Program | Microsoft Learn"
|
||||
[3]: https://www.infoworld.com/article/2609774/microsoft-reinvents-visual-studio-as-an-azure-cloud-service.html "Microsoft reinvents Visual Studio as an Azure cloud service | InfoWorld"
|
||||
children:
|
||||
-
|
||||
category: Clear Visual Studio telemetry and feedback data
|
||||
docs: |-
|
||||
These scripts delete data about you and your behavior that's locally stored by Visual Studio on your computer.
|
||||
These do not clear data that's already collected in Microsoft servers, but it can prevent sending more data by
|
||||
deleting data waiting to be sent.
|
||||
children:
|
||||
-
|
||||
name: Delete offline Visual Studio telemetry files
|
||||
recommend: standard
|
||||
docs: |-
|
||||
SQM files are text files that are created and used by Microsoft [1].
|
||||
SQM stands for "Service Quality Monitoring" [1].
|
||||
|
||||
When unable to connect to internet Visual Studio stores SQM files in `%LocalAppData%\Microsoft\VSCommon\<vs_version>\SQM` [2].
|
||||
The number of files grows continuously and it can get to thousands. Cleaning these files speeds up Visual
|
||||
Studio significantly according to community reports [2].
|
||||
|
||||
[1]: https://techshift.net/how-to-open-sqm-file/ "What is a .SQM File And How To Open It - Microsoft (Visual Guide) | TechShift.net"
|
||||
[2]: https://stackoverflow.com/a/38862596 "Process monitor - Slow Visual Studio, related to SQMClient? | Stack Overflow"
|
||||
code: |-
|
||||
rmdir /s /q %LocalAppData%\Microsoft\VSCommon\14.0\SQM
|
||||
rmdir /s /q %LocalAppData%\Microsoft\VSCommon\15.0\SQM
|
||||
rmdir /s /q %LocalAppData%\Microsoft\VSCommon\16.0\SQM
|
||||
rmdir /s /q %LocalAppData%\Microsoft\VSCommon\17.0\SQM
|
||||
-
|
||||
name: Delete Visual Studio Application Insights logs
|
||||
recommend: standard
|
||||
docs: |-
|
||||
Application Insights for Visual Studio stores diagnostic data for e.g. exceptions and performance [1].
|
||||
|
||||
Application Insights store `.TRN` files that might grow and exceed thousands [2] [3].
|
||||
|
||||
[1]: https://azuredevopslabs.com/labs/vsts/monitor/ "Monitoring Applications using Application Insights | Azure DevOps Hands-on-Labs"
|
||||
[2]: https://developercommunity.visualstudio.com/t/visual-studio-freezes-randomly/224181#T-N257722-N277241-N407607 "Visual Studio freezes randomly | Visual Studio Feedback"
|
||||
[3]: https://stackoverflow.com/a/53754481 "Visual Studio 2017 (15.3.1) keeps hanging/freezing | Stack Overflow"
|
||||
code: |-
|
||||
rmdir /s /q "%LocalAppData%\Microsoft\VSApplicationInsights" 2>nul
|
||||
rmdir /s /q "%ProgramData%\Microsoft\VSApplicationInsights" 2>nul
|
||||
rmdir /s /q "%Temp%\Microsoft\VSApplicationInsights" 2>nul
|
||||
-
|
||||
name: Delete Visual Studio telemetry folders
|
||||
recommend: standard
|
||||
docs: |-
|
||||
`vstelemetry` is a folder created by both Visual Studio [1] and also by SQL Server Management Studio [2] to
|
||||
store telemetry data.
|
||||
|
||||
There has been security vulnerabilities through these folders that were patched in 2020 by Microsoft [2].
|
||||
|
||||
[1]: http://processchecker.com/file/VsHub.exe.html "What is VsHub.exe ? VsHub.exe info | Processchecker.com"
|
||||
[2]: https://herolab.usd.de/en/security-advisories/usd-2020-0030/ "usd-2020-0030 - usd HeroLab"
|
||||
code: |-
|
||||
rmdir /s /q "%AppData%\vstelemetry" 2>nul
|
||||
rmdir /s /q "%ProgramData%\vstelemetry" 2>nul
|
||||
-
|
||||
name: Delete Visual Studio temporary telemetry and log data
|
||||
recommend: standard
|
||||
docs: |-
|
||||
These logs area created by different tools that Visual Studio uses such as its launcher, installer or
|
||||
data collection agents.
|
||||
|
||||
Folders include `VSFaultInfo` [1], `VSFeedbackPerfWatsonData` [2], `VSFeedbackCollector` [2],
|
||||
`VSFeedbackVSRTCLogs` [3], `VSRemoteControl` [4] [5], `VSFeedbackIntelliCodeLogs` [4] [5],
|
||||
`VSTelem` [6] [7], `VSTelem.Out` [6].
|
||||
|
||||
There are more log and cache data stored by Visual Studio, but not all of them come with privacy
|
||||
implications. These files can be useful for faster loading, so this script removes only the
|
||||
sensitive data stored instead of cleaning all the cache completely.
|
||||
|
||||
[1]: https://developercommunity.visualstudio.com/t/visual-studio-installer-crashes-after-updating-to/1356122 "Visual Studio Installer crashes after updating to version 16.9.0 - Visual Studio Feedback | Visual Studio Develoepr Community"
|
||||
[2]: https://developercommunity.visualstudio.com/t/microsoft-visual-studio-1/588200#T-N588861-N594783 "MSTF help | Visual Studio Developer Community"
|
||||
[3]: https://github.com/MicrosoftDocs/live-share/issues/3584 "Agent logs in %TEMP%\VSFeedbackVSRTCLogs taking up over 87GB · Issue #3584 · MicrosoftDocs/live-share | GitHub"
|
||||
[4]: https://developercommunity.visualstudio.com/t/please-keep-my-temp-folder-clean/731637 "Please keep my TEMP folder clean! - Visual Studio Feedback | Visual Studio Developer Community"
|
||||
[5]: https://stackoverflow.com/q/60974427 "Reduce log and other temporary file creation in Visual Studio 2019 | Stack Overflow"
|
||||
[6]: https://stackoverflow.com/q/72341126 "Visual Studio 2022 - Telemetry | Stack Overflow"
|
||||
[7]: https://social.msdn.microsoft.com/Forums/vstudio/en-US/5b2a0baa-748f-40e0-b504-f6dfad9b7b4d/vstelem-folder-24000-files-2064kb?forum=msbuild "VSTELEM folder 24000 files 2064Kb | MSDN Forums"
|
||||
code: |-
|
||||
rmdir /s /q "%Temp%\VSFaultInfo" 2>nul
|
||||
rmdir /s /q "%Temp%\VSFeedbackPerfWatsonData" 2>nul
|
||||
rmdir /s /q "%Temp%\VSFeedbackVSRTCLogs" 2>nul
|
||||
rmdir /s /q "%Temp%\VSFeedbackIntelliCodeLogs" 2>nul
|
||||
rmdir /s /q "%Temp%\VSRemoteControl" 2>nul
|
||||
rmdir /s /q "%Temp%\Microsoft\VSFeedbackCollector" 2>nul
|
||||
rmdir /s /q "%Temp%\VSTelem" 2>nul
|
||||
rmdir /s /q "%Temp%\VSTelem.Out" 2>nul
|
||||
-
|
||||
category: Clear Visual Studio licenses
|
||||
docs: |-
|
||||
Visual Studio stores a local copy of your product key. This information is kept even though
|
||||
Visual Studio is uninstalled [1] which may reveal unnecessary data and not be desired.
|
||||
This key is not only stored for purchased Visual Studio products but also for the free trials.
|
||||
|
||||
[1]: https://stackoverflow.com/questions/12465361/how-to-change-visual-studio-2012-2013-or-2015-license-key "How to change Visual Studio 2012,2013 or 2015 License Key? | Stack Overflow"
|
||||
children:
|
||||
-
|
||||
name: Clear Visual Studio 2010 licenses
|
||||
docs: "[How to change Visual Studio 2012,2013 or 2015 License Key? | Stack Overflow](https://stackoverflow.com/a/14810695)"
|
||||
code: reg delete "HKCR\Licenses\77550D6B-6352-4E77-9DA3-537419DF564B" /va /f
|
||||
-
|
||||
name: Clear Visual Studio 2015 licenses
|
||||
docs: "[How to change Visual Studio 2012,2013 or 2015 License Key? | Stack Overflow](https://stackoverflow.com/a/32482322)"
|
||||
code: reg delete "HKCR\Licenses\4D8CFBCB-2F6A-4AD2-BABF-10E28F6F2C8F" /va /f
|
||||
-
|
||||
name: Clear Visual Studio 2017 licenses
|
||||
docs: "[Is Visual Studio Community a 30 day trial? | Stack Overflow](https://stackoverflow.com/a/51570570)"
|
||||
code: reg delete "HKCR\Licenses\5C505A59-E312-4B89-9508-E162F8150517" /va /f
|
||||
-
|
||||
name: Clear Visual Studio 2019 licenses
|
||||
docs: "[How to change Visual Studio 2017 License Key? | Stack Overflow](https://stackoverflow.com/a/46974337)"
|
||||
code: reg delete "HKCR\Licenses\41717607-F34E-432C-A138-A3CFD7E25CDA" /va /f
|
||||
-
|
||||
name: Clear Visual Studio 2022 licenses
|
||||
docs: |-
|
||||
Different keys have been reported by community for VS 2022 license [1]. This may depend on different preview versions.
|
||||
The latest reported key is `1299B4B9-DFCC-476D-98F0-F65A2B46C96D` [2] [3]. I have tested and verified this along with some
|
||||
other keys of preview versions. This scripts deletes all mentioned keys.
|
||||
|
||||
[1]: https://github.com/beatcracker/VSCELicense/issues/14 "VS 2022 key discussion | beatcracker/VSCELicense | GitHub"
|
||||
[2]: https://learn.microsoft.com/en-us/answers/questions/673243/how-do-i-remove-a-license-from-visual-studio-2022.html "MSFT Answer | Microsoft Learn"
|
||||
[3]: https://stackoverflow.com/a/71624750 "How to change Visual Studio 2017 License Key? | Stack Overflow"
|
||||
code: |-
|
||||
reg delete "HKCR\Licenses\B16F0CF0-8AD1-4A5B-87BC-CB0DBE9C48FC" /va /f
|
||||
reg delete "HKCR\Licenses\10D17DBA-761D-4CD8-A627-984E75A58700" /va /f
|
||||
reg delete "HKCR\Licenses\1299B4B9-DFCC-476D-98F0-F65A2B46C96D" /va /f
|
||||
-
|
||||
category: Clear most recently used lists (MRU)
|
||||
children:
|
||||
@@ -1649,66 +1772,168 @@ actions:
|
||||
children:
|
||||
-
|
||||
category: Disable Visual Studio data collection
|
||||
docs: |-
|
||||
These scripts disable future local and cloud data collection by Visual Studio about you and your behavior.
|
||||
These do not clean existing data collected about you locally or on cloud servers.
|
||||
children:
|
||||
-
|
||||
category: Disable Experience Improvement Program (PerfWatson)
|
||||
docs:
|
||||
- https://docs.microsoft.com/en-us/visualstudio/ide/visual-studio-experience-improvement-program
|
||||
- https://devblogs.microsoft.com/visualstudio/how-we-use-your-perfwatson-data-to-identify-unresponsive-areas/
|
||||
children:
|
||||
-
|
||||
name: Disable SQM OS key
|
||||
recommend: standard
|
||||
code: |-
|
||||
if %PROCESSOR_ARCHITECTURE%==x86 ( REM is 32 bit?
|
||||
reg add "HKLM\SOFTWARE\Microsoft\VSCommon\14.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
reg add "HKLM\SOFTWARE\Microsoft\VSCommon\15.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
reg add "HKLM\SOFTWARE\Microsoft\VSCommon\16.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
) else (
|
||||
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\14.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\15.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\16.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
)
|
||||
revertCode: |-
|
||||
if %PROCESSOR_ARCHITECTURE%==x86 ( REM is 32 bit?
|
||||
reg add "HKLM\SOFTWARE\Microsoft\VSCommon\14.0\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
reg add "HKLM\SOFTWARE\Microsoft\VSCommon\15.0\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
reg add "HKLM\SOFTWARE\Microsoft\VSCommon\16.0\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
) else (
|
||||
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\14.0\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\15.0\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\16.0\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
)
|
||||
-
|
||||
name: Disable SQM group policy
|
||||
recommend: standard
|
||||
code: reg add "HKLM\Software\Policies\Microsoft\VisualStudio\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
revertCode: reg add "HKLM\Software\Policies\Microsoft\VisualStudio\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
name: Opt-out from Visual Studio Customer Experience Improvement Program (VSCEIP)
|
||||
recommend: standard
|
||||
docs: |-
|
||||
`VSCEIP` collects information about errors, computer hardware, and how people use Visual Studio [1].
|
||||
The information is sent to Microsoft servers for further analysis.
|
||||
|
||||
This was previously known as Customer Experience Improvement Program (`PerfWatson`) for Visual Studio
|
||||
that primarily collected your personal usage and related performance data [2].
|
||||
|
||||
For more information about the information collected, processed, or transmitted by the `VSCEIP`, see the
|
||||
[Microsoft Privacy Statement](https://privacy.microsoft.com/en-US/privacystatement).
|
||||
|
||||
Visual Studio uses different keys based on CPU architecture of the host operating system (32bit or 64bit) [1]:
|
||||
|
||||
- 32bit: `HKLM\SOFTWARE\Microsoft\VSCommon`
|
||||
- 64bit: `HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon`
|
||||
|
||||
Key `OptIn` can have two different values [1]:
|
||||
|
||||
- `0` is opted out (turn off)
|
||||
- `1` is opted in (turn on)
|
||||
|
||||
The default installation sets the key as `1` (opt-in by default) since Visual Studio 2022.
|
||||
|
||||
[1]: https://learn.microsoft.com/en-us/visualstudio/ide/visual-studio-experience-improvement-program "Customer Experience Improvement Program - Visual Studio (Windows) | Microsoft Learn"
|
||||
[2]: https://devblogs.microsoft.com/visualstudio/how-we-use-your-perfwatson-data-to-identify-unresponsive-areas/ "How we use your PerfWatson data to identify Unresponsive areas | Visual Studio Blog"
|
||||
code: |-
|
||||
:: Using OS keys
|
||||
if %PROCESSOR_ARCHITECTURE%==x86 ( REM is 32 bit?
|
||||
reg add "HKLM\SOFTWARE\Microsoft\VSCommon\14.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
reg add "HKLM\SOFTWARE\Microsoft\VSCommon\15.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
reg add "HKLM\SOFTWARE\Microsoft\VSCommon\16.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
reg add "HKLM\SOFTWARE\Microsoft\VSCommon\17.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
) else (
|
||||
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\14.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\15.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\16.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\17.0\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
)
|
||||
:: Using GPO key
|
||||
reg add "HKLM\Software\Policies\Microsoft\VisualStudio\SQM" /v "OptIn" /t REG_DWORD /d 0 /f
|
||||
revertCode: |-
|
||||
:: Using OS keys
|
||||
if %PROCESSOR_ARCHITECTURE%==x86 ( REM is 32 bit?
|
||||
reg add "HKLM\SOFTWARE\Microsoft\VSCommon\14.0\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
reg add "HKLM\SOFTWARE\Microsoft\VSCommon\15.0\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
reg add "HKLM\SOFTWARE\Microsoft\VSCommon\16.0\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
reg add "HKLM\SOFTWARE\Microsoft\VSCommon\17.0\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
) else (
|
||||
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\14.0\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\15.0\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\16.0\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
reg add "HKLM\SOFTWARE\Wow6432Node\Microsoft\VSCommon\17.0\SQM" /v "OptIn" /t REG_DWORD /d 1 /f
|
||||
)
|
||||
:: Using GPO key
|
||||
reg delete "HKLM\Software\Policies\Microsoft\VisualStudio\SQM" /v "OptIn" /f 2>nul
|
||||
-
|
||||
name: Disable visual studio telemetry
|
||||
name: Disable Visual Studio telemetry
|
||||
docs: |-
|
||||
This key was first seen to be used in Visual Studio 15 (2017) [1] [2].
|
||||
|
||||
By default (after clean installation) the registry key set by this script does not exist
|
||||
since Visual Studio 2022.
|
||||
|
||||
[1]: https://developercommunity.visualstudio.com/t/bad-crashes-when-visualstudiotelemetryturnoffswitc/208693 "Bad crashes when VisualStudio\Telemetry\TurnOffSwitch is set to 0 | Visual Studio Feedback"
|
||||
[2]: https://social.msdn.microsoft.com/Forums/vstudio/en-US/7796f0c5-ec9a-4fc8-9f62-584a663f9016/vs2015-pro-upd-3-quotthe-application-cannot-startquot-exception-in-obtainoptinstatus 'VS2015 (pro + upd 3): "Forum post showing logs for TurnOffSwitch key | MSDN Forums'
|
||||
recommend: standard
|
||||
code: reg add "HKCU\Software\Microsoft\VisualStudio\Telemetry" /v "TurnOffSwitch" /t REG_DWORD /d 1 /f
|
||||
revertCode: reg add "HKCU\Software\Microsoft\VisualStudio\Telemetry" /v "TurnOffSwitch" /t REG_DWORD /d 0 /f
|
||||
revertCode: reg delete "HKCU\Software\Microsoft\VisualStudio\Telemetry" /v "TurnOffSwitch" /f 2>nul
|
||||
-
|
||||
name: Disable Visual Studio feedback
|
||||
docs: |-
|
||||
Feedback tool in Visual Studio allows users to report a problem from either Visual Studio or its installer.
|
||||
It collects rich diagnostic information along with personally identifiable information [1]. Information includes large log files,
|
||||
crash information, screenshots, repro recording, and other artifacts [1].
|
||||
|
||||
This script disables feedback dialog and screenshot capture/email input that's prompted to be sent as part of the feedback.
|
||||
|
||||
By default (after clean installation) the registry keys are not configured/set since Visual Studio 2022. Having these settings no
|
||||
set imply that feedback is enabled.
|
||||
|
||||
[1]: https://learn.microsoft.com/en-us/visualstudio/ide/how-to-report-a-problem-with-visual-studio "Report a problem with Visual Studio - Visual Studio (Windows) | Microsoft Learn"
|
||||
recommend: standard
|
||||
code: |-
|
||||
reg add "HKLM\SOFTWARE\Policies\Microsoft\VisualStudio\Feedback" /v "DisableFeedbackDialog" /t REG_DWORD /d 1 /f
|
||||
reg add "HKLM\SOFTWARE\Policies\Microsoft\VisualStudio\Feedback" /v "DisableEmailInput" /t REG_DWORD /d 1 /f
|
||||
reg add "HKLM\SOFTWARE\Policies\Microsoft\VisualStudio\Feedback" /v "DisableScreenshotCapture" /t REG_DWORD /d 1 /f
|
||||
revertCode: |-
|
||||
reg add "HKLM\SOFTWARE\Policies\Microsoft\VisualStudio\Feedback" /v "DisableFeedbackDialog" /t REG_DWORD /d 0 /f
|
||||
reg add "HKLM\SOFTWARE\Policies\Microsoft\VisualStudio\Feedback" /v "DisableEmailInput" /t REG_DWORD /d 0 /f
|
||||
reg add "HKLM\SOFTWARE\Policies\Microsoft\VisualStudio\Feedback" /v "DisableScreenshotCapture" /t REG_DWORD /d 0 /f
|
||||
reg delete "HKLM\SOFTWARE\Policies\Microsoft\VisualStudio\Feedback" /v "DisableFeedbackDialog" /f 2>nul
|
||||
reg delete "HKLM\SOFTWARE\Policies\Microsoft\VisualStudio\Feedback" /v "DisableEmailInput" /f 2>nul
|
||||
reg delete "HKLM\SOFTWARE\Policies\Microsoft\VisualStudio\Feedback" /v "DisableScreenshotCapture" /f 2>nul
|
||||
-
|
||||
name: Stop and disable Visual Studio Standard Collector Service
|
||||
# Collects logs for Diagnostics Hub
|
||||
docs: |-
|
||||
Visual Studio Standard Collector Service is a service that is part of
|
||||
[Microsoft Visual Studio and .NET Log Collection Tool](https://www.microsoft.com/en-us/download/details.aspx?id=12493) [1].
|
||||
This service collects logs for Diagnostics Hub just like Diagnostic Hub Standard Collector [2].
|
||||
It has been known to be vulnerable to privilege elavation [3].
|
||||
|
||||
Disabling this service is recommended because otherwise it would:
|
||||
- Increase the attack surface of your computer, making it open to potential future vulnerabilities.
|
||||
- Use computer resources in favor of collecting more data about you and your behavior.
|
||||
|
||||
[1]: https://learn.microsoft.com/en-us/answers/questions/891356/i-can39t-start-vsstandardcollectorservice150.html#answer-929168 "I can't start VSStandardCollectorService150 | Microsoft Q&A"
|
||||
[2]: https://www.atredis.com/blog/cve-2018-0952-privilege-escalation-vulnerability-in-windows-standard-collector-service "CVE-2018-0952: Privilege Escalation Vulnerability in Windows Standard Collector Service | Atredis Partners"
|
||||
[3]: https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2018-0952 "Diagnostic Hub Standard Collector Elevation of Privilege Vulnerability"
|
||||
recommend: standard
|
||||
call:
|
||||
function: DisableService
|
||||
parameters:
|
||||
serviceName: VSStandardCollectorService150 # (Get-Service -Name VSStandardCollectorService150).StartType
|
||||
defaultStartupMode: Automatic # Allowed values: Automatic | Manual
|
||||
defaultStartupMode: Manual # Manual since Visual Studio 2022, allowed values: Automatic | Manual
|
||||
-
|
||||
name: Disable Diagnostics Hub log collection
|
||||
docs: |-
|
||||
Diagnostics Hub is online data collection point for diagnostic tools used by Visual Studio.
|
||||
It can be disabled by deleting `LogLevel` and `LogDirectory` registery keys [1] and enabled by adding them [2] [3] [4] [5].
|
||||
|
||||
The registry keys are not set after installation since Visual Studio 2022.
|
||||
|
||||
[1]: https://developercommunity.visualstudio.com/t/cant-disable-diagnostics-hub-in-visual-stuido/1449322#T-N1449680 "Can't disable Diagnostics hub in visual stuido | Visual Studio Feedback"
|
||||
[2]: https://developercommunity.visualstudio.com/t/diagnostic-tool-no-registered-class/1099781#T-N1106849 "diagnostic tool No registered class | Visual Studio Feedback"
|
||||
[3]: https://stackoverflow.com/a/39380284 "c# - Visual Studio 2015 diagnostic tools no longer working | Stack Overflow"
|
||||
[4]: https://developercommunity.visualstudio.com/t/collectionstartfailedhubexception-on-profiler-laun/414212#T-N447791 "CollectionStartFailedHubException on profiler launch | Visual Studio Feedback"
|
||||
[5]: https://developercommunity.visualstudio.com/t/diagnostics-tools-failed-unexpectedly-unable-to-st/437117#T-N447777 "Diagnostics tools failed unexpectedly--unable to start standard collector | Visual Studio Feedback"
|
||||
code: |-
|
||||
reg delete "HKLM\Software\Microsoft\VisualStudio\DiagnosticsHub" /v "LogLevel" /f 2>nul
|
||||
revertCode: |-
|
||||
"C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -property catalog_productDisplayVersion >Nul | findstr "15." >nul && (
|
||||
reg add "HKLM\Software\Microsoft\VisualStudio\DiagnosticsHub" /v "LogLevel" /t REG_SZ /d "All" /f
|
||||
)
|
||||
-
|
||||
name: Opt-out from IntelliCode data collection
|
||||
recommend: standard
|
||||
docs: |-
|
||||
[IntelliCode for Visual Studio](https://learn.microsoft.com/en-us/visualstudio/intellicode/intellicode-visual-studio) provides AI based
|
||||
suggestions for the code.
|
||||
|
||||
IntelliCode does not send any code to Microsoft servers as long as team completion model training is not used [1] [2]. This script opts-out
|
||||
from it without breaking the functionality of IntelliCode for local models.
|
||||
|
||||
The registry keys set by this script do not exist by default after installation since Visual Studio 2022.
|
||||
|
||||
[1]: https://docs.microsoft.com/en-us/visualstudio/intellicode/intellicode-privacy "IntelliCode privacy - Visual Studio IntelliCode | Microsoft Learn"
|
||||
[2]: https://github.com/MicrosoftDocs/intellicode/blob/50ea60c91a7175e749ed5e094403568a583a292e/docs/intellicode-privacy.md
|
||||
code: |-
|
||||
:: Global policy
|
||||
reg add "HKLM\SOFTWARE\Policies\Microsoft\VisualStudio\IntelliCode" /v "DisableRemoteAnalysis" /d 1 /f
|
||||
:: Local policy
|
||||
reg add "HKCU\SOFTWARE\Microsoft\VSCommon\16.0\IntelliCode" /v "DisableRemoteAnalysis" /d 1 /f
|
||||
reg add "HKCU\SOFTWARE\Microsoft\VSCommon\17.0\IntelliCode" /v "DisableRemoteAnalysis" /d 1 /f
|
||||
revertCode: |-
|
||||
:: Global policy
|
||||
reg delete "HKLM\SOFTWARE\Policies\Microsoft\VisualStudio\IntelliCode" /v "DisableRemoteAnalysis" /f 2>nul
|
||||
:: Local policy
|
||||
reg delete "HKCU\SOFTWARE\Microsoft\VSCommon\16.0\IntelliCode" /v "DisableRemoteAnalysis" /f 2>nul
|
||||
reg delete "HKCU\SOFTWARE\Microsoft\VSCommon\17.0\IntelliCode" /v "DisableRemoteAnalysis" /f 2>nul
|
||||
-
|
||||
name: Disable NET Core CLI telemetry
|
||||
recommend: standard
|
||||
|
||||
Reference in New Issue
Block a user