{"id":144,"title":"Windows Server'da T\u00fcm Kullan\u0131c\u0131lara Masa\u00fcst\u00fc K\u0131sayolu Ekleme","content":"Bir a\u011f ortam\u0131nda y\u00f6netici olarak \u00e7al\u0131\u015f\u0131yorsan\u0131z, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n \u00f6nemli uygulamalara h\u0131zl\u0131 eri\u015fim sa\u011flamas\u0131n\u0131 isteyebilirsiniz. Bu yaz\u0131mda, Windows Server ortam\u0131nda t\u00fcm kullan\u0131c\u0131lar\u0131n masa\u00fcst\u00fcne otomatik olarak k\u0131sayol eklemenin birka\u00e7 farkl\u0131 yolunu inceleyece\u011fiz. <h2>Neden Public Desktop?<\/h2> Bir Windows sunucusunda birden fazla kullan\u0131c\u0131 hesab\u0131 bulunabilir. Her kullan\u0131c\u0131 i\u00e7in ayr\u0131 ayr\u0131 k\u0131sayol olu\u015fturmak yerine, <strong>Public Desktop<\/strong> klas\u00f6r\u00fcn\u00fc kullanarak tek bir k\u0131sayol ile t\u00fcm kullan\u0131c\u0131lar\u0131n eri\u015fimini sa\u011flayabilirsiniz. Bu yakla\u015f\u0131m, \u00f6zellikle Remote Desktop Services (Terminal Sunucular\u0131) gibi payla\u015f\u0131ml\u0131 ortamlarda \u00e7ok i\u015fe yarar. Public Desktop klas\u00f6r\u00fc genellikle \u015fu konumda bulunur: <code>C:\\Users\\Public\\Desktop<\/code> <h2>PowerShell ile K\u0131sayol Olu\u015fturma<\/h2> PowerShell, k\u0131sayol olu\u015fturma i\u015flemini otomatikle\u015ftirmek i\u00e7in harika bir ara\u00e7t\u0131r. \u0130\u015fte, istedi\u011finiz bir uygulaman\u0131n k\u0131sayolunu t\u00fcm kullan\u0131c\u0131lar i\u00e7in olu\u015fturan basit bir PowerShell beti\u011fi: <pre><code ># Y\u00f6netici haklar\u0131yla \u00e7al\u0131\u015ft\u0131r\u0131lmal\u0131d\u0131r #Requires -RunAsAdministrator $shortcutName = \"Uygulama Ad\u0131.lnk\" $targetPath = \"C:\\Program\\Uygulama.exe\" $iconLocation = \"$targetPath,0\" # Public Desktop konumunu al $publicDesktop = ::GetFolderPath(\"CommonDesktopDirectory\") $shortcutPath = Join-Path -Path $publicDesktop -ChildPath $shortcutName try { # K\u0131sayol olu\u015ftur $WshShell = New-Object -ComObject WScript.Shell $Shortcut = $WshShell.CreateShortcut($shortcutPath) $Shortcut.TargetPath = $targetPath $Shortcut.IconLocation = $iconLocation $Shortcut.Description = \"Uygulama A\u00e7\u0131klamas\u0131\" $Shortcut.WorkingDirectory = Split-Path $targetPath -Parent $Shortcut.Save() Write-Host \"K\u0131sayol ba\u015far\u0131yla olu\u015fturuldu: $shortcutPath\" -ForegroundColor Green } catch { Write-Host \"K\u0131sayol olu\u015fturma hatas\u0131: $_\" -ForegroundColor Red } <\/code><\/pre> <h2>Yayg\u0131n Hata: Yetkisiz Eri\u015fim (Unauthorized Access)<\/h2> Beti\u011fi \u00e7al\u0131\u015ft\u0131r\u0131rken en s\u0131k kar\u015f\u0131la\u015f\u0131lan sorun \"Unauthorized Access Exception\" hatas\u0131d\u0131r. Beti\u011fin \u00e7\u0131kt\u0131s\u0131 \u015f\u00f6yle g\u00f6r\u00fcnebilir: <pre><code>Unable to save shortcut \"C:\\Users\\Public\\Desktop\\Uygulama Ad\u0131.lnk\". At line:17 char:1 + $Shortcut.Save() + ~~~~~~~~~~~~~~~~ + CategoryInfo : OperationStopped: (:) , UnauthorizedAccessException + FullyQualifiedErrorId : System.UnauthorizedAccessException <\/code><\/pre> <h3>\u00c7\u00f6z\u00fcm 1: Y\u00f6netici Olarak \u00c7al\u0131\u015ft\u0131rma<\/h3> Bu hatan\u0131n en yayg\u0131n \u00e7\u00f6z\u00fcm\u00fc, PowerShell'i Y\u00f6netici olarak \u00e7al\u0131\u015ft\u0131rmakt\u0131r: <ol> <li>PowerShell k\u0131sayoluna sa\u011f t\u0131klay\u0131n<\/li> <li>\"Y\u00f6netici olarak \u00e7al\u0131\u015ft\u0131r\" se\u00e7ene\u011fini se\u00e7in<\/li> <li>Beti\u011fi \u00e7al\u0131\u015ft\u0131r\u0131n<\/li> <\/ol> <h3>\u00c7\u00f6z\u00fcm 2: Beti\u011fi G\u00fc\u00e7lendirme<\/h3> Betik i\u00e7inde y\u00f6netici kontrol\u00fc ekleyerek hata mesajlar\u0131n\u0131 daha a\u00e7\u0131klay\u0131c\u0131 hale getirebilirsiniz: <pre><code >#Requires -RunAsAdministrator # Veya \u015fu kontrol\u00fc ekleyin if (-NOT (::GetCurrent()).IsInRole( \"Administrator\")) { Write-Warning \"Bu betik y\u00f6netici izinleri gerektirir. L\u00fctfen PowerShell'i 'Y\u00f6netici olarak \u00e7al\u0131\u015ft\u0131r' se\u00e7ene\u011fi ile ba\u015flat\u0131n.\" Break } <\/code><\/pre> <h2>Ger\u00e7ek D\u00fcnya \u00d6rne\u011fi: Edge uygulamas\u0131<\/h2> \u00d6rnek olarak, \"Edge\" adl\u0131 uygulaman\u0131n k\u0131sayolunu t\u00fcm kullan\u0131c\u0131lar i\u00e7in olu\u015fturmak istedi\u011fimizi d\u00fc\u015f\u00fcnelim. \u0130\u015fte tam betik: <pre><code >#Requires -RunAsAdministrator $shortcutName = \"Edge.lnk\" $targetPath = \"C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe\" $iconLocation = \"$targetPath,0\" # Uygulaman\u0131n kendi ikonunu kullan\u0131r # Y\u00f6netici haklar\u0131n\u0131 kontrol et if (-NOT (::GetCurrent()).IsInRole( \"Administrator\")) { Write-Warning \"Bu betik y\u00f6netici izinleri gerektirir. L\u00fctfen PowerShell'i 'Y\u00f6netici olarak \u00e7al\u0131\u015ft\u0131r' se\u00e7ene\u011fi ile ba\u015flat\u0131n.\" Break } # Public Desktop konumunu al $publicDesktop = ::GetFolderPath(\"CommonDesktopDirectory\") $shortcutPath = Join-Path -Path $publicDesktop -ChildPath $shortcutName try { # K\u0131sayol olu\u015ftur $WshShell = New-Object -ComObject WScript.Shell $Shortcut = $WshShell.CreateShortcut($shortcutPath) $Shortcut.TargetPath = $targetPath $Shortcut.IconLocation = $iconLocation $Shortcut.Description = \"Edge\" $Shortcut.WorkingDirectory = Split-Path $targetPath -Parent $Shortcut.Save() Write-Host \"K\u0131sayol ba\u015far\u0131yla olu\u015fturuldu: $shortcutPath\" -ForegroundColor Green } catch { Write-Host \"K\u0131sayol olu\u015fturma hatas\u0131: $_\" -ForegroundColor Red } <\/code><\/pre> <h2>Alternatif Y\u00f6ntemler<\/h2> <h3>Group Policy Kullan\u0131m\u0131<\/h3> Daha b\u00fcy\u00fck ortamlarda, k\u0131sayollar\u0131 Group Policy ile da\u011f\u0131tmak daha verimli olabilir: <ol> <li>Group Policy Management konsolunu a\u00e7\u0131n<\/li> <li>Bir GPO olu\u015fturun veya d\u00fczenleyin<\/li> <li>\"User Configuration\" &gt; \"Preferences\" &gt; \"Windows Settings\" &gt; \"Shortcuts\" b\u00f6l\u00fcm\u00fcne gidin<\/li> <li>Sa\u011f t\u0131klay\u0131p \"New\" &gt; \"Shortcut\" se\u00e7in<\/li> <li>K\u0131sayol \u00f6zelliklerini ayarlay\u0131n<\/li> <\/ol> <h3>Oturum A\u00e7ma Beti\u011fi Kullan\u0131m\u0131<\/h3> Kullan\u0131c\u0131lar oturum a\u00e7t\u0131\u011f\u0131nda \u00e7al\u0131\u015facak bir betik haz\u0131rlayabilirsiniz: <ol> <li>Beti\u011fi bir a\u011f payla\u015f\u0131m\u0131nda saklay\u0131n<\/li> <li>Group Policy ile oturum a\u00e7ma beti\u011fi olarak ayarlay\u0131n (User Configuration &gt; Windows Settings &gt; Scripts &gt; Logon)<\/li> <\/ol> <h2>Bilgisayar Ba\u015flang\u0131c\u0131nda \u00c7al\u0131\u015ft\u0131rma<\/h2> K\u0131sayol olu\u015fturma beti\u011finizi bilgisayar ba\u015flang\u0131c\u0131nda otomatik olarak \u00e7al\u0131\u015ft\u0131rmak i\u00e7in G\u00f6rev Zamanlay\u0131c\u0131 kullanabilirsiniz: <ol> <li>G\u00f6rev Zamanlay\u0131c\u0131'y\u0131 a\u00e7\u0131n (taskschd.msc)<\/li> <li>\"Temel G\u00f6rev Olu\u015ftur\" t\u0131klay\u0131n<\/li> <li>G\u00f6reve bir isim verin, \u00f6rn: \"PublicDesktopKisayolOlustur\"<\/li> <li>Tetikleyici olarak \"Ba\u015flang\u0131\u00e7ta\" se\u00e7in<\/li> <li>Eylem olarak \"Program ba\u015flat\" se\u00e7in<\/li> <li>Program\/betik alan\u0131na: <code>powershell.exe<\/code><\/li> <li>Parametreler alan\u0131na: <code>-ExecutionPolicy Bypass -File \"C:\\Scripts\\KisayolOlustur.ps1\"<\/code><\/li> <li>\"Son\" d\u00fc\u011fmesine t\u0131klay\u0131n<\/li> <\/ol> <h2><\/h2> Windows Server ortam\u0131nda t\u00fcm kullan\u0131c\u0131lar\u0131n masa\u00fcst\u00fcne k\u0131sayol eklemek, Public Desktop klas\u00f6r\u00fcn\u00fc kullanarak olduk\u00e7a kolayd\u0131r. Bu y\u00f6ntem, \u00f6zellikle Remote Desktop Services ortamlar\u0131nda kullan\u0131c\u0131lara \u00f6nemli uygulamalara h\u0131zl\u0131 eri\u015fim sa\u011flar. Kar\u015f\u0131la\u015fabilece\u011finiz en yayg\u0131n sorun yetkilendirme hatas\u0131 olacakt\u0131r, bu nedenle beti\u011fi her zaman y\u00f6netici olarak \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zdan emin olun. Daha b\u00fcy\u00fck a\u011flarda ise Group Policy kullan\u0131m\u0131 daha verimli bir \u00e7\u00f6z\u00fcm sunabilir. <hr \/> <em>Bu yaz\u0131y\u0131 faydal\u0131 buldunuz mu? Yorumlar\u0131n\u0131z\u0131 a\u015fa\u011f\u0131da payla\u015f\u0131n ve di\u011fer Windows Server y\u00f6netim ipu\u00e7lar\u0131 i\u00e7in blogumuzu takip etmeyi unutmay\u0131n!<\/em>","excerpt":"Bir a\u011f ortam\u0131nda y\u00f6netici olarak \u00e7al\u0131\u015f\u0131yorsan\u0131z, kullan\u0131c\u0131lar\u0131n\u0131z\u0131n \u00f6nemli uygulamalara h\u0131zl\u0131 eri\u015fim sa\u011flamas\u0131n\u0131...","created_at":"2025-03-28 15:42:17","updated_at":"2026-09-08 03:21:43","category_id":8,"view_count":842,"reading_time":5,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2025-03-28 15:42:17","featured_image":"resimyok.jpg","slug":"756-2","category_name":"Active Directory \/Azure","category_slug":"active-directory-azure"}