Bugün, 3.5 ay sonra kapalı sistem haline getirdiğim Windows11 Yapı 24H2 Revizyon 7019 x64 Home İşletim Sistemini, internet'e erişimli hale getirdim ama bir de bana sorun bu işlemi...
Aradan 3,5 ay geçmiş....Bütün hizmetlerin yarısından fazlası, SYSTEM Kullanıcı yetkisiyle kapatılmış....Hangi hizmet, hangi hizmete bağlımlı "BİLMİYORUM" ....
Dün akşam 20:00'den sabah'ın 08:00'ine kadar oradan oraya sistemin altını üstünü getirdim ama başaramadım sistemi internet erişimine açamadı...Tam aklımdan yedekten sistemi geri yüklemek geçiyordu hemen aklıma Claude geldi.
Hemen diğer tarafa geçtim.Derdimi anlatım yapay zeka modeline...O da bana bir komut verdi .(.ps1) al bunu dedi , buradan (GNU/Linux Mint 22. MATE v1.26.2 x64 OS Distro) Windows11'e geç bunu uygula...Bu betik , windows hizmetlerin hangi diğer hizmetlere bağlımlı olduğu gösteriyordu.Dedi ki bana Claude, komut çıktısını al gel bana, sana yardımcı olacağım, gerekirse sıfırdan kod oluşturacağız..
Bende dedikleri yapıp komut çıktısını txt belgesi şeklinde ona sundum.Yemin ediyorum sorunu çözümlemesi ve çözüm üretmesi yalnızca 1 dk sürdü, dedi al bu ağ açma/kapatma betiğini, uygula...Sonra sonucu bana yaz..
İşte o betik bu...(Windows UPDATE, Microsoft Store Mekanizmasına Asla Dokunmayan,yani açıksa dokunmuyor, kapalı ise gene dokunmuyor)
Toggle Internet v1.0.ps1
Kod: Tümünü seç
# ============================================================
# Toggle-Internet.ps1
# Windows 11 24H2 - Internet ON/OFF Toggle
# Connection type: USB Tethering (OPPO A3 / RNDIS adapter)
# Wi-Fi: NOT used — WlanSvc is excluded intentionally
# Defender antivirus : NEVER modified
# Windows Update : NEVER modified
# Run as Administrator
# ============================================================
#Requires -RunAsAdministrator
# ============================================================
# SKIP LISTS — these services are NEVER touched under any mode
# ============================================================
$SKIP_DEFENDER = @(
"WinDefend", # Windows Defender Antivirus
"WdNisSvc", # Defender Network Inspection
"WdFilter", # Defender Mini-Filter Driver
"Sense", # Defender ATP
"MsSense", # Defender Sense
"SecurityHealthService" # Windows Security Health
)
$SKIP_WINUPDATE = @(
"wuauserv", # Windows Update
"UsoSvc", # Update Session Orchestrator
"WaaSMedicSvc", # Update Medic Service
"TrustedInstaller", # Windows Modules Installer
"BITS", # Background Intelligent Transfer
"DoSvc" # Delivery Optimization
)
$SKIP_ALL = $SKIP_DEFENDER + $SKIP_WINUPDATE
# ============================================================
# SYSTEM CORE — always started, never stopped in either mode
# These are OS stability services, not internet-specific
# ============================================================
$CORE_SERVICES = [ordered]@{
"DcomLaunch" = "Automatic" # DCOM Server Process Launcher
"RpcSs" = "Automatic" # Remote Procedure Call
"RpcEptMapper"= "Automatic" # RPC Endpoint Mapper
"EventLog" = "Automatic" # Windows Event Log
"nsi" = "Automatic" # Network Store Interface (routing table)
"BFE" = "Automatic" # Base Filtering Engine
"MpsSvc" = "Automatic" # Windows Firewall (packet filter, NOT antivirus)
"CryptSvc" = "Automatic" # Cryptographic Services (TLS chain)
"KeyIso" = "Manual" # CNG Key Isolation
"Schedule" = "Automatic" # Task Scheduler (cert/CRL maintenance)
}
# ============================================================
# CONNECTIVITY LAYER — toggled ON/OFF
# USB tethering uses RNDIS virtual adapter = standard Ethernet
# WlanSvc intentionally excluded (no Wi-Fi used)
# ============================================================
$CONNECTIVITY_SERVICES = [ordered]@{
"Dhcp" = "Automatic" # IP address assignment via USB adapter
"Dnscache" = "Automatic" # DNS caching (name resolution)
"NlaSvc" = "Automatic" # Network Location Awareness
"netprofm" = "Manual" # Network List Service
"Wcmsvc" = "Automatic" # Windows Connection Manager
"Netman" = "Manual" # Network Connections
"WinHttpAutoProxySvc" = "Manual" # WinHTTP (TLS cert revocation + Edge)
}
# ============================================================
# Helpers
# ============================================================
function Set-SvcStartup {
param([string]$Name, [string]$Type)
$scType = switch ($Type) {
"Automatic" { "auto" }
"Manual" { "demand" }
"Disabled" { "disabled" }
default { "demand" }
}
sc.exe config $Name start= $scType 2>&1 | Out-Null
}
function Get-SvcStatus {
param([string]$Name)
$s = Get-Service -Name $Name -ErrorAction SilentlyContinue
if (-not $s) { return "NOT_FOUND" }
return $s.Status.ToString()
}
function Write-Banner {
param([string]$Mode, [string]$Color)
Write-Host ""
Write-Host "============================================================" -ForegroundColor $Color
Write-Host (" Toggle-Internet.ps1 / Windows 11 24H2") -ForegroundColor Cyan
Write-Host (" USB Tethering (OPPO A3) | Mode: {0}" -f $Mode) -ForegroundColor $Color
Write-Host " Defender/WU: NEVER modified" -ForegroundColor Yellow
Write-Host "============================================================" -ForegroundColor $Color
Write-Host ""
}
# ============================================================
# State Detection
# Dhcp service status is the reliable indicator:
# Running → ONLINE
# Stopped → OFFLINE
# ============================================================
function Get-InternetMode {
$dhcp = Get-Service -Name "Dhcp" -ErrorAction SilentlyContinue
if (-not $dhcp) { return "UNKNOWN" }
if ($dhcp.Status -eq "Running") { return "ONLINE" }
return "OFFLINE"
}
# ============================================================
# Ensure Core Services — run in both modes
# ============================================================
function Invoke-EnsureCore {
Write-Host " [CORE] Verifying system core services..." -ForegroundColor DarkCyan
foreach ($entry in $CORE_SERVICES.GetEnumerator()) {
$name = $entry.Key
if ($SKIP_ALL -contains $name) { continue }
$svc = Get-Service -Name $name -ErrorAction SilentlyContinue
if (-not $svc) { continue }
Set-SvcStartup -Name $name -Type $entry.Value
if ($svc.Status -ne "Running") {
Start-Service -Name $name -ErrorAction SilentlyContinue
}
}
Write-Host " [CORE] Done." -ForegroundColor DarkCyan
Write-Host ""
}
# ============================================================
# GO ONLINE
# ============================================================
function Invoke-GoOnline {
Write-Banner -Mode "GOING ONLINE" -Color "Green"
Invoke-EnsureCore
Write-Host " [NET] Starting connectivity services..." -ForegroundColor Green
$ok = 0; $fail = 0
foreach ($entry in $CONNECTIVITY_SERVICES.GetEnumerator()) {
$name = $entry.Key
if ($SKIP_ALL -contains $name) { continue }
$svc = Get-Service -Name $name -ErrorAction SilentlyContinue
if (-not $svc) {
Write-Host (" [SKIP] {0,-28} not found on this system" -f $name) -ForegroundColor DarkGray
continue
}
try {
Set-SvcStartup -Name $name -Type $entry.Value
if ($svc.Status -ne "Running") {
Start-Service -Name $name -ErrorAction Stop
}
$status = (Get-Service -Name $name).Status
Write-Host (" [OK] {0,-28} {1,-10} -> {2}" -f $name, $entry.Value, $status) -ForegroundColor Green
$ok++
}
catch {
Write-Host (" [ERR] {0,-28} {1}" -f $name, $_.Exception.Message) -ForegroundColor Red
$fail++
}
}
Write-Host ""
Write-Host (" Result: {0} started, {1} failed" -f $ok, $fail) -ForegroundColor $(if ($fail -eq 0) { "Green" } else { "Yellow" })
Write-Host ""
Write-Host " Internet chain ready:" -ForegroundColor White
Write-Host " RPC -> nsi -> DHCP -> DNS -> NLA -> BFE/FW -> CryptSvc -> WinHTTP" -ForegroundColor DarkGreen
Write-Host ""
Write-Host " NOTE: Plug in OPPO A3 USB cable and enable USB Tethering on phone." -ForegroundColor Yellow
Write-Host " Windows will assign IP via RNDIS virtual adapter automatically." -ForegroundColor Yellow
}
# ============================================================
# GO OFFLINE
# ============================================================
function Invoke-GoOffline {
Write-Banner -Mode "GOING OFFLINE" -Color "Red"
Write-Host " [NET] Stopping connectivity services..." -ForegroundColor Red
$stopped = 0
# Stop in reverse order (dependents first)
$reversed = [System.Collections.Generic.List[string]]::new()
foreach ($k in $CONNECTIVITY_SERVICES.Keys) { $reversed.Add($k) }
$reversed.Reverse()
foreach ($name in $reversed) {
if ($SKIP_ALL -contains $name) { continue }
$svc = Get-Service -Name $name -ErrorAction SilentlyContinue
if (-not $svc) { continue }
if ($svc.Status -eq "Running") {
try {
Stop-Service -Name $name -Force -ErrorAction Stop
Write-Host (" [STOP] {0,-28} -> Stopped" -f $name) -ForegroundColor Red
$stopped++
}
catch {
Write-Host (" [ERR] {0,-28} {1}" -f $name, $_.Exception.Message) -ForegroundColor Yellow
}
}
else {
Write-Host (" [SKIP] {0,-28} already stopped" -f $name) -ForegroundColor DarkGray
}
}
Write-Host ""
Write-Host (" Stopped: {0} connectivity service(s)." -f $stopped) -ForegroundColor Red
Write-Host ""
Write-Host " System core remains active (RPC, EventLog, BFE, CryptSvc, Schedule)." -ForegroundColor DarkCyan
Write-Host " Defender: unchanged | Windows Update: unchanged" -ForegroundColor Yellow
}
# ============================================================
# MAIN
# ============================================================
$currentMode = Get-InternetMode
Write-Host ""
Write-Host "============================================================" -ForegroundColor Cyan
Write-Host " Toggle-Internet.ps1 / Windows 11 24H2" -ForegroundColor Cyan
Write-Host " USB Tethering (OPPO A3 RNDIS) | No Wi-Fi" -ForegroundColor Cyan
Write-Host "============================================================" -ForegroundColor Cyan
Write-Host ""
$modeColor = if ($currentMode -eq "ONLINE") { "Green" } else { "Red" }
Write-Host (" Current state : [ {0} ]" -f $currentMode) -ForegroundColor $modeColor
Write-Host ""
if ($currentMode -eq "ONLINE") {
Write-Host " Internet is currently ACTIVE." -ForegroundColor Green
Write-Host " Press O to go OFFLINE (close system)" -ForegroundColor Red
Write-Host " Press any other key to exit without changes." -ForegroundColor DarkGray
Write-Host ""
$key = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
if ($key.Character -in @('o','O')) {
Invoke-GoOffline
}
else {
Write-Host " No changes made. Exiting." -ForegroundColor DarkGray
}
}
elseif ($currentMode -eq "OFFLINE") {
Write-Host " Internet is currently INACTIVE (closed system)." -ForegroundColor Red
Write-Host " Press O to go ONLINE (open internet)" -ForegroundColor Green
Write-Host " Press any other key to exit without changes." -ForegroundColor DarkGray
Write-Host ""
$key = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
if ($key.Character -in @('o','O')) {
Invoke-GoOnline
}
else {
Write-Host " No changes made. Exiting." -ForegroundColor DarkGray
}
}
else {
Write-Host " State could not be determined (Dhcp service not found)." -ForegroundColor Yellow
Write-Host " Attempting to bring system ONLINE..." -ForegroundColor Yellow
Invoke-GoOnline
}
Read-Host "`nPress ENTER to exit."
Şimdi , sistem'de kurulu antivirüs yok, sistemi bu haliyle kullanmak bana göre ters ve riskli... Bende dedim ki GNU/Linux Mint 22.2 tarafındaki "Komut Satırı ClamAV Scan" Mekanizmasının aynısı, neden Windows11'de olmasın.Aşağıdaki adımlar bunu gerçekleştirmektedir.
1.ADIM : Resmi Web Sayfasından x64 MSİ setup dosyasının indirilmesi ve kurulması



Kurulum Dizini :
Kod: Tümünü seç
C:\Program Files\ClamAV
C:\Program Files\ClamAV\certs
C:\Program Files\ClamAV\certs\clamav.crt
C:\Program Files\ClamAV\conf_examples
C:\Program Files\ClamAV\conf_examples\clamd.conf.sample
C:\Program Files\ClamAV\conf_examples\freshclam.conf.sample
C:\Program Files\ClamAV\COPYING
C:\Program Files\ClamAV\COPYING\COPYING.bzip2
C:\Program Files\ClamAV\COPYING\COPYING.curl
C:\Program Files\ClamAV\COPYING\COPYING.file
C:\Program Files\ClamAV\COPYING\COPYING.getopt
C:\Program Files\ClamAV\COPYING\COPYING.LGPL
C:\Program Files\ClamAV\COPYING\COPYING.llvm
C:\Program Files\ClamAV\COPYING\COPYING.lzma
C:\Program Files\ClamAV\COPYING\COPYING.pcre
C:\Program Files\ClamAV\COPYING\COPYING.regex
C:\Program Files\ClamAV\COPYING\COPYING.unrar
C:\Program Files\ClamAV\COPYING\COPYING.YARA
C:\Program Files\ClamAV\COPYING\COPYING.zlib
C:\Program Files\ClamAV\database
C:\Program Files\ClamAV\database\bytecode-339.cvd.sign
C:\Program Files\ClamAV\database\bytecode.cvd
C:\Program Files\ClamAV\database\daily.cld
C:\Program Files\ClamAV\database\freshclam.dat
C:\Program Files\ClamAV\database\main-63.cvd.sign
C:\Program Files\ClamAV\database\main.cvd
C:\Program Files\ClamAV\include
C:\Program Files\ClamAV\include\clamav-types.h
C:\Program Files\ClamAV\include\clamav-version.h
C:\Program Files\ClamAV\include\clamav.h
C:\Program Files\ClamAV\include\libfreshclam.h
C:\Program Files\ClamAV\UserManual
C:\Program Files\ClamAV\UserManual\404.html
C:\Program Files\ClamAV\UserManual\ace-2a3cd908.js
C:\Program Files\ClamAV\UserManual\appendix
C:\Program Files\ClamAV\UserManual\appendix\Appendix.html
C:\Program Files\ClamAV\UserManual\appendix\Authenticode.html
C:\Program Files\ClamAV\UserManual\appendix\CvdPrivateMirror.html
C:\Program Files\ClamAV\UserManual\appendix\FileTypes.html
C:\Program Files\ClamAV\UserManual\appendix\FunctionalityLevels.html
C:\Program Files\ClamAV\UserManual\appendix\Terminology.html
C:\Program Files\ClamAV\UserManual\community_resources
C:\Program Files\ClamAV\UserManual\community_resources\CommunityResources.html
C:\Program Files\ClamAV\UserManual\community_resources\CompileClamAV_AmazonLinux2.txt
C:\Program Files\ClamAV\UserManual\css
C:\Program Files\ClamAV\UserManual\css\chrome-ae938929.css
C:\Program Files\ClamAV\UserManual\css\general-8eed8816.css
C:\Program Files\ClamAV\UserManual\css\print-9e4910d8.css
C:\Program Files\ClamAV\UserManual\css\variables-6d03f665.css
C:\Program Files\ClamAV\UserManual\faq
C:\Program Files\ClamAV\UserManual\faq\faq-cvd.html
C:\Program Files\ClamAV\UserManual\faq\faq-eol.html
C:\Program Files\ClamAV\UserManual\faq\faq-freshclam.html
C:\Program Files\ClamAV\UserManual\faq\faq-ignore.html
C:\Program Files\ClamAV\UserManual\faq\faq-malware-fp-reports.html
C:\Program Files\ClamAV\UserManual\faq\faq-misc.html
C:\Program Files\ClamAV\UserManual\faq\faq-ml.html
C:\Program Files\ClamAV\UserManual\faq\faq-pua.html
C:\Program Files\ClamAV\UserManual\faq\faq-rust.html
C:\Program Files\ClamAV\UserManual\faq\faq-safebrowsing.html
C:\Program Files\ClamAV\UserManual\faq\faq-scan-alerts.html
C:\Program Files\ClamAV\UserManual\faq\faq-troubleshoot.html
C:\Program Files\ClamAV\UserManual\faq\faq-uninstall.html
C:\Program Files\ClamAV\UserManual\faq\faq-upgrade.html
C:\Program Files\ClamAV\UserManual\faq\faq-whichversion.html
C:\Program Files\ClamAV\UserManual\faq\faq-win32.html
C:\Program Files\ClamAV\UserManual\faq\faq.html
C:\Program Files\ClamAV\UserManual\fonts
C:\Program Files\ClamAV\UserManual\fonts\fonts-9644e21d.css
C:\Program Files\ClamAV\UserManual\fonts\OPEN-SANS-LICENSE-cfc7749b.txt
C:\Program Files\ClamAV\UserManual\fonts\open-sans-v17-all-charsets-300-7736aa35.woff2
C:\Program Files\ClamAV\UserManual\fonts\open-sans-v17-all-charsets-300italic-2c7b95c0.woff2
C:\Program Files\ClamAV\UserManual\fonts\open-sans-v17-all-charsets-600-486c6759.woff2
C:\Program Files\ClamAV\UserManual\fonts\open-sans-v17-all-charsets-600italic-1a3e8659.woff2
C:\Program Files\ClamAV\UserManual\fonts\open-sans-v17-all-charsets-700-c22fe8c7.woff2
C:\Program Files\ClamAV\UserManual\fonts\open-sans-v17-all-charsets-700italic-238ae959.woff2
C:\Program Files\ClamAV\UserManual\fonts\open-sans-v17-all-charsets-800-3d2c812a.woff2
C:\Program Files\ClamAV\UserManual\fonts\open-sans-v17-all-charsets-800italic-ba1521ec.woff2
C:\Program Files\ClamAV\UserManual\fonts\open-sans-v17-all-charsets-italic-6c9463f7.woff2
C:\Program Files\ClamAV\UserManual\fonts\open-sans-v17-all-charsets-regular-2e3b1d34.woff2
C:\Program Files\ClamAV\UserManual\fonts\SOURCE-CODE-PRO-LICENSE-d1e6d465.txt
C:\Program Files\ClamAV\UserManual\fonts\source-code-pro-v11-all-charsets-500-2bdd9410.woff2
C:\Program Files\ClamAV\UserManual\images
C:\Program Files\ClamAV\UserManual\images\change-fork-name.png
C:\Program Files\ClamAV\UserManual\images\cisco.png
C:\Program Files\ClamAV\UserManual\images\clamav-git-workflow.png
C:\Program Files\ClamAV\UserManual\images\clone-your-fork.png
C:\Program Files\ClamAV\UserManual\images\create-a-fork.png
C:\Program Files\ClamAV\UserManual\images\demon.png
C:\Program Files\ClamAV\UserManual\images\flamegraph.svg
C:\Program Files\ClamAV\UserManual\images\fork-is-behind.png
C:\Program Files\ClamAV\UserManual\images\logo.png
C:\Program Files\ClamAV\UserManual\manual
C:\Program Files\ClamAV\UserManual\manual\cisco-talos.gpg
C:\Program Files\ClamAV\UserManual\manual\Development
C:\Program Files\ClamAV\UserManual\manual\Development.html
C:\Program Files\ClamAV\UserManual\manual\Installing
C:\Program Files\ClamAV\UserManual\manual\Installing.html
C:\Program Files\ClamAV\UserManual\manual\OnAccess.html
C:\Program Files\ClamAV\UserManual\manual\Signatures
C:\Program Files\ClamAV\UserManual\manual\Signatures.html
C:\Program Files\ClamAV\UserManual\manual\Usage
C:\Program Files\ClamAV\UserManual\manual\Usage.html
C:\Program Files\ClamAV\UserManual\manual\Development
C:\Program Files\ClamAV\UserManual\manual\Development\build-installer-packages.html
C:\Program Files\ClamAV\UserManual\manual\Development\clamav-git-work-flow.html
C:\Program Files\ClamAV\UserManual\manual\Development\code-coverage.html
C:\Program Files\ClamAV\UserManual\manual\Development\Contribute.html
C:\Program Files\ClamAV\UserManual\manual\Development\development-builds.html
C:\Program Files\ClamAV\UserManual\manual\Development\fuzzing-sanitizers.html
C:\Program Files\ClamAV\UserManual\manual\Development\github-pr-basics.html
C:\Program Files\ClamAV\UserManual\manual\Development\libclamav.html
C:\Program Files\ClamAV\UserManual\manual\Development\performance-profiling.html
C:\Program Files\ClamAV\UserManual\manual\Development\personal-forks.html
C:\Program Files\ClamAV\UserManual\manual\Development\testing-pull-requests.html
C:\Program Files\ClamAV\UserManual\manual\Development\tips-and-tricks.html
C:\Program Files\ClamAV\UserManual\manual\Installing
C:\Program Files\ClamAV\UserManual\manual\Installing\Add-clamav-user.html
C:\Program Files\ClamAV\UserManual\manual\Installing\Community-projects.html
C:\Program Files\ClamAV\UserManual\manual\Installing\Docker.html
C:\Program Files\ClamAV\UserManual\manual\Installing\Installing-from-source-Unix.html
C:\Program Files\ClamAV\UserManual\manual\Installing\Installing-from-source-Windows.html
C:\Program Files\ClamAV\UserManual\manual\Installing\Packages.html
C:\Program Files\ClamAV\UserManual\manual\Signatures
C:\Program Files\ClamAV\UserManual\manual\Signatures\AllowLists.html
C:\Program Files\ClamAV\UserManual\manual\Signatures\AuthenticodeRules.html
C:\Program Files\ClamAV\UserManual\manual\Signatures\BodySignatureFormat.html
C:\Program Files\ClamAV\UserManual\manual\Signatures\BytecodeSignatures.html
C:\Program Files\ClamAV\UserManual\manual\Signatures\ContainerMetadata.html
C:\Program Files\ClamAV\UserManual\manual\Signatures\DatabaseInfo.html
C:\Program Files\ClamAV\UserManual\manual\Signatures\DynamicConfig.html
C:\Program Files\ClamAV\UserManual\manual\Signatures\EncryptedArchives.html
C:\Program Files\ClamAV\UserManual\manual\Signatures\ExtendedSignatures.html
C:\Program Files\ClamAV\UserManual\manual\Signatures\FileTypeMagic.html
C:\Program Files\ClamAV\UserManual\manual\Signatures\HashSignatures.html
C:\Program Files\ClamAV\UserManual\manual\Signatures\LogicalSignatures.html
C:\Program Files\ClamAV\UserManual\manual\Signatures\PhishSigs.html
C:\Program Files\ClamAV\UserManual\manual\Signatures\SignatureNames.html
C:\Program Files\ClamAV\UserManual\manual\Signatures\YaraRules.html
C:\Program Files\ClamAV\UserManual\manual\Usage
C:\Program Files\ClamAV\UserManual\manual\Usage\Configuration.html
C:\Program Files\ClamAV\UserManual\manual\Usage\ReportABug.html
C:\Program Files\ClamAV\UserManual\manual\Usage\Scanning.html
C:\Program Files\ClamAV\UserManual\manual\Usage\Services.html
C:\Program Files\ClamAV\UserManual\manual\Usage\SignatureManagement.html
C:\Program Files\ClamAV\UserManual\ayu-highlight-3fdfc3ac.css
C:\Program Files\ClamAV\UserManual\book-a0b12cfe.js
C:\Program Files\ClamAV\UserManual\clipboard-1626706a.min.js
C:\Program Files\ClamAV\UserManual\community_resources
C:\Program Files\ClamAV\UserManual\css
C:\Program Files\ClamAV\UserManual\editor-16ca416c.js
C:\Program Files\ClamAV\UserManual\elasticlunr-ef4e11c1.min.js
C:\Program Files\ClamAV\UserManual\faq
C:\Program Files\ClamAV\UserManual\favicon-ba1b3133.png
C:\Program Files\ClamAV\UserManual\fonts
C:\Program Files\ClamAV\UserManual\googled62299e9391332c4.html
C:\Program Files\ClamAV\UserManual\highlight-493f70e1.css
C:\Program Files\ClamAV\UserManual\highlight-abc7f01d.js
C:\Program Files\ClamAV\UserManual\images
C:\Program Files\ClamAV\UserManual\index.html
C:\Program Files\ClamAV\UserManual\Introduction.html
C:\Program Files\ClamAV\UserManual\manual
C:\Program Files\ClamAV\UserManual\mark-09e88c2c.min.js
C:\Program Files\ClamAV\UserManual\mode-rust-2c9d5c9a.js
C:\Program Files\ClamAV\UserManual\print.html
C:\Program Files\ClamAV\UserManual\searcher-c2a407aa.js
C:\Program Files\ClamAV\UserManual\searchindex-1b5ba28b.js
C:\Program Files\ClamAV\UserManual\sitemap.xml
C:\Program Files\ClamAV\UserManual\theme-dawn-4493f9c8.js
C:\Program Files\ClamAV\UserManual\theme-tomorrow_night-9dbe62a9.js
C:\Program Files\ClamAV\UserManual\toc-cbaddea7.js
C:\Program Files\ClamAV\UserManual\toc.html
C:\Program Files\ClamAV\UserManual\tomorrow-night-4c0ae647.css
C:\Program Files\ClamAV\clamav.lib
C:\Program Files\ClamAV\clamav_rust.lib
C:\Program Files\ClamAV\clambc.exe
C:\Program Files\ClamAV\clambc.pdb
C:\Program Files\ClamAV\clamconf.exe
C:\Program Files\ClamAV\clamconf.pdb
C:\Program Files\ClamAV\clamd.conf
C:\Program Files\ClamAV\clamd.exe
C:\Program Files\ClamAV\clamd.pdb
C:\Program Files\ClamAV\clamdscan.exe
C:\Program Files\ClamAV\clamdscan.pdb
C:\Program Files\ClamAV\clamdtop.exe
C:\Program Files\ClamAV\clamdtop.pdb
C:\Program Files\ClamAV\clammspack.lib
C:\Program Files\ClamAV\clamscan.exe
C:\Program Files\ClamAV\clamscan.pdb
C:\Program Files\ClamAV\clamsubmit.exe
C:\Program Files\ClamAV\clamsubmit.pdb
C:\Program Files\ClamAV\clamunrar.lib
C:\Program Files\ClamAV\clamunrar_iface.lib
C:\Program Files\ClamAV\concrt140.dll
C:\Program Files\ClamAV\conf_examples
C:\Program Files\ClamAV\COPYING
C:\Program Files\ClamAV\COPYING.txt
C:\Program Files\ClamAV\database
C:\Program Files\ClamAV\freshclam.conf
C:\Program Files\ClamAV\freshclam.exe
C:\Program Files\ClamAV\freshclam.lib
C:\Program Files\ClamAV\freshclam.pdb
C:\Program Files\ClamAV\include
C:\Program Files\ClamAV\json-c.dll
C:\Program Files\ClamAV\libbz2.dll
C:\Program Files\ClamAV\libclamav.dll
C:\Program Files\ClamAV\libclamav.pdb
C:\Program Files\ClamAV\libclammspack.dll
C:\Program Files\ClamAV\libclammspack.pdb
C:\Program Files\ClamAV\libclamunrar.dll
C:\Program Files\ClamAV\libclamunrar.pdb
C:\Program Files\ClamAV\libclamunrar_iface.dll
C:\Program Files\ClamAV\libclamunrar_iface.pdb
C:\Program Files\ClamAV\libcrypto-3-x64.dll
C:\Program Files\ClamAV\libcurl.dll
C:\Program Files\ClamAV\libfreshclam.dll
C:\Program Files\ClamAV\libfreshclam.pdb
C:\Program Files\ClamAV\libssh2.dll
C:\Program Files\ClamAV\libssl-3-x64.dll
C:\Program Files\ClamAV\libxml2.dll
C:\Program Files\ClamAV\msvcp140.dll
C:\Program Files\ClamAV\msvcp140_1.dll
C:\Program Files\ClamAV\msvcp140_2.dll
C:\Program Files\ClamAV\msvcp140_atomic_wait.dll
C:\Program Files\ClamAV\msvcp140_codecvt_ids.dll
C:\Program Files\ClamAV\NEWS.md
C:\Program Files\ClamAV\nghttp2.dll
C:\Program Files\ClamAV\pcre2-8.dll
C:\Program Files\ClamAV\pdcurses.dll
C:\Program Files\ClamAV\pthreadVC3.dll
C:\Program Files\ClamAV\README.md
C:\Program Files\ClamAV\sigtool.exe
C:\Program Files\ClamAV\sigtool.pdb
C:\Program Files\ClamAV\UserManual
C:\Program Files\ClamAV\vcruntime140.dll
C:\Program Files\ClamAV\vcruntime140_1.dll
Yönetici modunda bir WinTerminal penceresi açın (PENCERE CLAM-AV DİZİNİNDE AÇILMALIDIR) ve aşağıdaki ekran görüntüsündeki gibi yapın.

Yukarıdaki sorunun tam dökümsel makalelik yanıtı aşağıdaki web bağlantısındadır.
Windows PC'de ClamAV Nasıl Kurulup Kullanılır?
https://tr.windows.day/?p=77239
4.ADIM : Bash Shell Betiğinin, Windows PowerSHELL Betiğine Çevrilmesi İşlemi....
Ama bu makale bana yetmedi.Çünkü bunlar manuel'di.İşte burada GNU/Linux Mint 22.2 MATE v1.26.2 -LXDE v13.0 x64 OS Distro'da kullandığım bash shell betiğini, Windows PowerShell betiğine çevirmek geldi aklıma...Böylece, Windows'ta manuel'den otomasyon seviyesine , level atlayacaktım, öyle de oldu.Gene bu konuda bana Claude yardımcı oldu...
Orjinal Bash Shell Betiği : clamav_interactive_scan.sh
Kod: Tümünü seç
#!/bin/bash
# ==========================================================
# ClamAV Etkileşimli Tarama Betiği (NİHAİ)
# - Tekil DOSYA veya DİZİN destekler
# - Doğru akış sırası (freshclam önce)
# - Daemon gerekmez
# - ClamTk uyumludur
# ==========================================================
LOG_DIR="/home/linuxmaster/Belgeler/ClamAV Scaned Log's"
DATE="$(date '+%Y-%m-%d_%H-%M-%S')"
LOG_FILE="$LOG_DIR/clamav_scan_$DATE.log"
mkdir -p "$LOG_DIR"
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
}
echo "ClamAV etkileşimli tarama başlatıldı"
log "Betik başlatıldı"
echo
echo "Virüs imza veritabanı güncelleniyor..."
log "Virüs imza veritabanı güncellemesi başlatıldı"
if ! freshclam >>"$LOG_FILE" 2>&1; then
log "HATA: Virüs imza güncellemesi başarısız"
exit 1
fi
log "Virüs imza veritabanı güncellemesi tamamlandı"
echo
read -rp "Taramak istediğiniz konumun TAM yolunu girin: " TARGET
if [[ -z "$TARGET" ]]; then
log "HATA: Boş yol girildi"
exit 1
fi
# --- Yol var mı? ---
if [[ ! -e "$TARGET" ]]; then
log "HATA: Girilen yol mevcut değil -> $TARGET"
echo "HATA: Yol mevcut değil."
exit 1
fi
log "Kullanıcıdan tam yol alındı: $TARGET"
# --- Tür tespiti ---
if [[ -f "$TARGET" ]]; then
TARGET_TYPE="DOSYA"
elif [[ -d "$TARGET" ]]; then
TARGET_TYPE="DİZİN"
else
log "HATA: Desteklenmeyen dosya türü -> $TARGET"
exit 1
fi
log "Hedef türü tespit edildi: $TARGET_TYPE"
echo
read -rp "Tarama başlatılsın mı? (E/H): " ANSWER
if [[ "$ANSWER" =~ ^[Hh]$ ]]; then
log "Kullanıcı taramayı reddetti. Tarama yapılmadı."
echo "Tarama iptal edildi."
exit 0
fi
if [[ ! "$ANSWER" =~ ^[Ee]$ ]]; then
log "Geçersiz yanıt verildi. Betik sonlandırıldı."
exit 1
fi
log "Kullanıcı taramayı onayladı"
echo
echo "Tarama başlatılıyor..."
log "Tarama başlatıldı"
# --- Sembolik ilerleme ---
echo "%20"; sleep 0.2
echo "%40"; sleep 0.2
echo "%60"; sleep 0.2
echo "%80"; sleep 0.2
echo "%100"
# --- Tarama ---
if [[ "$TARGET_TYPE" == "DOSYA" ]]; then
log "Tekil dosya taranıyor: $TARGET"
clamscan --bell -i "$TARGET" >>"$LOG_FILE" 2>&1
elif [[ "$TARGET_TYPE" == "DİZİN" ]]; then
log "Dizin taranıyor: $TARGET"
clamscan -r --bell -i "$TARGET" >>"$LOG_FILE" 2>&1
fi
log "Tarama tamamlandı"
echo
echo "Tarama tamamlandı."
echo "Log dosyası:"
echo "$LOG_FILE"
echo
read -p "Betikten çıkmak için klavyeden enter tuşuna basın"Kod: Tümünü seç
# ==========================================================
# ClamAV Scanner v4 (Smart Conditional Engine)
# ==========================================================
chcp 65001 | Out-Null
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$PSDefaultParameterValues['Out-File:Encoding'] = 'utf8'
# --- PATH ---
$ClamPath = "C:\Program Files\ClamAV"
$ClamScan = "$ClamPath\clamscan.exe"
$FreshClam = "$ClamPath\freshclam.exe"
# --- DIR ---
$BaseDir = "$env:USERPROFILE\ClamAV_Tarama_Sonuclari"
$QuarantineDir = "$BaseDir\Quarantine"
New-Item -ItemType Directory -Force -Path $BaseDir | Out-Null
New-Item -ItemType Directory -Force -Path $QuarantineDir | Out-Null
# --- FILE ---
$Date = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
$OutFile = "$BaseDir\scan_$Date.txt"
function Log {
param($msg)
$time = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
$line = "[$time] $msg"
Write-Host $line
$line | Out-File -FilePath $OutFile -Append
}
Log "==== CLAMAV SCAN V4 STARTED ===="
# --- UPDATE ---
Log "Updating database..."
& $FreshClam | Tee-Object -FilePath $OutFile -Append
# --- INPUT ---
$Target = Read-Host "`nEnter FULL path"
if (!(Test-Path $Target)) {
Log "ERROR: Path not found"
exit
}
$IsDir = (Get-Item $Target).PSIsContainer
# --- NORMAL SCAN FIRST ---
Log "Initial scan started"
$Args = @("--bell","-i")
if ($IsDir) { $Args = @("-r") + $Args }
$Args += "$Target"
$ScanOutput = & $ClamScan @Args
# Hem yaz hem sakla
$ScanOutput | Tee-Object -FilePath $OutFile -Append
# --- PARSE RESULT ---
$InfectedLine = $ScanOutput | Select-String "Infected files:"
$InfectedCount = [int]($InfectedLine -replace '[^0-9]', '')
Log "Detected infected count: $InfectedCount"
# --- DECISION ---
if ($InfectedCount -eq 0) {
Log "RESULT: CLEAN"
Log "No further action needed"
}
else {
Log "WARNING: Infection detected!"
Write-Host "`nInfected files found: $InfectedCount"
Write-Host "1 - Move to Quarantine"
Write-Host "2 - Delete infected files"
Write-Host "0 - Do nothing"
$Choice = Read-Host "Select action"
switch ($Choice) {
"1" {
Log "User selected QUARANTINE"
$ActionArgs = @("--move=$QuarantineDir","--bell","-i")
}
"2" {
Log "User selected DELETE"
$ActionArgs = @("--remove","--bell","-i")
}
default {
Log "User skipped action"
exit
}
}
if ($IsDir) { $ActionArgs = @("-r") + $ActionArgs }
$ActionArgs += "$Target"
Log "Executing action scan..."
& $ClamScan @ActionArgs | Tee-Object -FilePath $OutFile -Append
}
Log "Scan finished"
Write-Host "`nOutput file: $OutFile"
Read-Host "Press ENTER to exit."




Bu kadar.Başka forum içi, benzersiz konu içeriklerinde görüşme dileği ile Allah(c.c)'a emanet olunuz....







