Here's a fun one to include in your batch files or what-have-you. Spoiler: Change the window paramaters Code: // 2>nul||@goto :batch /* :batch @echo off setlocal del /q /f "%~n0.exe" >nul 2>nul :: find csc.exe set "csc=" for /r "%SystemRoot%\Microsoft.NET\Framework\" %%# in ("*csc.exe") do set "csc=%%#" if not exist "%csc%" ( echo no .net framework installed exit /b 10 ) if not exist "%~n0.exe" ( call %csc% /nologo /warn:0 /out:"%~n0.exe" "%~dpsfnx0" || ( exit /b %errorlevel% ) ) %~n0.exe %* endlocal & exit /b %errorlevel% */ using System; using System.Runtime.InteropServices; using System.Diagnostics; using System.Collections.Generic; class HadlerWrapper { public System.IntPtr handler; public HadlerWrapper(System.IntPtr handler) { this.handler = handler; } } public class ScreenCapture { static Int32 mode = 1; static Dictionary < String, Int32 > modes = new Dictionary < String, Int32 > (); static String title = null; static Int32 pid = -1; [DllImport("user32.dll")] private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); public static void Main(String[] args) { modes.Add("hidden", 0); modes.Add("normal", 1); modes.Add("minimized", 2); modes.Add("maximized", 3); modes.Add("force_minimized", 11); modes.Add("maximize_next", 6); modes.Add("restore", 9); modes.Add("show", 5); modes.Add("show_default", 10); modes.Add("no_active_minimized", 7); modes.Add("no_active_show", 8); modes.Add("no_active_normal", 4); parseArgs(); if (!string.IsNullOrEmpty(title)) { HadlerWrapper hw = windowByString(title); if (hw != null) { ShowWindowAsync(hw.handler, mode); } else { Console.WriteLine("Cannot find a window with title [" + title + "]"); Environment.Exit(6); } } else if (pid != -1) { HadlerWrapper hw = windowByPID(pid); if (hw != null) { ShowWindowAsync(hw.handler, mode); } else { Console.WriteLine("Cannot find a window with pid [" + pid + "]"); Environment.Exit(7); } } else { Console.WriteLine("Neither process id not title were passed to the script"); printHelp(); Environment.Exit(8); } } static HadlerWrapper windowByString(String title) { Process[] processlist = Process.GetProcesses(); foreach(Process process in processlist) { if (process.MainWindowTitle != null) { if (process.MainWindowTitle.Equals(title)) { return new HadlerWrapper(process.MainWindowHandle); } } } foreach(Process process in processlist) { if (!String.IsNullOrEmpty(process.MainWindowTitle)) { if (process.MainWindowTitle.StartsWith(title)) { return new HadlerWrapper(process.MainWindowHandle); } } } return null; } static HadlerWrapper windowByPID(Int32 pid) { Process[] processlist = Process.GetProcesses(); foreach(Process process in processlist) { if (process.MainWindowHandle!= null) { if (process.Id == pid) { Console.WriteLine("process found with pid:" + pid); return new HadlerWrapper(process.MainWindowHandle); } } else { Console.WriteLine("main window handle is null for pid:" + pid); } } return null; } static void parseArgs() { String[] args = Environment.GetCommandLineArgs(); if (args.Length == 1) { printHelp(); Environment.Exit(0); } if (args.Length % 2 == 0) { Console.WriteLine("Wrong arguments"); Environment.Exit(1); } for (int i = 1; i < args.Length - 1; i = i + 2) { switch (args[i].ToLower()) { case "-help": case "-h": case "/h": case "/help": case "/?": printHelp(); Environment.Exit(5); break; case "-pid": if (int.TryParse(args[i + 1], out pid)) {} else { Console.WriteLine("Process id should be a number"); Environment.Exit(2); } break; case "-title": title = args[i + 1]; break; case "-mode": if (modes.TryGetValue(args[i + 1].ToLower(), out mode)) {} else { Console.WriteLine("Invalid mode passed: " + args[i + 1]); Environment.Exit(3); } break; default: Console.WriteLine("Wrong parameter " + args[i]); Environment.Exit(4); break; } } } public static void printHelp() { String script = Environment.GetCommandLineArgs()[0]; Console.WriteLine(script + " - changed the mode of a window by given process id or window title"); Console.WriteLine(""); Console.WriteLine("Usage:"); Console.WriteLine(""); Console.WriteLine(script + " {[-title \"Title\"]|[-pid PID_Number]} [-mode mode]"); Console.WriteLine(""); Console.WriteLine("Possible modes are hidden,normal,minimized,maximized,force_minimized,"); Console.WriteLine(" force_minimized,maximize_next,restore,show,show_default,no_active_minimized,"); Console.WriteLine(" no_active_show,no_active_normal."); Console.WriteLine("If both title and pid are passed only the title will be taken into account"); Console.WriteLine("If there's no title matching the given string a"); Console.WriteLine(" title starting with it will be searched for"); Console.WriteLine(""); Console.WriteLine("Examples:"); Console.WriteLine(""); Console.WriteLine(" " + script + " -title \"Untitled - Notepad\" -mode normal"); Console.WriteLine(" " + script + " -title \"Untitled\" -mode normal"); Console.WriteLine(" " + script + " -pid 1313 -mode normal"); } } This will generate a .exe file that you can simply call to mess with a window in the future. Or, you can have your batch delete the exe after it has been used. OR.......... Here is one such usage for a help file I made for Hashcat that needs a maximized window to read effectively. It creates windowMode.bat, runs it, uses the exe, then deletes both files. Spoiler: example Code: @echo off pushd "~dp0" title ~~~~~ HashCat Password Recovery ~~~~~ :hcb call:banner choice /T 5 /C yn /D n /N /M "Open help? [y/n]:" if '%errorlevel%' EQU '1' ( start cmd /k help.bat ........yes was pressed........ @echo off pushd "%cd%" title ~~~~~ Hashcat Help ~~~~~ call:windmode :setup ::(creates windowMode.exe, deletes bat/exe) call windowMode.bat -title "~~~~~ Hashcat Help ~~~~~" -mode maximized timeout 2 /nobreak > nul del windowMode.bat del windowMode.exe cls set help= goto start (rest of help file is here) :windmode ::(creates windowMode.bat) echo // 2^>nul^|^|@goto :batch >> windowMode.bat echo /* >> windowMode.bat echo :batch >> windowMode.bat echo @echo off >> windowMode.bat echo setlocal >> windowMode.bat echo del /q /f "%%~n0.exe" ^>nul 2^>nul >> windowMode.bat echo :: find csc.exe >> windowMode.bat echo set "csc=" >> windowMode.bat echo for /r "%%SystemRoot%%\Microsoft.NET\Framework\" %%%%# in ("*csc.exe") do set "csc=%%%%#" >> windowMode.bat echo. >> windowMode.bat echo if not exist "%%csc%%" ( >> windowMode.bat echo echo no .net framework installed >> windowMode.bat echo exit /b 10 >> windowMode.bat echo ) >> windowMode.bat echo. >> windowMode.bat echo if not exist "%%~n0.exe" ( >> windowMode.bat echo call %%csc%% /nologo /warn:0 /out:"%%~n0.exe" "%%~dpsfnx0" ^|^| ( >> windowMode.bat echo exit /b %%errorlevel%% >> windowMode.bat echo ) >> windowMode.bat echo ) >> windowMode.bat echo %%~n0.exe %%* >> windowMode.bat echo endlocal ^& exit /b %%errorlevel%% >> windowMode.bat echo. >> windowMode.bat echo */ >> windowMode.bat echo. >> windowMode.bat echo. >> windowMode.bat echo using System; >> windowMode.bat echo using System.Runtime.InteropServices; >> windowMode.bat echo using System.Diagnostics; >> windowMode.bat echo using System.Collections.Generic; >> windowMode.bat echo. >> windowMode.bat echo class HadlerWrapper { >> windowMode.bat echo public System.IntPtr handler; >> windowMode.bat echo. >> windowMode.bat echo public HadlerWrapper(System.IntPtr handler) { >> windowMode.bat echo this.handler = handler; >> windowMode.bat echo } >> windowMode.bat echo } >> windowMode.bat echo. >> windowMode.bat echo public class ScreenCapture { >> windowMode.bat echo. >> windowMode.bat echo static Int32 mode = 1; >> windowMode.bat echo static Dictionary ^< String, Int32 ^> modes = new Dictionary ^< String, Int32 ^> (); >> windowMode.bat echo. >> windowMode.bat echo static String title = null; >> windowMode.bat echo static Int32 pid = -1; >> windowMode.bat echo. >> windowMode.bat echo. >> windowMode.bat echo. >> windowMode.bat echo. >> windowMode.bat echo. >> windowMode.bat echo [DllImport("user32.dll")] >> windowMode.bat echo private static extern bool ShowWindowAsync(IntPtr hWnd, int nCmdShow); >> windowMode.bat echo. >> windowMode.bat echo. >> windowMode.bat echo public static void Main(String[] args) { >> windowMode.bat echo. >> windowMode.bat echo modes.Add("hidden", 0); >> windowMode.bat echo modes.Add("normal", 1); >> windowMode.bat echo modes.Add("minimized", 2); >> windowMode.bat echo modes.Add("maximized", 3); >> windowMode.bat echo modes.Add("force_minimized", 11); >> windowMode.bat echo modes.Add("maximize_next", 6); >> windowMode.bat echo modes.Add("restore", 9); >> windowMode.bat echo modes.Add("show", 5); >> windowMode.bat echo modes.Add("show_default", 10); >> windowMode.bat echo modes.Add("no_active_minimized", 7); >> windowMode.bat echo modes.Add("no_active_show", 8); >> windowMode.bat echo modes.Add("no_active_normal", 4); >> windowMode.bat echo. >> windowMode.bat echo. >> windowMode.bat echo parseArgs(); >> windowMode.bat echo. >> windowMode.bat echo if (!string.IsNullOrEmpty(title)) { >> windowMode.bat echo HadlerWrapper hw = windowByString(title); >> windowMode.bat echo if (hw != null) { >> windowMode.bat echo ShowWindowAsync(hw.handler, mode); >> windowMode.bat echo } else { >> windowMode.bat echo Console.WriteLine("Cannot find a window with title [" + title + "]"); >> windowMode.bat echo Environment.Exit(6); >> windowMode.bat echo } >> windowMode.bat echo } else if (pid != -1) { >> windowMode.bat echo HadlerWrapper hw = windowByPID(pid); >> windowMode.bat echo if (hw != null) { >> windowMode.bat echo ShowWindowAsync(hw.handler, mode); >> windowMode.bat echo } else { >> windowMode.bat echo Console.WriteLine("Cannot find a window with pid [" + pid + "]"); >> windowMode.bat echo Environment.Exit(7); >> windowMode.bat echo } >> windowMode.bat echo } else { >> windowMode.bat echo Console.WriteLine("Neither process id not title were passed to the script"); >> windowMode.bat echo printHelp(); >> windowMode.bat echo Environment.Exit(8); >> windowMode.bat echo } >> windowMode.bat echo. >> windowMode.bat echo } >> windowMode.bat echo. >> windowMode.bat echo static HadlerWrapper windowByString(String title) { >> windowMode.bat echo Process[] processlist = Process.GetProcesses(); >> windowMode.bat echo foreach(Process process in processlist) { >> windowMode.bat echo if (process.MainWindowTitle != null) { >> windowMode.bat echo if (process.MainWindowTitle.Equals(title)) { >> windowMode.bat echo return new HadlerWrapper(process.MainWindowHandle); >> windowMode.bat echo } >> windowMode.bat echo } >> windowMode.bat echo } >> windowMode.bat echo. >> windowMode.bat echo foreach(Process process in processlist) { >> windowMode.bat echo if (!String.IsNullOrEmpty(process.MainWindowTitle)) { >> windowMode.bat echo if (process.MainWindowTitle.StartsWith(title)) { >> windowMode.bat echo return new HadlerWrapper(process.MainWindowHandle); >> windowMode.bat echo } >> windowMode.bat echo } >> windowMode.bat echo } >> windowMode.bat echo. >> windowMode.bat echo return null; >> windowMode.bat echo } >> windowMode.bat echo. >> windowMode.bat echo static HadlerWrapper windowByPID(Int32 pid) { >> windowMode.bat echo Process[] processlist = Process.GetProcesses(); >> windowMode.bat echo foreach(Process process in processlist) { >> windowMode.bat echo if (process.MainWindowHandle!= null) { >> windowMode.bat echo if (process.Id == pid) { >> windowMode.bat echo Console.WriteLine("process found with pid:" + pid); >> windowMode.bat echo return new HadlerWrapper(process.MainWindowHandle); >> windowMode.bat echo } >> windowMode.bat echo } else { >> windowMode.bat echo Console.WriteLine("main window handle is null for pid:" + pid); >> windowMode.bat echo } >> windowMode.bat echo } >> windowMode.bat echo return null; >> windowMode.bat echo } >> windowMode.bat echo. >> windowMode.bat echo static void parseArgs() { >> windowMode.bat echo. >> windowMode.bat echo String[] args = Environment.GetCommandLineArgs(); >> windowMode.bat echo if (args.Length == 1) { >> windowMode.bat echo printHelp(); >> windowMode.bat echo Environment.Exit(0); >> windowMode.bat echo } >> windowMode.bat echo if (args.Length %% 2 == 0) { >> windowMode.bat echo Console.WriteLine("Wrong arguments"); >> windowMode.bat echo Environment.Exit(1); >> windowMode.bat echo } >> windowMode.bat echo for (int i = 1; i ^< args.Length - 1; i = i + 2) { >> windowMode.bat echo. >> windowMode.bat echo switch (args[i].ToLower()) { >> windowMode.bat echo case "-help": >> windowMode.bat echo case "-h": >> windowMode.bat echo case "/h": >> windowMode.bat echo case "/help": >> windowMode.bat echo case "/?": >> windowMode.bat echo printHelp(); >> windowMode.bat echo Environment.Exit(5); >> windowMode.bat echo break; >> windowMode.bat echo case "-pid": >> windowMode.bat echo if (int.TryParse(args[i + 1], out pid)) {} else { >> windowMode.bat echo Console.WriteLine("Process id should be a number"); >> windowMode.bat echo Environment.Exit(2); >> windowMode.bat echo } >> windowMode.bat echo break; >> windowMode.bat echo case "-title": >> windowMode.bat echo title = args[i + 1]; >> windowMode.bat echo break; >> windowMode.bat echo case "-mode": >> windowMode.bat echo if (modes.TryGetValue(args[i + 1].ToLower(), out mode)) {} else { >> windowMode.bat echo Console.WriteLine("Invalid mode passed: " + args[i + 1]); >> windowMode.bat echo Environment.Exit(3); >> windowMode.bat echo } >> windowMode.bat echo break; >> windowMode.bat echo default: >> windowMode.bat echo Console.WriteLine("Wrong parameter " + args[i]); >> windowMode.bat echo Environment.Exit(4); >> windowMode.bat echo break; >> windowMode.bat echo. >> windowMode.bat echo } >> windowMode.bat echo } >> windowMode.bat echo } >> windowMode.bat echo. >> windowMode.bat echo public static void printHelp() { >> windowMode.bat echo String script = Environment.GetCommandLineArgs()[0]; >> windowMode.bat echo Console.WriteLine(script + " - changed the mode of a window by given process id or window title"); >> windowMode.bat echo Console.WriteLine(""); >> windowMode.bat echo Console.WriteLine("Usage:"); >> windowMode.bat echo Console.WriteLine(""); >> windowMode.bat echo Console.WriteLine(script + " {[-title \"Title\"]^|[-pid PID_Number]} [-mode mode]"); >> windowMode.bat echo Console.WriteLine(""); >> windowMode.bat echo Console.WriteLine("Possible modes are hidden,normal,minimized,maximized,force_minimized,"); >> windowMode.bat echo Console.WriteLine(" force_minimized,maximize_next,restore,show,show_default,no_active_minimized,"); >> windowMode.bat echo Console.WriteLine(" no_active_show,no_active_normal."); >> windowMode.bat echo Console.WriteLine("If both title and pid are passed only the title will be taken into account"); >> windowMode.bat echo Console.WriteLine("If there's no title matching the given string a"); >> windowMode.bat echo Console.WriteLine(" title starting with it will be searched for"); >> windowMode.bat echo Console.WriteLine(""); >> windowMode.bat echo Console.WriteLine("Examples:"); >> windowMode.bat echo Console.WriteLine(""); >> windowMode.bat echo Console.WriteLine(" " + script + " -title \"Untitled - Notepad\" -mode normal"); >> windowMode.bat echo Console.WriteLine(" " + script + " -title \"Untitled\" -mode normal"); >> windowMode.bat echo Console.WriteLine(" " + script + " -pid 1313 -mode normal"); >> windowMode.bat echo. >> windowMode.bat echo } >> windowMode.bat echo. >> windowMode.bat echo } >> windowMode.bat goto setup goto:eof
How can I convert a *.zip or *.rar file to *.cab, I want to convert these files Microsoft-Windows-win32calc-Package-amd64-es-es.zip and Microsoft-Windows-win32calc-Package-wow64-es-es .zip, I have tried through the online website, it converts them but it gives me a reading error when I try to add them with NTlite to the ISO
Just wondered when reading this topic: Is there any working method of turning off the "less-than-helpful" Librabry icons in the file open/save dialogs? I gave up on Windows File Explorer (using XYPlorer instead, which actually lets you see a list of your files and lets you keep your settings), but the file dialogs still bother me.
I can also uninstall edge with WingetUI. Then again I set my region to Luxembourg to benefit from EU privacy and protection laws. But for those of you using it at times, or who keep it as a backup, here is a giant privacy registry file based off the Edge Enterprise .admx files. It might need some refinement but I just spent like 5 hours combing a massive list of settings made by people that don't know what a paragraph is. Spoiler: OnTheEdge.reg Code: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge] "AutofillAddressEnabled"=dword:00000000 "WebWidgetAllowed"=dword:00000000 "HubsSidebarEnabled"=dword:00000000 "ResolveNavigationErrorsUseWebService"=dword:00000000 "AlternateErrorPagesEnabled"=dword:00000000 "NetworkPredictionOptions"=dword:00000002 "EdgeEnhanceImagesEnabled"=dword:00000000 "EdgeFollowEnabled"=dword:00000000 "AutoImportAtFirstRun"=dword:00000004 "BlockThirdPartyCookies"=dword:00000001 "ImplicitSignInEnabled"=dword:00000000 "EdgeManagementEnabled"=dword:00000000 "MAMEnabled"=dword:00000000 "StartupBoostEnabled"=dword:00000000 "PerformanceDetectorEnabled"=dword:00000000 "NewTabPagePrerenderEnabled"=dword:00000000 "NewTabPageHideDefaultTopSites"=dword:00000001 "NewTabPageBingChatEnabled"=dword:00000001 "NewTabPageContentEnabled"=dword:00000000 "SmartScreenPuaEnabled"=dword:00000000 "SmartScreenDnsRequestsEnabled"=dword:00000000 "SmartScreenEnabled"=dword:00000000 "ExemptSmartScreenDownloadWarnings"="[{ \"file_extension\": \"msi\", \"domains\": [\"*\"] },{ \"file_extension\": \"exe\", \"domains\": [\"*\"] },{ \"file_extension\": \"sfx\", \"domains\": [\"*\"] },{ \"file_extension\": \"cab\", \"domains\": [\"*\"] },{ \"file_extension\": \"msu\", \"domains\": [\"*\"] }]" "LinkedAccountEnabled"=dword:00000000 "SpotlightExperiencesAndRecommendationsEnabled"=dword:00000000 "DefaultThirdPartyStoragePartitioningSetting"=dword:00000002 "DownloadRestrictions"=dword:00000000 "BrowserSignin"=dword:00000000 "SpeechRecognitionEnabled"=dword:00000000 "CopilotPageContext"=dword:00000000 "CopilotCDPPageContext"=dword:00000000 "Edge3PSerpTelemetryEnabled"=dword:00000000 "WindowOcclusionEnabled"=dword:00000001 "ShowMicrosoftRewards"=dword:00000000 "BuiltInDnsClientEnabled"=dword:00000000 "MediaRouterCastAllowAllIPs"=dword:00000000 "EdgeAssetDeliveryServiceEnabled"=dword:00000000 "ShowRecommendationsEnabled"=dword:00000000 "AdsSettingForIntrusiveAdsSites"=dword:00000002 "ImportOnEachLaunch"=dword:00000000 "AutoplayAllowed"=dword:00000000 "VideoCaptureAllowed"=dword:00000000 "AudioCaptureAllowed"=dword:00000000 "ScreenCaptureAllowed"=dword:00000000 "PersonalizationReportingEnabled"=dword:00000000 "BrowserNetworkTimeQueriesEnabled"=dword:00000000 "QuicAllowed"=dword:00000000 "RemoteDebuggingAllowed"=dword:00000000 "InternetExplorerModeEnableSavePageAs"=dword:00000001 "MSAWebSiteSSOUsingThisProfileAllowed"=dword:00000000 "InternetExplorerModeTabInEdgeModeAllowed"=dword:00000001 "LocalProvidersEnabled"=dword:00000001 "AllowSurfGame"=dword:00000000 "UserFeedbackAllowed"=dword:00000000 "SearchSuggestEnabled"=dword:00000000 "SitePerProcess"=dword:00000001 "ForceGoogleSafeSearch"=dword:00000000 "ForceBingSafeSearch"=dword:00000000 "EnhanceSecurityMode"=dword:00000002 "ForceYouTubeRestrict"=dword:00000000 "SyncDisabled"=dword:00000001 "ConfigureDoNotTrack"=dword:00000001 "AutomaticHttpsDefault"=dword:00000002 "SSLErrorOverrideAllowed"=dword:00000001 "ClickOnceEnabled"=dword:00000000 "SiteSafetyServicesEnabled"=dword:00000000 "PaymentMethodQueryEnabled"=dword:00000000 "AllowWebAuthnWithBrokenTlsCerts"=dword:00000000 "BingAdsSuppression"=dword:00000001 "ExperimentationAndConfigurationServiceControl"=dword:00000000 "BackgroundModeEnabled"=dword:00000000 "ConfigureShare"=dword:00000001 "IntensiveWakeUpThrottlingEnabled"=dword:00000001 "DefaultClipboardSetting"=dword:00000002 "DefaultSensorsSetting"=dword:00000002 "DeleteDataOnMigration"=dword:00000001 "TyposquattingCheckerEnabled"=dword:00000000 "EfficiencyMode"=dword:00000004 "PasswordMonitorAllowed"=dword:00000001 "PasswordProtectionWarningTrigger"=dword:00000000 "NativeMessagingUserLevelHosts"=dword:00000000 "KioskDeleteDownloadsOnExit"=dword:00000001 "AuthSchemes"="digest,negotiate" "GamerModeEnabled"=dword:00000001 "EnableMediaRouter"=dword:00000000 "ComposeInlineEnabled"=dword:00000000 "PromotionalTabsEnabled"=dword:00000000 "AddressBarMicrosoftSearchInBingProviderEnabled"=dword:00000000 "RendererAppContainerEnabled"=dword:00000001 "WebRtcRespectOsRoutingTableEnabled"=dword:00000001 "TabServicesEnabled"=dword:00000000 "NetworkServiceSandboxEnabled"=dword:00000001 "HideFirstRunExperience"=dword:00000001 "MicrosoftEdgeInsiderPromotionEnabled"=dword:00000000 "WebRtcLocalhostIpHandling"="disable_non_proxied_udp" "WebRtcUdpPortRange"="49152-65535" "DiagnosticData"=dword:00000000 "EdgeShoppingAssistantEnabled"=dword:00000000 "DiskCacheSize"=dword:20000000 "TotalMemoryLimitMb"=dword:00000400 "ShowDownloadsToolbarButton"=dword:00000001 "CustomHelpLink"="https://forums.mydigitallife.net/" "SuppressUnsupportedOSWarning"=dword:00000001 "TextPredictionEnabled"=dword:00000000 "UrlDiagnosticDataEnabled"=dword:00000000 "VisualSearchEnabled"=dword:00000000 "InAppSupportEnabled"=dword:00000000 "LocalBrowserDataShareEnabled"=dword:00000000 "AutofillCreditCardEnabled"=dword:00000000 "ConfigureFriendlyURLFormat"=dword:00000001 "TrackingPrevention"=dword:00000003 "SearchbarIsEnabledOnStartup"=dword:00000000 "GuidedSwitchEnabled"=dword:00000000 "AudioSandboxEnabled"=dword:00000001 "SleepingTabsTimeout"=dword:00000708 "SleepingTabsEnabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\EdgeUpdate] "ExperimentationAndConfigurationServiceControl"=dword:00000000 "AutoUpdateCheckPeriodMinutes"=dword:000013b0 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\Recommended] "SmartScreenEnabled"=dword:00000000 "SmartScreenPuaEnabled"=dword:00000000 "RestoreOnStartup"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\WebView2] "ExperimentationAndConfigurationServiceControl"=dword:00000000
i think it better to keep view, but, this lines. Code: $uninstallRegKey = $microsoft.OpenSubKey('Windows\CurrentVersion\Uninstall\Microsoft Edge') $uninstallString = $uninstallRegKey.GetValue('UninstallString') + ' --force-uninstall' i can also add uninstall registry key for VIEW, if this key found in uninstall
try install latest edge, from windows offical site and install latest updates and re-run it, should work fine
I tried to modify your script but without success. I will appreciate it very much. I want to get rid of Edge, Webview2 and Edge update. Before I used the Aveyo script but on 11 IoT LTSC, it no longer works.
i found the registry key, but .. without too much succecss. will keep try. Code: Set-Location "hklm:" $e_view = gi "HKLM:SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\Clients\{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}" -ErrorAction SilentlyContinue $u_view = $e_view.GetValue('SilentUninstall') + ' --force-uninstall' Start-Process cmd.exe "/c $u_view" -WindowStyle Hidden -Wait it also can be found here Code: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft EdgeWebView