Jump to content
Son zamanlarda artan kullanıcı hesap hırsızlıkları sebebiyle tüm kullanıcılara şifre sıfırlama maili gönderilmiştir. Lütfen güveli şifreler seçiniz. Mevcut e-mail adresinize erişemiyorsanız, en aşağıdaki destek linkinden bize ulaşınız. ×

Agdaki Bilgisayarda Komut çalıştırmak


bellas
 Share

Recommended Posts

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..

Link to comment
Share on other sites

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 :D

Link to comment
Share on other sites

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:

screenshot_127.png

 

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.

 

  • Like 2
Link to comment
Share on other sites

  • 3 hafta sonra ...
  • Editor
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");

  • Like 1
Link to comment
Share on other sites

  • 5 ay sonra...
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:

screenshot_127.png

 

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ı)

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...