T-SQL Kullanarak CMD Komutlarını Çalıştırma
Bu makalede T-SQL komutlarını ve Sql Server Management Studio programını kullanarak, işletim sisteminde komut satırı komutları çalıştırıp çıktılarını Management Studio’ da gözlemleyebilmemize dair içeriğe yer verilmiştir.
xp_cmdshell, Sql Server üzerinde yazacağımız T-SQL kodları ile işletim sisteminde komut satırı komutları çalıştırmamıza imkan sağlayan bir stored prosedürdür. Sql Server kurulumu yapıldığı zaman xp_cmdshell prosedürünün varsayılan durumu devre dışı olarak kullanıcıyı karşılamaktadır. Gerektiği zaman xp_cmdshell prosedürü çalıştırılabilir fakat bu işlem yapıldığında gerekli güvenlik önlemlerinin alınması gerekir aksi takdirde veri kaybı veya siber güvenlik açıkları gibi hatalar oluşabilir.
xp_cmdshell prosedürünü kullanabilmek için Sql Server üzerinde xp_cmdshell prosedürünü aktifleştirmek gerekir. xp_cmdshell prosedürünü aktifleştirmek için ilk önce sp_configure stored prosedürünü kullanarak gelişmiş seçenekleri görüntüleyip, config_value değerini 1 olarak değiştirmemiz gerekmektedir ve devamında Reconfigure komutu ile yapmış olduğumuz değişiklikleri kaydetmemiz gerekir. sp_configure stored prosedürünün genel söz dizimi aşağıdaki gibidir:
sp_configure OptionName, ConfigValue
sp_configure prosedürü ile config_value değerini değiştirip değişiklikleri onayladıktan sonra xp_cmdshell prosedürünü aktifleştirmek için gerekli T-SQL kodlarını yazabiliriz. Bu işlemi sp_configure stored prosedürü ile gerçekleştireceğiz. sp_configure stored prosedürünü kullanarak xp_cmdshell seçeneğinin konfigürasyon değerini 1 olarak atamamız ve yapmış olduğumuz konfigürasyon değişikliklerini Reconfigure komutu ile kayıt etmemiz gerekmektedir. Bu işlemleri master veritabanı üzerinde gerçekleştirdiğimiz takdirde xp_cmdshell stored prosedürünü aktifleştirebiliriz.
Sql Server Management Studio üzerinde yeni bir sorgu penceresi açarak ve aşağıda yer alan T-SQL kodlarını sorgu penceresinde çalıştırarak xp_cmdshell prosedürünü aktifleştirebiliriz.
USE master;
EXEC sp_configure ‘show advanced options’, 1;
GO
Reconfigure;
GO
EXEC sp_configure ‘xp_cmdshell’, 1;
GO
Reconfigure;
GO
Aşağıda yer alan söz dizimini baz alarak yazacağımız T-SQL kodları ile komut satırı komutlarımızı Management Studio üzerinden çalıştırıp ekran çıktısını gözlemleyebiliriz.
EXEC xp_cmdshell ‘komut_satiri_kodumuz’;
Örneğin xp_cmdshell prosedürünü kullanarak bilgisayarımızın C dizininde bulunan bir klasörün içeriğini listelemek istediğimizde aşağıda yer alan T-SQL komutunu çalıştırmamız yeterli olacaktır.
EXEC xp_cmdshell ‘dir C:\newapp’;
Yukarı yer alan komutu çalıştırdığımız zaman bilgisayarımızın C dizininde bulunan newapp isimli klasör içinde bulunan dosyalarının listesine erişim sağlamamız gerekmektedir. Komutumuzu çalıştırdığımız zaman aşağıda yer alan ekran görüntüsünün bizi karşıladığı ve yapmış olduğumuz işlemin başarılı olduğunu gözlemleyebilmekteyiz.
Kaynakça:
Yazar: Hasan Adıgüzel, Şubat 2021
Web Sitesi: http://hasanadiguzel.com.tr