bellas Posted October 5, 2017 Share Posted October 5, 2017 selam öncelikle hepinize kolay gelsin simdi benim bir cafem var ve anamakinadan agdaki bilgisayarlarda komut calistirmak istiyorum ) mesela birer exem var onlar calısacak simdi sorum su diyelin agımda 192.168.1.20 numarali ipim bir masaya bagli o masa acık olup olmadıgını nasil kontrol ettirecem.. ikincisi masa acık diyelim orada c:/özel/calis.exe diye bir dosyam var ama o makinada calisacak benim ana masamda değil ? bunu nasil yapacam.. scoket programlama ile yapilacak dediginizi duydum.. evet soket ile yapiliyor ama bana bir örnek proje verebilirmisiniz.. diyelim agda 150 makinam var bu makinaların acık olup olmadıgını formda göstermek istiyorum ve bu açık olan makinaların hepsinde c: de olan bir programı çalıştırmak istiyorum.. bu konuda yardımcı olabilirmisiniz.. Quote Link to comment Share on other sites More sharing options...
MehmetYildiz Posted October 6, 2017 Share Posted October 6, 2017 bellas, 7 saat önce yazdı: selam öncelikle hepinize kolay gelsin simdi benim bir cafem var ve anamakinadan agdaki bilgisayarlarda komut calistirmak istiyorum ) mesela birer exem var onlar calısacak simdi sorum su diyelin agımda 192.168.1.20 numarali ipim bir masaya bagli o masa acık olup olmadıgını nasil kontrol ettirecem.. ikincisi masa acık diyelim orada c:/özel/calis.exe diye bir dosyam var ama o makinada calisacak benim ana masamda değil ? bunu nasil yapacam.. scoket programlama ile yapilacak dediginizi duydum.. evet soket ile yapiliyor ama bana bir örnek proje verebilirmisiniz.. diyelim agda 150 makinam var bu makinaların acık olup olmadıgını formda göstermek istiyorum ve bu açık olan makinaların hepsinde c: de olan bir programı çalıştırmak istiyorum.. bu konuda yardımcı olabilirmisiniz.. Please register to see this content. Bu yazılıma para mı vereceğim dediğini duydum.. evet ticari iş yapıyorsan böyle bir yazılım kullanmalısın Quote Link to comment Share on other sites More sharing options...
KintaRo Posted October 6, 2017 Share Posted October 6, 2017 Biglisayarları açık/kapalı kontrolunun en kısa yolu ping atmak using System.Net.NetworkInformation; Ping ping = new Ping(); PingReply pingReply = ping.Send("192.168.1.11", 5000); if (pingReply == IPStatus.Success) { // bilgisayar açık } else { // bilgisayar kapalı } Ping olayını şu projede kullanmıştım, iyi çalışıyordu: Başka bilgisayarlarda program çalıştırmak ise biraz karmaşık. Şu an proje veremem ama aklıma gelen bir kaç yöntem: 1- socket: öncelikle bir windows servisi ya da sürekli çalışacak şekilde küçük bir uygulama yazıp örneğin 1420 portunu dinleyecek şekilde ayarlamanız gerekiyor. bu program bu porta gelen istek var mı yok mu diye sürekli kontrol edecek, istek gelirse belirlenen programı çalıştıracak. Yapacağınız ana program ise bu porta istek gönderecek 2- INI dosyası: Ana makinada bulunan bir ini dosyasını paylaşıma açıp client'lerin bunu timer ile kontrol edip ilgili değişkendeki veri değiştiğinde işlem yapması. Bu zahmetli bir iş ve Eğer Windows Server kullanmıyorsanız 20 makinadan sonra ağ paylaşımında sorun olacaktır. 3- MySQL Server: ana makinaya mysql server kurulur, veritabanına tüm makinalar eklenir. Clientler sql sorgusu ile kendi değerlerini kontrol eder. Örneğin makina 1'in verisi 0 dan 1 e döndüğünde program çalışır, sonra veri tekrar 0 olur. (SELECT kontrol FROM bilgisayarlar WHERE ip='192.168.1.11') Burada en doğru yol socket ama en kolayı mysql ile yapmak sanırım. soket programlama için güzel bir yazı ve örnek şurada var: Please register to see this content. 2 Quote Link to comment Share on other sites More sharing options...
bellas Posted October 6, 2017 Author Share Posted October 6, 2017 Verdigin bilgi için cok saol mysql olayi kafama yattı uzak mysql ile yapmayı deneyecem 1 Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted October 24, 2017 Editor Share Posted October 24, 2017 public static void RunRemoteCommand(string command, string RemoteMachineName, string username,string password) { var connection = new ConnectionOptions(); connection.Username = username; connection.Password = password; ManagementScope WMIscope = new ManagementScope( String.Format("\\\\{0}\\root\\cimv2", RemoteMachineName), connection); WMIscope.Connect(); ManagementClass WMIprocess = new ManagementClass( WMIscope, new ManagementPath("Win32_Process"), new ObjectGetOptions()); object[] process = { command }; object result = WMIprocess.InvokeMethod("Create", process); Log.Comment("Creation of process returned: " + result); } Bu methoduda kullanabilirsiniz. Örn : RunRemoteCommand("cmd.exe","bilgisayar adı / IP Adresi","username","password"); 1 Quote Link to comment Share on other sites More sharing options...
shalyangose Posted March 31, 2018 Share Posted March 31, 2018 KintaRo, 06.10.2017 - 10:18 yazdı: Biglisayarları açık/kapalı kontrolunun en kısa yolu ping atmak using System.Net.NetworkInformation; Ping ping = new Ping(); PingReply pingReply = ping.Send("192.168.1.11", 5000); if (pingReply == IPStatus.Success) { // bilgisayar açık } else { // bilgisayar kapalı } Ping olayını şu projede kullanmıştım, iyi çalışıyordu: Başka bilgisayarlarda program çalıştırmak ise biraz karmaşık. Şu an proje veremem ama aklıma gelen bir kaç yöntem: 1- socket: öncelikle bir windows servisi ya da sürekli çalışacak şekilde küçük bir uygulama yazıp örneğin 1420 portunu dinleyecek şekilde ayarlamanız gerekiyor. bu program bu porta gelen istek var mı yok mu diye sürekli kontrol edecek, istek gelirse belirlenen programı çalıştıracak. Yapacağınız ana program ise bu porta istek gönderecek 2- INI dosyası: Ana makinada bulunan bir ini dosyasını paylaşıma açıp client'lerin bunu timer ile kontrol edip ilgili değişkendeki veri değiştiğinde işlem yapması. Bu zahmetli bir iş ve Eğer Windows Server kullanmıyorsanız 20 makinadan sonra ağ paylaşımında sorun olacaktır. 3- MySQL Server: ana makinaya mysql server kurulur, veritabanına tüm makinalar eklenir. Clientler sql sorgusu ile kendi değerlerini kontrol eder. Örneğin makina 1'in verisi 0 dan 1 e döndüğünde program çalışır, sonra veri tekrar 0 olur. (SELECT kontrol FROM bilgisayarlar WHERE ip='192.168.1.11') Burada en doğru yol socket ama en kolayı mysql ile yapmak sanırım. soket programlama için güzel bir yazı ve örnek şurada var: Please register to see this content. Konnektor isimli uygulamayı paylaşmanız mümkün mü acaba? (Proje Dosyasını) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.