Uzaktan bağladığım üç uzak PC'im var. Belirli bir işlemin, makinelerden herhangi birinde çalışıp çalışmadığını tek bir pencerede görüntüleyen basit bir Windows uygulaması yazmaya çalışıyorum.Uzak bir makinede çalışan bir işlem mi?
Server1: Krom sunucu2
çalışmıyor: Chrome IS Server3: KromBen WMI ve C# kullanılan
çalışan IS. Şimdiye kadar bu kadar var: ConnectionOptions connectoptions = new ConnectionOptions();
connectoptions.Username = @"domain\username";
connectoptions.Password = "password";
//IP Address of the remote machine
string ipAddress = "192.168.0.217";
ManagementScope scope = new ManagementScope(@"\\" + ipAddress + @"\root\cimv2");
scope.Options = connectoptions;
//Define the WMI query to be executed on the remote machine
SelectQuery query = new SelectQuery("select * from Win32_Process");
using (ManagementObjectSearcher searcher = new
ManagementObjectSearcher(scope, query))
{
ManagementObjectCollection collection = searcher.Get();
foreach (ManagementObject process in collection)
{
// dwarfs stole the code!! :'(
}
}
Ben her doğru bir şekilde kurulmuş düşünüyorum, ama MessageBox.Show if (process.ToString()) foreach döngüsü içinde ben mesajın bir sürü olsun Aşağıdaki metin kutusu:
Sıkışmış durumdayım. XXX'u bir işlem adına "çevirebileceğim" herhangi bir yol var mı? Ya da, aslında süreçlerin isimlerini nasıl alabilirim, böylece bir "krom" işlemi olup olmadığını kontrol etmek için bir if ifadesini kullanabilirim?
Ya da benim ... uygulamam aşırı mı? Bunu başarmanın daha kolay bir yolu var mı?
Çok teşekkürler!
"Ad" gibi özelliklerin bir listesini nerede bulabilirim? Çalışır, sadece nereden aldığınızdan emin değil .. – Krzysiek
İyi soru - bir yerde bir liste olmalı. IIRC, ben aslında bu CodeProject.com bir örnek aldım. –
Win32_Process WMI sınıfındaki özellikler MSDN belgelerinde listelenmiştir http://msdn.microsoft.com/en-us/library/windows/desktop/aa394372%28v=vs.85%29.aspx – RRUZ