Windows Komut Ortamından Yönetim – Uzaktan Oturum Açma

PSExec

Her gün onlarca defa yaptığımız şey: uzak masaüstü bağlantısı, kullanıcı adı, şifre, etki alanı girişi, oturum açılmasını bekleme ve muhtemel iki sonuçtan bir tanesi:

  1. Başarılı olarak oturum açma ve arka planda çalışan servislerin ve süreçlerin (process) tamamlanması,
  2. “Terminal server maksimum kullanıcı sayısına ulaştı” (The terminal server has exceeded the maximum number of allowed connections) uyarı mesajı Eğer 2. madde başımıza gelirse, o zaman Terminal Sessions Manager ya da Remote Desktop Manager kurulu bir sunucu bulmamız, bu sunucuya oturum açmamız ve inactive/disconnected kullanıcılardan birisinin oturumunu kapatmamız gerekir; tabii eğer bulduğumuz sunucuya oturum açarken de “maksimum kullanıcı sayısına ulaşıldı” mesajını almazsak. Eğer alırsak, tüm sürece baştan başlarız ve istediğimiz durumda bir sunucu bulana kadar bu arayışımız devam eder.

Peki sistem yöneticileri olarak bu kadar vaktimiz var mı? Açıkçası ben herhangi bir çalışma günümde bu şekilde bir sunucu arayışı ve oturum açma, oturumu aktif durumda olmayan kullanıcıları bulup sistemden oturumlarını kapatma ve sonrasında tekrardan işimin olduğu sunucuya bağlanma gibi zaman kayıplarına ne yazık ki tahammülüm yok.

Bu durumda benim can simidim Windows sunucuların komut ortamına uzaktan bağlanmak için kullandığım PS araçlarından psexec. PS araçları ünlü hacker (kelime anlamında hacker, “korsan” anlamında değil) Mark Russinovich tarafından yazılmış, Windows sistemlerin komut ortamına uzaktan bağlanmak için yazılmış araçlar. Ben bu araçlar içinden en çok psexecaracını kullanıyorum (PS araçlarının en güzel yanlarından birisi de kurulum gerektirmemeleri. İndirdiğiniz zip dosyasının içeriğini %SystemRoot%System32 dizini (ya da C:WindowsSystem32 ya da PATH tanımınızda olan herhangi bir dizini) altına açtığınızda PS araçları kullanıma hazır durumda olacaktır.)

Uzaktan Erişim ve Oturum Açma – Windows Server 2003

Her komut ortamından kullanılan program gibi psexecaracının da belirli bir söz dizimi (syntax) var. psexec, uzaktan bağlantı kurup oturum açtığında karşı sunucu üzerinde çalıştırılması istenen programın bağlantıdan önce belirlenmesini zorunlu kılar (ben her zaman kullanımım sırasında bağlantıdan sonra komut ortamının çalıştırılmasını isterim.) Bu durumda psexeckomutunun kullanımı şu şekilde olacak:

psexec SİSTEM_ADI –u etki_alanıkullanıcı_adı [-p şifre] KOMUT

veya

psexec IP –u etki_alanıkullanıcı_adı [-p şifre] KOMUT

Burada [-p şifre] alanının isteğe bağlı olduğuna dikkat edelim. Eğer bağlantı sırasında psexec komutuna bir şifre girmezseniz, psexec size bağlantı sırasında şifre soracaktır.

Bir örnekle devam edelim: diyelim ki ben 192.168.1.10 IP adresli DC01 isimli, contoso.com etki alanında bulunan sunucuma cntyonetici kullanıcı adım ve cntsifre şifrem ile bağlanmak ve bağlandıktan sonra da komut satırının çalıştırılmasını istiyorum. Bu durumda benim psexec komutum şu şekilde olacak:

psexec DC01 –u contosocntsuser –p cntsifre cmd

veya

psexec 192.168.1.10 –u contosocntsuser –p cntsifre cmd

Eğer –p cntsifre kısmını yazmamış olsaydım, bağlantı sırasında psexec bana şifre soracaktı.

Uzaktan Erişim ve Oturum Açma – Windows Server 2008, 2008 R2

Windows Vista ile birlikte gelen Kullanıcı Hesap Kontrolünün (User Account Control – UAC) PS araçları üzerinde de etkisi oldu. “Yönetici olarak çalıştır” (Run as Administrator) seçeneğini komut satırından seçemeyeceğimiz için, Server 2008 ve sonrası sistemlere Server 2003 tabanlı sistemler gibi bağlanmaya çalıştığımızda, bağlanmaya çalıştığımız sunucu bağlantıya izin vermeyecek ve bağlantıyı kesecektir.

Bu sorunu 2 adımla aşabiliriz:

  1. Kendi bilgisayarımızda komut ortamını çalıştırdığımız kısayola Shift + Sağ tıklayıp “Diğer kullanıcı olarak çalıştır” (Run as a different user) seçip, yönetici kullanıcı adı ve şifremizi girerek hakları yükseltilmiş (elevated) bir komut ortamı açarız ve,
  2. psexec aracını –h değişkeni ile kullanırız.

Yani, örneğimizdeki psexec komutunu hakları yükseltilmiş bir komut ortamında aşağıdaki gibi çalıştırmamız gerekiyor:

psexec –h DC01 –u contosocntsuser –p cntsifre cmd

veya

psexec -h 192.168.1.10 –u contosocntsuser –p cntsifre cmd

Sonuç

Bir çok sistem yöneticisi çeşitli sebeplerle Windows komut satırını kullanmayı pek tercih etmiyor. Windows komut satırı mevcut hâliyle *NIX işletim sistemleri kadar üst seviyede olmayabilir (Powershell’i bu söylemimden ayrı tutuyorum) ancak birçok işi yapmak için gerekli araçları sunduğu da yadsınamaz bir gerçek. Kendinize grafik kullanıcı arabiriminden biraz zaman ayırıp komut ortamında çalışmaya başladığınızda kendi kendinize neden bu kadar zamandır komut satırını kullanmadığınızı sormaya başlayacaksınız.

Reklamlar

Windows Komut Ortamından Yönetim – Uzaktan Oturum Açma” üzerine bir düşünce

  1. Geri bildirim: Windows 2008, 2008 R2 Terminal Sunucularda Sistemin “Please wait for the System Event Notification Service” Bildiriminde Askıda Kalma Durumunun Çözümü | Tolga'nın kişisel blog'u

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s