Как управлять сетевым клиентским ПК - PullRequest
2 голосов
/ 22 февраля 2011

В моей локальной сети у меня более 10 ПК . Мне нужно позаботиться обо всем ПК. Я хочу знать всю информацию об оборудовании ПК. Я также хочу управлять этим ПК, предположим, в этот момент я хочу перезапустить один из моих клиентских ПК. Возможно ли это в C # .Если есть какие-либо вопросы, пожалуйста, спросите. Спасибо заранее Я использую приведенный ниже синтаксис для выполнения команды.

try
{
    // create the ProcessStartInfo using "cmd" as the program to be run,
    // and "/c " as the parameters.
    // Incidentally, /c tells cmd that we want it to execute the command that follows,
    // and then exit.
    System.Diagnostics.ProcessStartInfo procStartInfo = 
        new System.Diagnostics.ProcessStartInfo("cmd", "/c " + "shutdown /r /m \\172.16.1.3 /t 1 /");

    // The following commands are needed to redirect the standard output.
    // This means that it will be redirected to the Process.StandardOutput StreamReader.
    procStartInfo.RedirectStandardOutput = true;
    procStartInfo.UseShellExecute = false;

    // Do not create the black window.
    procStartInfo.CreateNoWindow = true;

    // Now we create a process, assign its ProcessStartInfo and start it
    System.Diagnostics.Process proc = new System.Diagnostics.Process();
    proc.StartInfo = procStartInfo;
    proc.Start();

    // Get the output into a string
    string result = proc.StandardOutput.ReadToEnd();

    // Display the command output.
    Console.WriteLine(result);
}
catch (Exception objException)
{
    // Log the exception
}

Используя приведенный выше код, я получаю сообщение «Сетевой путь не найден».

Ответы [ 3 ]

1 голос
/ 22 февраля 2011

Пожалуйста, проверьте URL.http://support.microsoft.com/kb/317371

Если вы хотите создать программу, в которой вы сможете получить информацию об удаленной системе.Вы должны использовать Microsoft Remoting. Здесь мы можем создать объект в удаленной системе и можем управлять им.

Можно получить информацию о системе, выполнив System.Diagnostics.ProcessStartInfo.

Можно получить системную информацию, используя "systeminfo". Можно получить вывод, используя C #

Pls chk this .Я надеюсь, что это будет полезно для вас.

0 голосов
/ 22 февраля 2011

С этими требованиями моя первая остановка будет WMI . Есть, например, класс Win32_OperatingSystem с его методами Reboot и Shutdown и Win32_Processor со всеми видами информации о процессоре.

В этом разделе MSDN показано, как использовать его из .Net: Начало работы Доступ к данным WMI

В этом разделе MSDN довольно много коротких примеров VBScript для выполнения различных задач с использованием WMI, и даже если код отличается, по крайней мере, вы можете увидеть, какие классы / методы / свойства WMI вы должны искать: Задачи WMI для сценариев и приложений

Пожалуйста, обратите внимание на комментарий RB, однако вам необходимо иметь правильные разрешения для его работы.

Изменить: Забыл, что, так как вы хотите подключиться к другим компьютерам, этот пример будет полезен: Как: подключиться к удаленному компьютеру

0 голосов
/ 22 февраля 2011

Я не думаю, что это вопрос C #, потому что это можно сделать гораздо более элегантно с такими вещами, как Редактор групповой политики , Сервер управления системой , System Center Operations Manager и т. Д.

Чтобы выполнить несколько простых задач на удаленной машине, вы можете взглянуть на PsTools .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...