Удаленное администрирование. Что актуальнее - WMI или Remoting - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток. В одном из постов но я уже кажется писал что занимаюсь разработкой программы для удаленного администрирования ПК по ЛВС. Программа должна предоставлять возможность просматривать и управлять процессами, файловой системой, реестром. Основой для разработки первоначально была выбрана среда Net Remoting, то есть используется два приложения, клиент и сервер. Но недавно наткнувшись на статью о WMI натолкнуло на мысль - а подходит ли Remoting для решения подобной задачи, или лучше использовать WMI для того же сбора информации о системе, или другие инструменты нежели Remoting? Вот так например мной реализован сбор процессов в удаленной машине(только куски кода): Сервер(а точнее его библиотека)
 public Process[] process;
 public void GetListOfProcess()
 {
    process = Process.GetProcesses();
 }
Клиент
TcpChannel tcpChannel = new TcpChannel();
ChannelServices.RegisterChannel(tcpChannel);
//удаленный класс
public RemoteDesktop Desktop;
Desktop = (RemoteDesktop)Activator.GetObject(typeof(RemoteDesktop), "tcp://192.168.56.2:8080/PCManagement");
 
private void GetProcessList()
{
 
    Desktop.GetListOfProcess();
    Process[] p = Desktop.process;
    foreach (Process proc in p)
    {
    // вывод данных процесса
    }
                
}
Подскажите кто может и знает какими "инструментами" лучше пользоваться для разработки подобного приложения, Remoting или что то другое? И ещё сразу один вопрос не создавая темы, как узнать какой из установленных фреймворков участвует в сборке приложения? А то я пишу приложение на Xp, там версий несколько, а на Win7 приложение нормально не работает, нужно поставить на обе машины версию фреймворка с Win7 а остальные удалить, или как? Спасибо всем откликнувшемся и хватившим терпения дочитать вопрос до конца

Решение задачи: «Удаленное администрирование. Что актуальнее - WMI или Remoting»

textual
Листинг программы
string s;
//Текущая папка.
s = Environment.CurrentDirectory;
Console.WriteLine("Текущая папка: {0}.", s);
//Системная папка.
s = Environment.SystemDirectory;
Console.WriteLine("Системная папка: {0}.", s);
//Имя компьютера.
s = Environment.MachineName;
Console.WriteLine("Имя компьютера: {0}.", s);
//Oперационная система и ее версия.
OperatingSystem os = Environment.OSVersion;
Console.WriteLine("Операционная система: {0}, версия {1}.", os.Platform, os.Version);
//Версия платформы .NET.
Version ver = Environment.Version;
Console.WriteLine("Версия платформы .NET: {0}.{1}.", ver.Major, ver.Minor);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5
Похожие ответы