1. sayfa (Toplam 1 sayfa)

Windows Masaüstü Sağ Menüsünden "Bit Eşlem Resminin" Kaldırılması

Gönderilme zamanı: 18 Ağu 2026, 08:09
gönderen TRWE_2012
Merhabalar

Sordum Net Makalesi :
Sağ tuş yeni menüsündeki Bit eşlem resmini kaldırın
Velociraptor | 16/08/2026 | Windows 11 | 6 yorum

https://www.sordum.net/81020/sag-tus-ye ... -kaldirin/

Burada anlatılanları adım adım yaptığımız da bizden 3-4 dk. kaybettirebiliyordu.Dedim ki kendi kendime neden bunu PowerSHELL ortamına havale etmiyorum. (betiksel otomasyon) Bu düşünceler içinde , bu anlatımı referans alarak aşağıdaki .ps1 betiğini kodsal tasarladım ve kendi sistemime birebir uyguladım,sonuç aşağıdaki gibidir.
Resim
Windows11 Home Single Yapı 24H2, R7019 x64 OS TR

KOD İÇERİĞİ ( Remove-BitmapFromNewMenu.ps1) :

Kod: Tümünü seç

<#
.SYNOPSIS
    Removes/clears the "New > Bitmap image" display string from the Windows 11
    right-click New menu (Turkish UI: "Bit eslem resmi"), which is regenerated
    by the Microsoft Paint MSIX package via the MrtCache resource cache.

.DESCRIPTION
    Manual removal via Regedit works (search HKCR\Local Settings\MrtCache for
    a string value equal to the localized "Bitmap image" label and blank it
    out), but the Paint app re-populates this cache whenever Microsoft Store
    updates the package (roughly every 10-20 days). This script automates the
    search-and-clear operation, backs up the affected registry branch first,
    logs every change, and can optionally schedule itself to run automatically
    every 2 weeks so the fix keeps reapplying without manual intervention.

.PARAMETER Force
    Skip the confirmation prompt before clearing matched values.

.PARAMETER Silent
    Skip the "restart Explorer now" prompt and restart it automatically.
    Intended for unattended runs (e.g. from Task Scheduler).

.PARAMETER Schedule
    Register a Scheduled Task that re-runs this script every 2 weeks with
    -Force -Silent, so the fix reapplies itself automatically over time.

.PARAMETER Unschedule
    Remove the Scheduled Task created by -Schedule.

.NOTES
    Target key : HKCU:\Software\Classes\Local Settings\MrtCache
    Scope      : Current user only, no administrator rights required.
    Effect     : Explorer restart is required to see the New menu change.

.EXAMPLE
    .\Remove-BitmapFromNewMenu.ps1
    Interactive run: scans, shows matches, asks before clearing and before
    restarting Explorer.

.EXAMPLE
    .\Remove-BitmapFromNewMenu.ps1 -Force -Silent -Schedule
    Clears matches immediately, restarts Explorer automatically, and installs
    a recurring scheduled task so this keeps happening every 2 weeks.
#>

[CmdletBinding()]
param(
    [switch]$Force,
    [switch]$Silent,
    [switch]$Schedule,
    [switch]$Unschedule
)

$ErrorActionPreference = "Stop"

$TaskName    = "RemoveBitmapFromNewMenu"
$ScriptPath  = $MyInvocation.MyCommand.Path
$LogDir      = Join-Path $env:USERPROFILE "Documents\BitmapNewMenuFix"
$LogFile     = Join-Path $LogDir "removal-log.txt"
$BackupDir   = Join-Path $LogDir "backups"
$MrtCacheKey = "HKCU:\Software\Classes\Local Settings\MrtCache"

function Write-Log {
    param([string]$Message)
    $line = "[{0}] {1}" -f (Get-Date -Format "yyyy-MM-dd HH:mm:ss"), $Message
    Write-Host $line
    Add-Content -Path $LogFile -Value $line
}

function Initialize-Environment {
    if (-not (Test-Path $LogDir))    { New-Item -ItemType Directory -Path $LogDir -Force | Out-Null }
    if (-not (Test-Path $BackupDir)) { New-Item -ItemType Directory -Path $BackupDir -Force | Out-Null }
}

function Backup-MrtCache {
    if (-not (Test-Path $MrtCacheKey)) {
        Write-Log "MrtCache key not found, nothing to back up."
        return $false
    }
    $stamp      = Get-Date -Format "yyyyMMdd_HHmmss"
    $backupFile = Join-Path $BackupDir "MrtCache_$stamp.reg"
    $regPath    = "HKEY_CURRENT_USER\Software\Classes\Local Settings\MrtCache"
    reg.exe export $regPath $backupFile /y | Out-Null
    Write-Log "Backup created: $backupFile"
    return $true
}

function Find-BitmapEntries {
    $results = @()
    if (-not (Test-Path $MrtCacheKey)) { return $results }

    Get-ChildItem -Path $MrtCacheKey -Recurse -ErrorAction SilentlyContinue | ForEach-Object {
        $key = $_.PSPath
        if ($key -notlike "*Paint*") { return }

        $props = Get-ItemProperty -Path $key -ErrorAction SilentlyContinue
        if (-not $props) { return }

        $props.PSObject.Properties |
            Where-Object { $_.Name -notmatch "^PS(Path|ParentPath|ChildName|Drive|Provider)$" } |
            ForEach-Object {
                # "?" matches exactly one character, avoids hardcoding the
                # Turkish "s with cedilla" letter in the source file.
                if ($_.Value -is [string] -and $_.Value -like "Bit e?lem resmi") {
                    $results += [PSCustomObject]@{
                        KeyPath   = $key
                        ValueName = $_.Name
                        OldValue  = $_.Value
                    }
                }
            }
    }
    return $results
}

function Clear-BitmapEntries {
    param([array]$Entries)
    foreach ($entry in $Entries) {
        Set-ItemProperty -Path $entry.KeyPath -Name $entry.ValueName -Value ""
        Write-Log ("Cleared value '{0}' (was: '{1}') under {2}" -f $entry.ValueName, $entry.OldValue, $entry.KeyPath)
    }
}

function Restart-Explorer {
    Write-Log "Restarting Explorer to apply the change..."
    Stop-Process -Name explorer -Force
    Start-Sleep -Seconds 2
    Start-Process explorer.exe
}

function Register-FixTask {
    $action = "-NoProfile -ExecutionPolicy Bypass -File `"$ScriptPath`" -Force -Silent"
    schtasks.exe /Create /TN $TaskName /TR "powershell.exe $action" /SC WEEKLY /MO 2 /ST 09:00 /RL LIMITED /F | Out-Null
    Write-Log "Scheduled task '$TaskName' registered (runs every 2 weeks)."
}

function Unregister-FixTask {
    schtasks.exe /Delete /TN $TaskName /F | Out-Null
    Write-Log "Scheduled task '$TaskName' removed."
}

# --- Main ---
Initialize-Environment

if ($Unschedule) {
    Unregister-FixTask
    Read-Host "`nPress ENTER to exit."
    exit
}

if ($Schedule) {
    Register-FixTask
}

Write-Log "Scanning MrtCache for bitmap entries..."
# @() forces array context so a single match does not get unrolled into a
# scalar object, which would make $found.Count report blank/null.
$found = @(Find-BitmapEntries)

if ($found.Count -eq 0) {
    Write-Log "No matching entries found. Nothing to do."
} else {
    $suffix = "ies"
    if ($found.Count -eq 1) { $suffix = "y" }
    Write-Log ("Found {0} matching entr{1}:" -f $found.Count, $suffix)
    $found | ForEach-Object { Write-Log ("  - {0} => '{1}'" -f $_.KeyPath, $_.OldValue) }

    $proceed = $Force
    if (-not $proceed) {
        $answer  = Read-Host "Clear these values now? (Y/N)"
        $proceed = ($answer -eq "Y" -or $answer -eq "y")
    }

    if ($proceed) {
        Backup-MrtCache | Out-Null
        Clear-BitmapEntries -Entries $found

        $restart = $Silent
        if (-not $restart) {
            $answer  = Read-Host "Restart Explorer now to apply the change? (Y/N)"
            $restart = ($answer -eq "Y" -or $answer -eq "y")
        }
        if ($restart) { Restart-Explorer }
    } else {
        Write-Log "Operation cancelled by user."
    }
}

Read-Host "`nPress ENTER to exit."
Güle güle kullanın.Betik, sordum.net makalesinin powershell betik dengidir.

Windows Store Güncellemesi İle Baş Belasının Geri Gelmesi Ve Betikle Silinmesi

Gönderilme zamanı: 28 Ağu 2026, 10:40
gönderen TRWE_2012
Merhabalar

Güncelleme İle Geri Gelen Baş Belası
Resim
Baş Belasını Silen PS Terminatör (Silici) Betik :
Resim
Uygulanması :
Resim
SONUÇ: Baş Belası Sistem'den Silinmiştir.
Resim
Bu betik elinizin altında bulunmalıdır.

Re: Windows Masaüstü Sağ Menüsünden "Bit Eşlem Resminin" Kaldırılması

Gönderilme zamanı: 28 Ağu 2026, 11:01
gönderen burak35
ne bit eşlem miş be...
ben olsam sistemlerden kaldırırdım bunu.
ama hintli ceo kaldırmaz tabi. iş bilmez olduğu için.
şişirsinler bakalım sistemleri, daha ne kadar şişirecekler.