reg add “HKEY_CURRENT_USER\Software\Policies\Microsoft\Control Panel\International” /v “PreventUserOverrides” /t reg_dword /d 0 /f /reg:64
Firefox Browser – 72.0.2
Description
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, Mozilla Corporation. more…
Download
New Firefox is available here:
https://ftp.mozilla.org/pub/firefox/releases/72.0.2/win64/en-US/ all
Size
48.6 MB
Silent Install
setup.exe -ms
or
chocolatey: choco install firefox -y
Install Location (10 Folders, 93 Files, 191 MB on disk)
C:\Program Files\Mozilla Firefox
view contents: installed files more info
C:\Program Files\Mozilla Firefox\firefox.exe version: 72.0.2.7321
Silent Uninstall
“C:\Program Files\Mozilla Firefox\uninstall\helper.exe” /s
or
chocolatey: choco uninstall firefox -y
Registry
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox 72.0.2 (x64 en-US)
Notes
Version 72.0.2, first offered to Release channel users on January 20, 2020
MSI Setup File
MSI Property Table
MSI CustomAction Table
RunInstallNoDir
/S /TaskbarShortcut=[TASKBAR_SHORTCUT] /DesktopShortcut=[DESKTOP_SHORTCUT] /StartMenuShortcut=[START_MENU_SHORTCUT] /MaintenanceService=[INSTALL_MAINTENANCE_SERVICE] /RemoveDistributionDir=[REMOVE_DISTRIBUTION_DIR] /PreventRebootRequired=[PREVENT_REBOOT_REQUIRED] /OptionalExtensions=[OPTIONAL_EXTENSIONS] /LaunchedFromMSI
RunInstallDirPath
/S /InstallDirectoryPath=[INSTALL_DIRECTORY_PATH] /TaskbarShortcut=[TASKBAR_SHORTCUT] /DesktopShortcut=[DESKTOP_SHORTCUT] /StartMenuShortcut=[START_MENU_SHORTCUT] /MaintenanceService=[INSTALL_MAINTENANCE_SERVICE] /RemoveDistributionDir=[REMOVE_DISTRIBUTION_DIR] /PreventRebootRequired=[PREVENT_REBOOT_REQUIRED] /OptionalExtensions=[OPTIONAL_EXTENSIONS] /LaunchedFromMSI
RunInstallDirName
/S /InstallDirectoryName=[INSTALL_DIRECTORY_NAME] /TaskbarShortcut=[TASKBAR_SHORTCUT] /DesktopShortcut=[DESKTOP_SHORTCUT] /StartMenuShortcut=[START_MENU_SHORTCUT] /MaintenanceService=[INSTALL_MAINTENANCE_SERVICE] /RemoveDistributionDir=[REMOVE_DISTRIBUTION_DIR] /PreventRebootRequired=[PREVENT_REBOOT_REQUIRED] /OptionalExtensions=[OPTIONAL_EXTENSIONS] /LaunchedFromMSI
RunExtractOnly
/ExtractDir=[EXTRACT_DIR]
tags: Firefox scripting, Firefox development, MrNetTek
Google Chrome Browser – 79.0.3945.130
Description
Google Chrome is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, and was later ported to Linux, macOS, iOS, and Android. The browser is also the main component of Chrome OS, where it serves as the platform for web apps. more…
Download
New Chrome browser is available here:
https://enterprise.google.com/intl/en_version/chrome/chrome-browser/ mirror
Size
58 MB
Silent Install
setup.msi /quiet /norestart
or
chocolatey: choco install googlechrome -y
Install Location (10 Folders, 99 Files, 448 MB on disk)
C:\Program Files (x86)\Google\Chrome\Application\79.0.3945.130
view contents: installed files more info
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe version: 79.0.3945.130
Silent Uninstall
msiexec /x{0F488B35-59E5-3DA0-80FA-55F3BE746A68} /qn /norestart
or
“C:\Program Files (x86)\Google\Chrome\Application\79.0.3945.130\Installer\setup.exe” –uninstall –multi-install –chrome –system-level –force-uninstall
or
chocolatey: choco uninstall googlechrome -y
App GUID
{0F488B35-59E5-3DA0-80FA-55F3BE746A68}
Registry
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{0F488B35-59E5-3DA0-80FA-55F3BE746A68}
MSI Property Table
MSI CustomAction Table
MSI InstallExecuteSequence Table
Notes
tags: Chrome development, Chrome scripting, Chrome automation, MrNetTek
Azure – PowerShell – Update Device Registered User
# MrNetTek # eddiejackson.net/blog # 1/17/2020 # free for public use # free to claim as your own clear-host $user = 'username@domain.com' $computer = 'computername' $userSearch = $user.SubString(0,1) $newUser = Get-AzureADUser -SearchString $userSearch | where { $_.UserPrincipalName -eq $user } | Select -ExpandProperty ObjectId $device = Get-AzureADDevice | where { $_.DisplayName -eq $computer } $oldOwner = (Get-AzureADDeviceRegisteredOwner -ObjectId $device.ObjectId).ObjectId Add-AzureADDeviceRegisteredOwner -ObjectId $device.ObjectId -RefObjectId $newUser Remove-AzureADDeviceRegisteredOwner -ObjectId $device.ObjectId -RefObjectId $oldOwner Get-AzureADDeviceRegisteredOwner -ObjectId $device.ObjectId
Notes
Get-AzureADUser
Get-AzureADDevice
Get-AzureADDeviceRegisteredOwner
Add-AzureADDeviceRegisteredOwner
Remove-AzureADDeviceRegisteredOwner
Get-AzureADDeviceRegisteredOwner
Substring method
tags: PowerShell, Azure registered user, change registered user in Azure Intune, MrNetTek
Windows Terminal – 0.8.10091.0 (Preview)
Description
Windows Terminal is a terminal emulator for Windows 10 written by Microsoft. It includes support for the Command Prompt, PowerShell, WSL and SSH. It’s basically like having all your command shells at your disposal, when you want them, all in one tidy interface. Once you start using it, you won’t want to use individual shells anymore. more…
Download
http://eddiejackson.net/apps/windowsterminal/
Screenshot
Video Blip
Notes
In order to install Windows Terminal, you’ll need to be running Windows 10 1903 (build 18362) or higher.
Windows Terminal Documentation
Windows Terminal Getting Started
https://github.com/microsoft/terminal/
https://github.com/microsoft/terminal/releases
C++ Runtime v14 framework package for Desktop Bridge (Terminal needs this)
Ignite 2019
Trick out the Windows Terminal
tags: Windows Terminal, the new terminal, MrNetTek
Java Client – 8 Update 241
Description
Java technology allows you to work and play in a secure computing environment. Upgrading to the latest Java version improves the security of your system, as older versions do not include the latest security updates.
Java allows you to play online games, chat with people around the world, calculate your mortgage interest, and view images in 3D, just to name a few.
Download
The latest Java Client (Java SE Runtime Environment) is available here:
https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
Silent Install
JavaDownload.exe INSTALL_SILENT=1 STATIC=0 AUTO_UPDATE=0 WEB_JAVA=1 WEB_JAVA_SECURITY_LEVEL=H WEB_ANALYTICS=0 EULA=0 REBOOT=0
64 Bit
Version
1.8.2410.7
Size
73.2 MB
Registry
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F64180241F0}
Uninstall
msiexec /x{26A24AE4-039D-4CA4-87B4-2F64180241F0}
32 Bit
Version
1.8.2410.7
Size
65.3 MB
Registry
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F32180241F0}
Uninstall
msiexec /x{26A24AE4-039D-4CA4-87B4-2F32180241F0}
* notice the GUID formatting “32/64” “major version” “update version”
Notes
The MSIs for the Java Clients are located in the ‘C:\Windows\Installer’ folder.
– Windows Installer – Win32
tags: Java Client automation, Java Client scripting, Java MSI, Java Client MSI, MrNetTek
Firefox Browser – 72.0.1
Description
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, Mozilla Corporation. more…
Download
New Firefox is available here:
https://ftp.mozilla.org/pub/firefox/releases/72.0.1/win64/en-US/ all
Size
48.5 MB
Silent Install
setup.exe -ms
or
chocolatey: choco install firefox -y
Install Location (9 Folders, 89 Files, 187 MB on disk)
C:\Program Files\Mozilla Firefox
view contents: installed files more info
C:\Program Files\Mozilla Firefox\firefox.exe version: 72.0.1.7311
Silent Uninstall
“C:\Program Files\Mozilla Firefox\uninstall\helper.exe” /s
or
chocolatey: choco uninstall firefox -y
Registry
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox 72.0.1 (x64 en-US)
Notes
Version 72.0.1, first offered to Release channel users on January 8, 2020
MSI Property Table
MSI CustomAction Table
RunInstallNoDir
/S /TaskbarShortcut=[TASKBAR_SHORTCUT] /DesktopShortcut=[DESKTOP_SHORTCUT] /StartMenuShortcut=[START_MENU_SHORTCUT] /MaintenanceService=[INSTALL_MAINTENANCE_SERVICE] /RemoveDistributionDir=[REMOVE_DISTRIBUTION_DIR] /PreventRebootRequired=[PREVENT_REBOOT_REQUIRED] /OptionalExtensions=[OPTIONAL_EXTENSIONS] /LaunchedFromMSI
RunInstallDirPath
/S /InstallDirectoryPath=[INSTALL_DIRECTORY_PATH] /TaskbarShortcut=[TASKBAR_SHORTCUT] /DesktopShortcut=[DESKTOP_SHORTCUT] /StartMenuShortcut=[START_MENU_SHORTCUT] /MaintenanceService=[INSTALL_MAINTENANCE_SERVICE] /RemoveDistributionDir=[REMOVE_DISTRIBUTION_DIR] /PreventRebootRequired=[PREVENT_REBOOT_REQUIRED] /OptionalExtensions=[OPTIONAL_EXTENSIONS] /LaunchedFromMSI
RunInstallDirName
/S /InstallDirectoryName=[INSTALL_DIRECTORY_NAME] /TaskbarShortcut=[TASKBAR_SHORTCUT] /DesktopShortcut=[DESKTOP_SHORTCUT] /StartMenuShortcut=[START_MENU_SHORTCUT] /MaintenanceService=[INSTALL_MAINTENANCE_SERVICE] /RemoveDistributionDir=[REMOVE_DISTRIBUTION_DIR] /PreventRebootRequired=[PREVENT_REBOOT_REQUIRED] /OptionalExtensions=[OPTIONAL_EXTENSIONS] /LaunchedFromMSI
RunExtractOnly
/ExtractDir=[EXTRACT_DIR]
tags: Firefox scripting, Firefox development, MrNetTek
SCCM – Deploy Firefox as Application, 0x87D00324(-2016410844)
Deploying the Firefox browser using SCCM is easy, but it isn’t without its caveats. I ran into one snag, and I thought I’d detail the fix.
Walk-through
First, before you begin in the Configuration Manager console, copy the Firefox MSI to your file repository. In the example below, it is \\sccm\Mozilla\app\Firefox_72.0\
Now, in the Configuration Manager console, navigate to the Software Library node > Overview > Application Management > Applications
Right-click on Applications > click Create Application:
Browse to the UNC of the MSI > select the Firefox MSI:
Review the information:
Update the application settings to reflect the following config:
Confirm all settings are correct:
The app will be created in SCCM:
If you would like a customized app icon, select the properties of the application in the top panel > click the Software Center tab > click the Browse button > navigate to and select the custom icon:*Normally, I copy a 512×512 icon into the same folder as the MSI, and then navigate to that location under the Software Center tab.
The icon will change from the default, to your custom icon > click OK to save:
At this point, you could just Distribute Content and Deploy the application to selected collections. However —when I did that with the Firefox MSI, specifically— I got an error in the Software Center Portal, error 0x87D00324:
This happens due to the Detection Method of the application not working with the Windows Installer settings. The solution to is to change the Detection Rule presence from Windows Installer, to File System.
To make the change, in the bottom panel, click the Deployment Types tab > right-click on the name and click Properties:
Click the Detection Method tab > click the Edit Clause button:
Modify the Detection Rule settings to match this config:
Click OK > OK to save.
Now, Distribute Content > Deploy to selected collections.
Verify on client machine. No more 0x87D00324(-2016410844) error. Great success!
tags: SCCM 0x87D00324, SCCM error 0x87D00324, SCCM Firefox Deployment, MrNetTek
Google Chrome Browser – 79.0.3945.117
Description
Google Chrome is a cross-platform web browser developed by Google. It was first released in 2008 for Microsoft Windows, and was later ported to Linux, macOS, iOS, and Android. The browser is also the main component of Chrome OS, where it serves as the platform for web apps. more…
Download
New Chrome browser is available here:
https://enterprise.google.com/intl/en_version/chrome/chrome-browser/ mirror
Size
58 MB
Silent Install
setup.msi /quiet /norestart
or
chocolatey: choco install googlechrome -y
Install Location (10 Folders, 100 Files, 448 MB on disk)
C:\Program Files (x86)\Google\Chrome\Application\79.0.3945.117
view contents: installed files more info
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe version: 79.0.3945.117
Silent Uninstall
msiexec /x{B0ADCD48-32BE-3E01-89F3-CA3224594A8B} /qn /norestart
or
“C:\Program Files (x86)\Google\Chrome\Application\79.0.3945.117\Installer\setup.exe” –uninstall –multi-install –chrome –system-level –force-uninstall
or
chocolatey: choco uninstall googlechrome -y
App GUID
{B0ADCD48-32BE-3E01-89F3-CA3224594A8B}
Registry
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{B0ADCD48-32BE-3E01-89F3-CA3224594A8B}
MSI Property Table
MSI CustomAction Table
MSI InstallExecuteSequence Table
Notes
tags: Chrome development, Chrome scripting, Chrome automation, MrNetTek
C# – Compare List1 with List2, Return Differences
Text file saved as list1.txt:
alpha
bravo
charlie
delta
echo
foxtrot
golf
hotel
india
juliet
kilo
lima
mike
november
oscar
papa
quebec
romeo
sierra
tango
uniform
victor
whiskey
x-ray
yankee
zulu
Text file saved as list2.txt:
alpha
bravo
charlie
delta
echo
foxtrot
golf
hotel
india
juliet
kilo
lima
mike
november
oscar
papa
romeo
sierra
tango
uniform
victor
whiskey
x-ray
yankee
zulu
Code
* tested in Visual Studio 2019
// MrNetTek // eddiejackson.net/blog // 1/8/2020 // free for public use // free to claim as your own using System; // Console using System.Collections.Generic; // IEnumerable using System.Linq; // IEnumerable namespace CompareTwoLists { class CompareTwoLists { static void Main() { // instantiate data sources string[] list1 = System.IO.File.ReadAllLines(@"C:\csharp\compare_lists\list1.txt"); string[] list2 = System.IO.File.ReadAllLines(@"C:\csharp\compare_lists\list2.txt"); // create the search query IEnumerable<string> differenceQuery = list1.Except(list2); // run the search query Console.WriteLine("In list1, but not list2:"); foreach (string s in differenceQuery) // return differences Console.WriteLine(s); Console.WriteLine("\nPress any key to continue..."); Console.ReadKey(); Environment.Exit(0); } } }
Output
In list1, but not list2:
quebec
Press any key to continue…
Notes
tags: C# Lists, C# Comparison, MrNetTek
Firefox Browser – 72.0
Description
Mozilla Firefox, or simply Firefox, is a free and open-source web browser developed by the Mozilla Foundation and its subsidiary, Mozilla Corporation. more…
Download
New Firefox is available here:
https://ftp.mozilla.org/pub/firefox/releases/72.0/win64/en-US/ all
Size
48.5 MB
Silent Install
setup.exe -ms
or
chocolatey: choco install firefox -y
Install Location (10 Folders, 104 Files, 363 MB on disk)
C:\Program Files\Mozilla Firefox
view contents: installed files more info
Silent Uninstall
“C:\Program Files\Mozilla Firefox\uninstall\helper.exe” /s
or
chocolatey: choco uninstall firefox -y
Registry
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox 72.0 (x64 en-US)
Notes
Version 72.0, first offered to Release channel users on January 6, 2020
MSI Property Table
MSI CustomAction Table
RunInstallNoDir
/S /TaskbarShortcut=[TASKBAR_SHORTCUT] /DesktopShortcut=[DESKTOP_SHORTCUT] /StartMenuShortcut=[START_MENU_SHORTCUT] /MaintenanceService=[INSTALL_MAINTENANCE_SERVICE] /RemoveDistributionDir=[REMOVE_DISTRIBUTION_DIR] /PreventRebootRequired=[PREVENT_REBOOT_REQUIRED] /OptionalExtensions=[OPTIONAL_EXTENSIONS] /LaunchedFromMSI
RunInstallDirPath
/S /InstallDirectoryPath=[INSTALL_DIRECTORY_PATH] /TaskbarShortcut=[TASKBAR_SHORTCUT] /DesktopShortcut=[DESKTOP_SHORTCUT] /StartMenuShortcut=[START_MENU_SHORTCUT] /MaintenanceService=[INSTALL_MAINTENANCE_SERVICE] /RemoveDistributionDir=[REMOVE_DISTRIBUTION_DIR] /PreventRebootRequired=[PREVENT_REBOOT_REQUIRED] /OptionalExtensions=[OPTIONAL_EXTENSIONS] /LaunchedFromMSI
RunInstallDirName
/S /InstallDirectoryName=[INSTALL_DIRECTORY_NAME] /TaskbarShortcut=[TASKBAR_SHORTCUT] /DesktopShortcut=[DESKTOP_SHORTCUT] /StartMenuShortcut=[START_MENU_SHORTCUT] /MaintenanceService=[INSTALL_MAINTENANCE_SERVICE] /RemoveDistributionDir=[REMOVE_DISTRIBUTION_DIR] /PreventRebootRequired=[PREVENT_REBOOT_REQUIRED] /OptionalExtensions=[OPTIONAL_EXTENSIONS] /LaunchedFromMSI
RunExtractOnly
/ExtractDir=[EXTRACT_DIR]
tags: Firefox scripting, Firefox development, MrNetTek
C# – Search Unsorted Array for Value (Linear Search)
Linear Search
Perform a linear search with the following time and space complexity:
Time Complexity: O(n)
Space Complexity: O(1)
Code
// MrNetTek // eddiejackson.net/blog // 1/5/2020 // free for public use // free to claim as your own using System; namespace SearchUnsortedArray { class Program { static void Main() { // the array with values int[] array1 = { 4, 6, 1, 5, 8, 7, 3, 2, 6, 2, 7, 4, 0, 5}; // dynamic length of array int a = array1.Length; // value to search for int b = 9; // search array bool retBool = UnsortedInput(array1, a, b); // does value exist in array? Console.WriteLine(retBool); Console.ReadKey(); // clear session Array.Clear(array1, 0, array1.Length); } static public bool UnsortedInput(int[] arrInput, int arrSize, int searchValue) { for (int i = 0; i < arrSize; i++) { if (searchValue == arrInput[i]) { return true; } } return false; } } }
Output
False
Notes
8 time complexities that every programmer should know
tags: Search CSharp Arrays, Search C#, MrNetTek