gulcanerdal
Öğrenci
- Katılım
- 13 Ağustos 2012
- Mesajlar
- 6
- Reaksiyon puanı
- 0
- Puanları
- 0
Meraba arkadaşlar.
Remote Process ile ilgili bir proje yapıyorum. Uzaktaki bir makinenin processlerine erişip, kill etmek istiyorum. WMI ile yapmaya calısyorum. Localde yazdıgın kodalrda sorun yok. Sorunsuz çalışıyorlar. Lakin uzak makineye bağlanırken "RPC sunucusu kullanılamıyor. (HRESULT özel durum döndürdü: 0x800706BA)" hatası alıyorum. 1 haftadır ugrasıyorum , hala bulamadım.
Çalısan processleri getirmeye çalıştıgım fonksiyon ise aşağıda;
public static DataTable remoteProcessGetir(string kAdi, string kSifre, string IP)
{
ConnectionOptions op = new ConnectionOptions();
op.Username = kAdi;
op.Password = kSifre;
op.Impersonation = ImpersonationLevel.Impersonate;
op.Authentication = AuthenticationLevel.PacketPrivacy;
ManagementScope scp = new ManagementScope(@"\\" + IP + @"\root\cimv2", op);
ObjectQuery q = new ObjectQuery("select * from Win32_Process");
ManagementObjectSearcher search = new ManagementObjectSearcher(scp, q);
ManagementObjectCollection process = search.Get(); // hatayı bu satırda alıyorum.
DataTable t = new DataTable();
t.Columns.Add("Ad", Type.GetType("System.String"));
t.Columns.Add("ProcessId", Type.GetType("System.Int32"));
t.Columns.Add("Açıklama", Type.GetType("System.String"));
t.Columns.Add("Yol", Type.GetType("System.String"));
foreach (ManagementBaseObject obj in process)
{
DataRow row = t.NewRow();
row["Ad"] = obj["Name"].ToString();
row["ProcessId"] = Convert.ToInt32(obj["ProcessId"]);
if (obj["Caption"] != null)
row["Açıklama"] = obj["Caption"].ToString();
if (obj["ExecutablePath"] != null)
row["Yol"] = obj["ExecutablePath"].ToString();
t.Rows.Add(row);
}
return t;
}
Çok örnek inceledim. Hala nerden kaynaklı bulamadım. . yardımlarınız için şimdiden çok tşkkür ederim.
Remote Process ile ilgili bir proje yapıyorum. Uzaktaki bir makinenin processlerine erişip, kill etmek istiyorum. WMI ile yapmaya calısyorum. Localde yazdıgın kodalrda sorun yok. Sorunsuz çalışıyorlar. Lakin uzak makineye bağlanırken "RPC sunucusu kullanılamıyor. (HRESULT özel durum döndürdü: 0x800706BA)" hatası alıyorum. 1 haftadır ugrasıyorum , hala bulamadım.
Çalısan processleri getirmeye çalıştıgım fonksiyon ise aşağıda;
public static DataTable remoteProcessGetir(string kAdi, string kSifre, string IP)
{
ConnectionOptions op = new ConnectionOptions();
op.Username = kAdi;
op.Password = kSifre;
op.Impersonation = ImpersonationLevel.Impersonate;
op.Authentication = AuthenticationLevel.PacketPrivacy;
ManagementScope scp = new ManagementScope(@"\\" + IP + @"\root\cimv2", op);
ObjectQuery q = new ObjectQuery("select * from Win32_Process");
ManagementObjectSearcher search = new ManagementObjectSearcher(scp, q);
ManagementObjectCollection process = search.Get(); // hatayı bu satırda alıyorum.
DataTable t = new DataTable();
t.Columns.Add("Ad", Type.GetType("System.String"));
t.Columns.Add("ProcessId", Type.GetType("System.Int32"));
t.Columns.Add("Açıklama", Type.GetType("System.String"));
t.Columns.Add("Yol", Type.GetType("System.String"));
foreach (ManagementBaseObject obj in process)
{
DataRow row = t.NewRow();
row["Ad"] = obj["Name"].ToString();
row["ProcessId"] = Convert.ToInt32(obj["ProcessId"]);
if (obj["Caption"] != null)
row["Açıklama"] = obj["Caption"].ToString();
if (obj["ExecutablePath"] != null)
row["Yol"] = obj["ExecutablePath"].ToString();
t.Rows.Add(row);
}
return t;
}
Çok örnek inceledim. Hala nerden kaynaklı bulamadım. . yardımlarınız için şimdiden çok tşkkür ederim.