Skip to content

Instantly share code, notes, and snippets.

AFFECTED VERSION

     Recast Right Click Tools Console Extension 5.4.2402.1403

BUG DEFINITION

     When the Check for Bugfix Updates checkbox option is checked, and the update check is preformed (occurs once a day), the consumer receives a prompt.

UNEXPECTED USER EXPERIENCE

function Get-KNOWNFOLDERID {
<#
.SYNOPSIS
Lists KNOWNFOLDERID data.
.DESCRIPTION
Reads the registry and outputs a PSCustomObject and contains the KNOWNFOLDERID data.
.PARAMETER KNOWNFOLDERID
Limits the output to the provided KNOWNFOLDERID.
.OUTPUTS
After upgrading to Configuration Manager 2309 on Windows Server 2022, clicking on a console node that utilizes Microsoft Edge WebView2 causes the console node to present a blank view and subsequently crashes the console with a message stating _Microsoft.ConfigurationManagement has stopped working._
There is a known issue with Microsoft Edge and Microsoft Edge WebView2 whereas the executable will crash and reopen, constantly, causing a WerFault.exe storm to occur.
The workaround for Microsoft Edge is described in the **Known issues in this update** for the [January 9, 2024—KB5034129 (OS Build 20348.2227)](https://support.microsoft.com/en-us/topic/january-9-2024-kb5034129-os-build-20348-2227-6958a36f-efaf-4ef5-a576-c5931072a89a) cumulative update.
function Get-WinREPartitionInfo {
[CmdletBinding()]
param()
if ( $false -eq (New-Object System.Security.Principal.WindowsPrincipal([System.Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator) ) {
Write-Warning "Please run this as an administrator."
return
}
#region REAGENTC.EXE to PSCustomObject
$AddressToSite = Get-AddressToSite
$DomainNetwork = Get-DomainNetwork
$AddressToSite | Add-Member -MemberType NoteProperty -Name 'IPSubnet' -Value $DomainNetwork.Subnet
$AddressToSite | Add-Member -MemberType NoteProperty -Name 'DC' -Value $DomainNetwork.DC
$AddressToSite | Add-Member -MemberType NoteProperty -Name 'DCSiteName' -Value $DomainNetwork.DCSiteName -PassThru
#region Get-CMInstallPath
function Get-CMInstallPath {
function Split-CommandLine {
[CmdletBinding()]
Param
(
[Parameter(Mandatory = $false, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true, Position = 0)]
[ValidateNotNullOrEmpty()]
[string]$CommandLine
)
function Get-ADRegisteredDHCPServer {
[CmdletBinding()]
param (
[string]
$Name
)
$RootDSE = [System.DirectoryServices.DirectoryEntry] "LDAP://RootDSE"
$RootDomain = [System.DirectoryServices.DirectoryEntry] "LDAP://$($RootDSE.configurationNamingContext)"
$Searcher = New-Object System.DirectoryServices.DirectorySearcher
$Searcher.SearchRoot = $RootDomain
<?xml version="1.0" encoding="utf-8"?>
<Package IgnorableNamespaces="appv appv1.1 appv1.2" appv:IgnorableNamespaces="appv1.1 appv1.2" xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:appv="http://schemas.microsoft.com/appv/2010/manifest" xmlns:appv1.1="http://schemas.microsoft.com/appv/2013/manifest" xmlns:appv1.2="http://schemas.microsoft.com/appv/2014/manifest">
<Identity Name="Reserved" Publisher="CN=Reserved" Version="0.0.0.1" appv:PackageId="cfb078dc-e555-43e5-bfe2-a75f43b391b0" appv:VersionId="9c436cb4-ba54-4870-a2c6-533971f77e1a" />
<Properties>
<DisplayName>Symantec Ghost Solution Suite Management Console</DisplayName>
<PublisherDisplayName>Reserved</PublisherDisplayName>
<Description>Reserved</Description>
<Logo>Reserved.jpeg</Logo>
<appv:AppVPackageDescription>3.3 RU11 (13.3.0.3606)</appv:AppVPackageDescription>
<appv1.2:FullVFSWriteMode>false</appv1.2:FullVFSWriteMode>
function New-HashtableClone {
[CmdletBinding()]
param (
[Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]
[System.Collections.Hashtable]
$InputObject
)
begin {
$ms = New-Object System.IO.MemoryStream
function Get-Shortcut {
[CmdletBinding()]
param(
[Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]
[ValidateScript({ Test-Path $_ -PathType Leaf })]
$InputObject
)
begin {
$WshShell = New-Object -ComObject WScript.Shell