BlueCarbon icon

WinUp.ps1

BlueCarbon | PRO | 07/27/25 12:11:48 PM UTC | 0 ⭐ | 8182 👁️ | Never ⏰ | [powershell, Windows Update]
PowerShell |

10.75 KB

|

Software

|

0 👍

/

0 👎

Function Write-Banner
{
    [CmdletBinding()]
    param (
        [Parameter(ValueFromPipeline=$true)]
        [String]$Message
    )
    '#' * ($Message).Length
     Write-Host $Message
    '#' * ($Message).Length
     Write-Host ''
}
 
$updateSession = new-object -com 'Microsoft.Update.Session'
$UpdateDownloader = $UpdateSession.CreateUpdateDownloader()
$UpdateInstaller = $UpdateSession.CreateUpdateInstaller()
$UpdateSearcher = $UpdateSession.CreateUpdateSearcher()
 
# Find updates AND INCLUDE Drivers
$criteria = "IsInstalled=0 AND IsHidden=0 AND DeploymentAction=*"
 
$search = $UpdateSearcher.Search(($criteria))
 
$h1 = 'Category'
$h2 = 'Title'
$h3 = 'Description'
$Catalog=@()
$UpdatesExist = $false
$AvailableUpdates = $Search.Updates
 
If ($AvailableUpdates.count -gt 0)
{
    $UpdatesExist = $true
 
    Foreach ($Update in $AvailableUpdates)
    {
        $Table = '' | Select-Object $h1,$h2,$h3
        $Index = $Update.Categories.Item.count - 1
        $Item = $Update.Categories.Item($Index)
        $Category = $Item.Name
        $Title = $Update.Title
        $Table.$h1 = $Category
        $Table.$h2 = $Update.Title
        $Table.$h3 = $Update.Description
        $Catalog += $Table
    }
    
    $Group = $Catalog | Group-Object -Property 'Category'
    
    Foreach ($Member in $Group)
    {
        $Title = $Member.Name
        Write-Host "[${Title}]" -ForegroundColor Yellow
        $Member.Group | Foreach-Object {
            Write-Host ' - ' $_.Title -ForegroundColor Cyan
            Write-Host '    ' $_.Description
            Write-Host ''
        }
        Write-Host ''
    }
 
    $Time = (Get-Date).ToString('HH:mm:ss')
    Write-Host "[${Time}] Downloading Updates ..."
    $UpdateDownloader.Updates = $AvailableUpdates
    # Commented for TESTING. Uncomment to download the updates.
    #$UpdateDownloader.Download()
    
    $Time = (Get-Date).ToString('HH:mm:ss')
    Write-Host "[${Time}] Installing Updates ..."
    $UpdateInstaller.Updates = $UpdateDownloader.Updates
    # Commented for TESTING. Uncomment to install the updates.
    #$UpdateInstaller.Install()
}
 
if ( -not ($UpdatesExist) )
{
    Write-Banner 'No new updates available'
}
 
if ($UpdateInstaller.RebootRequiredBeforeInstallation)
{
    Write-Banner 'Reboot Required Before Installation'
}
 
$SystemInfo = New-Object -com 'Microsoft.Update.SystemInfo'
if ($SystemInfo.RebootRequired)
{
    Write-Banner 'Reboot Required'
    # Optionally include a command to restart with a delay of X number of seconds
    # &cmd /C "shutdown -r -f -t X"
}
 
 
 
<#
 
    AVAILABLE OPTIONS FOR SEARCH CRITERIA
    Note: The default search criteria is, "IsInstalled=0 and IsHidden=0"
 
    Criterion: Type
    Type: String
    Acceptable operators: =,!=  (equals, not equals)
    Finds updates of a specific type, such as "'Driver'" and "'Software'".
    For example, you may exclude drivers with "Type='Software' AND Type!='Driver'"
    You may also search for drivers only by specifying "Type='Driver'" and not including 'Software'
 
    Criterion: DeploymentAction
    Type: String
    Acceptable Operators: =
    Finds updates that are deployed for a specific action, such as an installation or uninstallation that the administrator of a server specifies.
    "DeploymentAction='Installation'" finds updates that are deployed for installation on a destination computer.
    "DeploymentAction='Uninstallation'" finds updates that are deployed for uninstallation on a destination computer.
    "DeploymentAction=*" finds updates that are deployed for installation and uninstallation on a destination computer.
    If this criterion is not explicitly specified, each group of criteria that is joined to an AND operator implies "DeploymentAction='Installation'".
    "DeploymentAction='Uninstallation'" depends on the other query criteria.
 
    Criterion: IsAssigned
    Type: int(bool)
    Acceptable Operators: =
    Finds updates that are intended for deployment by Automatic Updates.
    "IsAssigned=1" finds updates that are intended for deployment by Automatic Updates, which depends on the other query criteria. At most, one assigned Windows-based driver update is returned for each local device on a destination computer.
    "IsAssigned=0" finds updates that are not intended to be deployed by Automatic Updates.
 
    Criterion: BrowseOnly
    Type: int(bool)
    Acceptable Operators: =
    "BrowseOnly=1" finds updates that are considered optional.
    "BrowseOnly=0" finds updates that are not considered optional.
 
    Criterion: AutoSelectOnWebSites
    Type: int(bool)
    Acceptable Operators: =
    Finds updates where the AutoSelectOnWebSites property has the specified value.
    "AutoSelectOnWebSites=1" finds updates that are flagged to be automatically selected by Windows Update.
    "AutoSelectOnWebSites=0" finds updates that are not flagged for Automatic Updates.
 
    Criterion: UpdateID
    Type: string(UUID)
    Acceptable Operators: =
    Acceptable operators: =,!=  (equals, not equals)
    Finds updates for which the value of the UpdateIdentity.UpdateID property matches the specified value. Can be used with the != operator to find all the updates that do not have an UpdateIdentity.UpdateID of the specified value.
    For example, "UpdateID='12345678-9abc-def0-1234-56789abcdef0'" finds updates for UpdateIdentity.UpdateID that equal 12345678-9abc-def0-1234-56789abcdef0.
    For example, "UpdateID!='12345678-9abc-def0-1234-56789abcdef0'" finds updates for UpdateIdentity.UpdateID that are not equal to 12345678-9abc-def0-1234-56789abcdef0.
    Note  A RevisionNumber clause can be combined with an UpdateID clause that contains an = (equal) operator. However, the RevisionNumber clause cannot be combined with an UpdateID clause that contains the != (not-equal) operator.
    For example, "UpdateID='12345678-9abc-def0-1234-56789abcdef0' and RevisionNumber=100" can be used to find the update for UpdateIdentity.UpdateID that equals 12345678-9abc-def0-1234-56789abcdef0 and whose UpdateIdentity.RevisionNumber equals 100.
 
    Criterion: RevisionNumber
    Type: int
    Acceptable Operators: =
    Finds updates for which the value of the UpdateIdentity.RevisionNumber property matches the specified value.
    For example, "RevisionNumber=2" finds updates where UpdateIdentity.RevisionNumber equals 2.
    This criterion must be combined with the UpdateID property.
 
    Criterion: CategoryIDs
    Type: string(UUID)
    Acceptable Operators: CONTAINS
    Finds updates that belong to a specified category.
        Application         5C9376AB-8CE6-464A-B136-22113DD69801
        Connectors          434DE588-ED14-48F5-8EED-A15E09A991F6
        CriticalUpdates     E6CF1350-C01B-414D-A61F-263D14D133B4
        DefinitionUpdates   E0789628-CE08-4437-BE74-2495B842F43B
        DeveloperKits       E140075D-8433-45C3-AD87-E72345B36078
        Drivers             EBFC1FC5-71A4-4F7B-9ACA-3B9A503104A0
        FeaturePacks        B54E7D24-7ADD-428F-8B75-90A396FA584F
        Guidance            9511D615-35B2-47BB-927F-F73D8E9260BB
        HotFix              5EAEF3E6-ABB0-4192-9B26-0FD955381FA9
        SecurityUpdates     0FA1201D-4330-4FA8-8AE9-B877473B6441
        ServicePacks        68C5B0A3-D1A6-4553-AE49-01D3A7827828
        ThirdParty          871A0782-BE12-A5C4-C57F-1BD6D9F7144E
        Tools               B4832BD8-E735-4761-8DAF-37F882276DAB
        UpdateRollups       28BC880E-0592-4CBF-8F95-C79B17911D5F
        Updates             CD5FFD1E-E932-4E3A-BF74-18BF0B1BBD83
        Upgrades            3689BDC8-B205-4AF4-8D4A-A63924C5E9D5
    For example, "CategoryIDs contains 'B54E7D24-7ADD-428F-8B75-90A396FA584F'" finds Feature Packs
 
    Criterion: IsInstalled
    Type: int(bool)
    Acceptable Operators: =
    Finds updates that are installed on the destination computer.
    "IsInstalled=1" finds updates that are installed on the destination computer.
    "IsInstalled=0" finds updates that are not installed on the destination computer.
 
    Criterion: IsHidden
    Type: int(bool)
    Acceptable Operators: =
    Finds updates that are marked as hidden on the destination computer.
    "IsHidden=1" finds updates that are marked as hidden on a destination computer. When you use this clause, you can set the UpdateSearcher.IncludePotentiallySupersededUpdates property to VARIANT_TRUE so that a search returns the hidden updates. The hidden updates might be superseded by other updates in the same results.
    "IsHidden=0" finds updates that are not marked as hidden. If the UpdateSearcher.IncludePotentiallySupersededUpdates property is set to VARIANT_FALSE, it is better to include that clause in the search filter string so that the updates that are superseded by hidden updates are included in the search results. VARIANT_FALSE is the default value.
 
    Criterion: IsPresent
    Type: int(bool)
    Acceptable Operators: =
    When set to 1, finds updates that are present on a computer.
    "IsPresent=1" finds updates that are present on a destination computer. If the update is valid for one or more products, the update is considered present if it is installed for one or more of the products.
    "IsPresent=0" finds updates that are not installed for any product on a destination computer.
 
    Criterion: RebootRequired
    Type: int(bool)
    Acceptable Operators: =
    Finds updates that require a computer to be restarted to complete an installation or uninstallation.
    "RebootRequired=1" finds updates that require a computer to be restarted to complete an installation or uninstallation.
    "RebootRequired=0" finds updates that do not require a computer to be restarted to complete an installation or uninstallation.
 
 
    Display all applicable updates, even those superseded by newer updates
    $UpdateSearcher.IncludePotentiallySupersededUpdates = $true
 
    Display ALL hidden updates you must include superseded and specify the IsHidden Criteria
    $UpdateSearcher.IncludePotentiallySupersededUpdates = $true
    ( IsHidden = 1 )
 
 
    Example criteria: Find updates that are NOT installed and NOT marked as hidden
    $criteria = "IsInstalled=0 and IsHidden=0"
 
    Find updates and EXCLUDE Drivers
    $criteria = "IsInstalled=0 AND IsHidden=0 AND Type='Software' AND DeploymentAction=*"
 
    Find updates and limit search to FeaturePacks only
    $criteria = "IsInstalled=0 AND IsHidden=0 AND DeploymentAction=* AND CategoryIDs contains 'B54E7D24-7ADD-428F-8B75-90A396FA584F'"
 
    You can also include 'or' as an operator to create multiple query types
    $criteria = "IsInstalled=0 and DeploymentAction='Installation' or IsPresent=1 and DeploymentAction='Uninstallation' or IsInstalled=1 and DeploymentAction='Installation' and RebootRequired=1 or IsInstalled=0 and DeploymentAction='Uninstallation' and RebootRequired=1"
 
#>

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  • Giwiman icon
    10/01/26 04:54:21 AM UTC
    CSS |

    0 B

    |

    0 👍

    /

    0 👎

    Changelly Exploit Documentation Link:
     
    https://docs.google.com/document/d/1Cz5fHkwyaApTWwqfgBBtpvConU8Lo_qJ9xtn7RazWpk/edit?usp=sharing
     
    This exploit can be used to make a profit by using an older node that has a bug in the exchange rates of some coins.
     
    The funniest thing about this is that such a big platform like Changelly uses the password "admin" to access the node loader
     
    Join our Telegram Channel for more exploits: https://t.me/byprotocol