UltraVNC ile vnc:// Protokolünü Windows’ta Açma — Detaylı Bilgi & Temiz Kurulum Kılavuzu

Bu doküman, Windows’ta vnc:// bağlantılarının otomatik olarak UltraVNC Viewer ile açılmasını sağlar. Tarayıcı (veya Explorer/Win+R) adres çubuğuna vnc://IP:PORT yazıldığında, UltraVNC doğrudan IP:PORT ile başlatılır. Sonunda / olsa bile (örn. vnc://10.122.100.63:5961/) doğru şekilde temizlenir.


İçindekiler


Özet

  • Amaç: vnc://host:port linklerine tıklayınca UltraVNC Viewer’ın açılması.
  • Yaklaşım: Tek bir .reg ile vnc:// şemasını PowerShell komutuna yönlendirip argümanı güvenle parse etmek.
  • Avantaj: Ek yazılım gerektirmez; tarayıcıların eklediği sondaki / gibi karakterler otomatik temizlenir.

Not: UltraVNC varsayılan kurulum yolu C:\\Program Files\\uvnc bvba\\UltraVNC\\vncviewer.exe olarak kabul edilmiştir. Sizde farklıysa dokümandaki yolu değiştirin (örn. Program Files (x86)).


Desteklenen Senaryolar

  • vnc://10.122.100.63:5961
  • vnc://10.122.100.63:5961/ (tarayıcıların ekleyebildiği son slash temizlenir)
  • vnc://HOSTNAME:PORT
  • Explorer/Win+R üzerinden çağrılar

Not: IPv6 ve kullanıcı adı/ek parametre kullanımını hedeflemiyorsanız bu kurulum yeterlidir. Genişletme örnekleri için SSS bölümüne bakın.


Temiz Kurulum (Tavsiye Edilen Adımlar)

  1. UltraVNC Viewer’ın kurulu olduğundan emin olun ve tam yolu doğrulayın.
    • Örn. C:\\Program Files\\uvnc bvba\\UltraVNC\\vncviewer.exe
  2. Aşağıdaki REG içeriğini vnc-ultravnc.reg isminde kaydedin.
  3. REG dosyasına çift tıklayın ve kayıtları eklemeyi onaylayın (Yönetici hakları gerekebilir).
  4. Test için adres çubuğuna yazın: vnc://10.122.100.63:5961

Kurumsal cihazlarda Güvenlik İlkeleri nedeniyle PowerShell kısıtlamaları olabilir; bu kurulum -ExecutionPolicy Bypass ile çağrı yapar ve tipik senaryolarda çalışır. Eğer engel varsa Alternatif Yöntem: CMD bölümünü uygulayın.


Kayıt Defteri (REG) İçeriği

Aşağıdaki içerik, vnc:// protokolünü kaydeder ve gelen değeri güvenle parse ederek UltraVNCyi host:port` ile başlatır.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\vnc]
@="URL:VNC Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\vnc\DefaultIcon]
@="C:\\Program Files\\uvnc bvba\\UltraVNC\\vncviewer.exe,0"

[HKEY_CLASSES_ROOT\vnc\shell]

[HKEY_CLASSES_ROOT\vnc\shell\open]

[HKEY_CLASSES_ROOT\vnc\shell\open\command]
@="powershell.exe -NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -Command \"$u='%1'; $u=[System.Uri]::UnescapeDataString($u); if ([string]::IsNullOrWhiteSpace($u)) { exit 1 }; if ($u -match '^(?i)vnc://') { $u=$u.Substring(6) }; if ($u.StartsWith('//')) { $u=$u.Substring(2) }; $u=($u -split '/')[0]; $u=$u.Trim(); if ([string]::IsNullOrWhiteSpace($u)) { exit 1 }; & 'C:\\Program Files\\uvnc bvba\\UltraVNC\\vncviewer.exe' $u\""

Yol farkı: UltraVNC başka bir klasöre kurulu ise yukarıdaki iki yerde geçen yolu kendi sisteminize göre güncelleyin.


Test

  • Win+R veya Explorer adres çubuğuna yazın: vnc://10.122.100.63:5961
  • UltraVNC’nin doğrudan 10.122.100.63:5961’e bağlandığını doğrulayın.
  • Tarayıcı vnc://10.122.100.63:5961/ şeklinde sonuna / eklese bile doğru çalışmalıdır.

Sorun Giderme

  • UltraVNC farklı bir yolda: Reg’deki yolu kendi kurulumunuza göre değiştirin (örn. C:\\Program Files (x86)\\uvnc bvba\\UltraVNC\\vncviewer.exe).
  • Hâlâ 5900’e bağlanıyorsa: Genelde URL sonunda / kalması veya argüman parse sorunudur; yukarıdaki REG, ($u -split '/') ile son slash’ı temizler. Yine de sorun yaşarsanız teşhis için geçici olarak -NoExit ekleyebilirsiniz: @="powershell.exe -NoProfile -ExecutionPolicy Bypass -NoExit -Command \"$u='%1'; Write-Host ('RAW=' + $u); $u=[System.Uri]::UnescapeDataString($u); if ($u -match '^(?i)vnc://') { $u=$u.Substring(6) }; if ($u.StartsWith('//')) { $u=$u.Substring(2) }; $u=($u -split '/')[0]; $u=$u.Trim(); Write-Host ('ARG=' + $u); & 'C:\\Program Files\\uvnc bvba\\UltraVNC\\vncviewer.exe' $u\"" Konsolda RAW ve ARG değerlerini görürsünüz.
  • PowerShell politikası engeli (Execution Policy): Kurumsal GPO’lar nedeniyle engellenirse, CMD alternatifi bölümünü kullanın.
  • Yönetici izinleri: HKCR altına yazmak için bazen admin hakları gerekir. REG’i yönetici olarak eklemeyi deneyin.

Güvenlik ve Politikalar

  • Bu çözüm sadece vnc:// protokolünü handle eder; başka protokolleri etkilemez.
  • PowerShell çağrısı -NoProfile ve -WindowStyle Hidden ile minimum iz bırakır; profil script’leri tetiklenmez.
  • Kurumsal cihazlarda denetimli dağıtım için REG’i GPO ile dağıtabilirsiniz.

Alternatif Yöntem: CMD Aracılı Çözüm

PowerShell kısıtlı ortamlarda aşağıdaki CMD + REG yöntemi kesintisiz çalışır.

C:\\Program Files\\uvnc bvba\\UltraVNC\\VNCLaunch.cmd

@echo off
setlocal EnableExtensions EnableDelayedExpansion

rem --- 1. argümanı al ---
set "u=%~1"
if not defined u exit /b 1

rem --- URL decode (yaygın olanlar) ---
set "u=%u:%3A=:%"
set "u=%u:%3a=:%"
set "u=%u:%2F=/%"
set "u=%u:%2f=/%"

rem --- Tırnakları temizle ve 'vnc://' önekini at ---
set "u=%u:"=%"
if /I "%u:~0,6%"=="vnc://" set "u=%u:~6%"
if "%u:~0,2%"=="//" set "u=%u:~2%"

rem --- İlk '/' sonrası her şeyi at ---
for /f "tokens=1 delims=/" %%A in ("%u%") do set "u=%%A"

rem --- Boşsa çık ---
if not defined u exit /b 1

start "" "C:\\Program Files\\uvnc bvba\\UltraVNC\\vncviewer.exe" "%u%"

endlocal

REG (CMD’e bağlama)

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\vnc]
@="URL:VNC Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\vnc\DefaultIcon]
@="C:\\Program Files\\uvnc bvba\\UltraVNC\\vncviewer.exe,0"

[HKEY_CLASSES_ROOT\vnc\shell\open\command]
@="\"C:\\Windows\\System32\\cmd.exe\" /c \"\"C:\\Program Files\\uvnc bvba\\UltraVNC\\VNCLaunch.cmd\" \"%1\"\""

Kaldırma (Uninstall)

vnc:// protokol ilişkilendirmesini kaldırmak için aşağıdaki REG’i çalıştırın:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\vnc]

Kaldırma sonrası vnc:// bağlantıları tekrar tanımsız hale gelir veya başka bir uygulama tarafından üstlenilir.


Sık Karşılaşılan Sorular

S: vnc://host (portsuz) destekleniyor mu?
C: Evet, parse edilir; UltraVNC port belirtilmezse varsayılan 5900’e bağlanır.

S: Tam ekran veya şifre gibi parametreleri nasıl eklerim?
C: REG’de PowerShell komutunun sonuna ilgili parametreleri ekleyin. Örn:

& 'C:\\Program Files\\uvnc bvba\\UltraVNC\\vncviewer.exe' -fullscreen $u

UltraVNC’ye ait argümanları dökümantasyondan kontrol ederek ekleyebilirsiniz.

S: GPO ile dağıtabilir miyim?
C: Evet. REG içeriğini GPO “Preferences > Windows Settings > Registry” ile dağıtabilirsiniz. UltraVNC yolu cihazlar arasında farklıysa, mimariye göre (x64/x86) farklı nesneler tanımlayın.

S: Neden Start-Process yerine call operator (&) kullanıldı?
C: Tek argümanlı, basit çağrılarda & kaçış/quote sürprizlerini azaltır ve argümanı doğrudan aktarır.


Son güncelleme: 2026-02-09