Menü Kapat

Logon Script mi, Startup Script mi? Doğru Seçimi Yapmak Neden Önemli?


Sistem yöneticileri olarak Grup İlkesi (Group Policy) yönetiminde sıkça karşımıza çıkan iki önemli kavram var: Logon script ve startup script. İlk bakışta benzer gibi görünseler de, aslında bu iki betik türü arasında çok önemli farklar var. Doğru yerde doğru script’i kullanmak, hem güvenlik hem de sistem yönetimi açısından kritik bir rol oynuyor.

Peki bu script’ler tam olarak nedir ve ne işe yarar? Hangisini hangi durumda kullanmalıyız? Bu yazıda bu soruların yanıtlarını sade ve anlaşılır bir şekilde ele alacağım.

Logon Script Nedir?

Logon script, adından da anlaşılacağı gibi bir kullanıcı sisteme oturum açtığında devreye giren komut dosyasıdır. Genellikle kullanıcı özelinde yapılan işlemler için kullanılır. Örneğin:

  • Ağ sürücülerinin haritalanması
  • Belirli programların başlatılması
  • Kullanıcıya özel ayarların yapılması

Bu script’ler kullanıcının yetkileri dahilinde çalışır. Yani bir domain kullanıcısının yapabileceği her şeyi yapabilir; ama sistem düzeyindeki ayarlara müdahale edemez.

Grup İlkesi üzerinden bu script’i tanımlamak için şu yolu izlersiniz:

User Configuration → Windows Settings → Scripts (Logon/Logoff)

Startup Script Nedir?

logon startup scriot

Startup script ise bilgisayar açıldığında, yani sistem henüz kullanıcı oturumu açmadan önce çalışan bir betiktir. Bu script’ler bilgisayar düzeyinde çalışır ve Local System hesabı yetkileriyle devreye girer. Bu da onlara çok daha geniş bir kontrol alanı sağlar.

Örneğin:

  • Bilgisayara yazılım yüklemek
  • Sistem hizmetlerini başlatmak veya durdurmak
  • Yerel yönetici (local admin) şifresini değiştirmek
  • Sistem yapılandırmasını değiştirmek

Gibi işlemler için startup script tercih edilir.

Grup İlkesi’nde şu adresten tanımlanır:

Computer Configuration → Windows Settings → Scripts (Startup/Shutdown)

Örnek PowerShell Komutları

Aşağıda hem logon hem de startup script’lerde kullanılabilecek bazı PowerShell komut örnekleri yer alıyor.

Logon Script Örneği: Ağ Sürücüsü Ekleme

New-PSDrive -Name "Z" -PSProvider "FileSystem" -Root "\\sunucu_adı\paylaşım" -Persist

Bu komut, kullanıcının oturum açtığında Z: harfine bir ağ sürücüsü bağlamasını sağlar.
-Persist → Haritalanan sürücünün oturumlar arasında kalıcı olmasını sağlar (Windows Explorer’da da görünür hale getirir).

-Name "Z" → Oluşturulacak sürücünün harfidir. Bu örnekte Z: olarak atanacak.

-PSProvider "FileSystem" → Dosya sistemi sağlayıcısını kullanır.

-Root "\\sunucu_adı\paylaşım" → Bağlanılacak ağ paylaşım yolunu belirtir. Gerçek bir UNC yolu olmalı (örneğin \\fileserver01\public).

Startup Script Örneği: Yerel Yönetici Şifresi Değiştirme

net user Administrator YeniSifre123!

Veya PowerShell ile:

$admin = [ADSI]"WinNT://./Administrator,user"
$admin.SetPassword("YeniSifre123!")

Bu komut, sistem açılışında yerel yönetici hesabının şifresini değiştirir. Bu işlem, yalnızca startup script ile mümkündür çünkü sistem seviyesinde yetki gerektirir.

Sık Yapılan Hatalar

Script kullanımı sırasında en çok karşılaşılan hataları aşağıda sıraladık:

1. Yanlış Script Türünü Kullanmak

  • Kullanıcıya özel bir işlem için startup script kullanmak (örneğin masaüstü kısayolu eklemek) → Çalışmaz.
  • Sistem düzeyinde bir işlem için logon script kullanmak (örneğin admin şifresi değiştirmek) → Yetki hatası verir.

2. Dosya Yolu ve Erişim Hataları

  • Script dosyasının ağ üzerinden erişilemediği durumlar
  • Script’in bulunduğu klasöre “Authenticated Users” grubunun erişim yetkisi olmaması

3. PowerShell Execution Policy Sorunları

  • Script’ler PowerShell tarafından engellenebilir. Bu durumda aşağıdaki komutla politika gevşetilebilir:
Set-ExecutionPolicy RemoteSigned -Scope LocalMachine

4. Script’in Hedefe Ulaşmaması

  • Script GPO’ya eklense bile, hedef kullanıcıya ya da bilgisayara uygulanmadığı için çalışmayabilir.
  • GPO’nun doğru OU (Organizational Unit) altında olduğundan emin olun.

Sonuç: Basit Bir Fark, Büyük Sonuçlar

Logon ve startup script’ler arasındaki fark küçük gibi görünse de, etkileri büyüktür. Yanlış yerde kullanılan bir script, ya hiç çalışmaz ya da güvenlik açıklarına yol açabilir.

Bu nedenle şunu unutmamakta fayda var:

  • Logon script → Kullanıcı seviyesinde çalışır
  • Startup script → Sistem seviyesinde çalışır

GPO yapılandırmalarınızda bu ayrımı dikkate alarak, hem daha güvenli hem de daha verimli sistem yönetimi sağlayabilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir