7 Mart 2012 Çarşamba

RunAs Komutunu C# code'u içerisine ekleyerek program çağırmak

Domain'lerde Admin'ler mümkün olduğunca kullanıcı yetkilerini kısıtlama yoluna giderler. Bu yüzden domain'lerde yazılan script'ler mümkün olduğunca RunAs parametresi ile çağrılır. Genelde yazılan script'lerde ya LsRunase gibi encript edilmiş password'ler kullanılır.

Bu yazımda c# ile visual studio ortamında RunAs işini yapabilecek bir exe'yi nasıl yapılandırabileceğimizi gösteren code parçasını paylaşıyor olacağım.

Bu programı kullandığınızda sisteminizde oluşacak olan herhangi bir sorunda sorumluluk kabul edilmemektedir. Parametrelerinizi dikkatli oluşturunuz.


Eklemeniz gereken referanslar

using System.Diagnostics;
using System.IO;
using System.Security;

//Code

System.Diagnostics.Process proc = new System.Diagnostics.Process();
System.Security.SecureString ssPwd = new System.Security.SecureString();

proc.StartInfo.UseShellExecute = false;
proc.StartInfo.FileName = "Çalıştıracağınız programın adını yazın";
proc.StartInfo.Domain = " buraya runas'in çalışacağı alan adını yazın";
proc.StartInfo.UserName = " buraya runas ile çalışacak olan kullanıcının adını yazın";

string password = "buraya runas ile çalışacak olan kullanıcının şifresini yazın";

for (int x = 0; x < password.Length; x++)
{
ssPwd.AppendChar(password[x]);
}

proc.StartInfo.Password = ssPwd;
proc.Start();

5 Mart 2012 Pazartesi

Txt Dosyasının İçerisinde Kelime Arama

Yazdığımız programlarda mutlaka bir text dosyasının içerisinde bir datayı bulma ihtiyacı doğmuştur. Aşağıdaki code parçasında bir text file içerisinde aradığımız kelimeyi nasıl bulabileceğinizi göstereceğim.

text dosyamızın adı deneme içeriği de aşağıdaki gibi olsun;

1245,bilgi1
1244,bilgi2

aradığımız kelime bilgi2 olsun;

//bilgi2 kelimesi , den sonra geleceğinden ayaraç olarak kullanacağımız karakteri aşağıdaki değişkene tanımlıyoruz.

char[] delimiterChars = { ',' };
int counter = 0;
string line;

// Dosyayı okumak için açıyoruz
System.IO.StreamReader file = new System.IO.StreamReader("c:\\deneme.txt");
while ((line = file.ReadLine()) != null)
{
if (line.Contains("1244"))
{
line = counter.ToString();
string line1;
using (StreamReader sr = new StreamReader("c:\\deneme.txt"))
for (int i = 0; i <= counter; i++)
{
string aranansatir = sr.ReadLine();
if (i == counter)
{
string[] words = aranansatir.Split(delimiterChars);
line1 = aranansatir;
string width = words[1].ToString();
}
}
//Console.WriteLine(counter.ToString() + ": " + line);
}

counter++;