Удаленное администрирование. Что актуальнее - WMI или Remoting - C#
Формулировка задачи:
Всем доброго времени суток. В одном из постов но я уже кажется писал что занимаюсь разработкой программы для удаленного администрирования ПК по ЛВС. Программа должна предоставлять возможность просматривать и управлять процессами, файловой системой, реестром. Основой для разработки первоначально была выбрана среда Net Remoting, то есть используется два приложения, клиент и сервер. Но недавно наткнувшись на статью о WMI натолкнуло на мысль - а подходит ли Remoting для решения подобной задачи, или лучше использовать WMI для того же сбора информации о системе, или другие инструменты нежели Remoting? Вот так например мной реализован сбор процессов в удаленной машине(только куски кода):
Сервер(а точнее его библиотека)
Клиент
Подскажите кто может и знает какими "инструментами" лучше пользоваться для разработки подобного приложения, Remoting или что то другое? И ещё сразу один вопрос не создавая темы, как узнать какой из установленных фреймворков участвует в сборке приложения? А то я пишу приложение на Xp, там версий несколько, а на Win7 приложение нормально не работает, нужно поставить на обе машины версию фреймворка с Win7 а остальные удалить, или как? Спасибо всем откликнувшемся и хватившим терпения дочитать вопрос до конца
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) { // вывод данных процесса } }
Решение задачи: «Удаленное администрирование. Что актуальнее - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д