Запуск команды, которая будет выполняться на каждом компьютере

#vb.net

#vb.net

Вопрос:

У меня есть этот код, который предоставляет мне всю необходимую информацию о задачах, информации и т.д. У меня есть все это, помещенное в программу на VB, и я хочу иметь возможность запускать это с одного компьютера и возвращать данные со всех компьютеров в домене.

Я не знаю, что добавить дальше.

       Dim sCommand As String
      'all processes here, ipconfig, java info, etc etc
      sCommand = "java.exe -version2 > C:Info.txt amp;amp; ipconfig >> C:INfo.txt"         
      Shell("cmd.exe /c" amp; sCommand)
  

У меня есть скрипт, который будет отображать список всех пользователей в домене, могу ли я реализовать это или есть более простой способ?

Редактировать: Если бы я мог выполнить поиск определенного файла по всему домену, это тоже сработало бы.

На данный момент мне просто нужно, чтобы все данные были возвращены в текстовый файл, я не беспокоюсь о том, что они будут отсортированы или сколько времени займет подобный процесс.

большое спасибо

Ответ №1:

Вы могли бы сделать одну из двух вещей.

1) Вы могли бы использовать WMI для получения конфигурации сети с удаленных компьютеров и выполнения процесса на удаленной машине.

Или

2) Вы могли бы использовать PsExec для запуска команды на удаленной машине и передачи ее по каналу. Лично я бы не стал использовать shell для выполнения команды, поскольку на самом деле она довольно убогая. Если бы я собирался запустить процесс локально, я бы использовал это и использовал стандартный вывод, чтобы получить выходные данные из командной строки, проанализировать их, чтобы предоставить вам что-то, с чем вы можете работать, вместо того, чтобы передавать выходные данные в файл локально, а затем читать его позже.

РЕДАКТИРОВАТЬ Итак, вы хотите сделать все это из одного центрального местоположения? Если вы не хотите использовать PsExec, вам придется использовать WMI для создания процесса на удаленном компьютере для запуска java.exe но вы не можете перенаправить вывод, вам придется перейти к файлу и прочитать файл на другом шаге.

Комментарии:

1. Я думал о PsExec, но я должен сделать все это внутри. Я не могу запустить с ней что-то. (Т.е. загруженный комплект PsTools с PsExec. Спасибо за всю помощь.

2. ДА. Я хочу запустить это с одного компьютера в домене. Проще говоря, я хочу, чтобы каждый компьютер в домене выполнял эти команды, или написанную мной программу на VB, которая извлекает всю эту информацию. И я хочу, чтобы все результаты с каждого компьютера были записаны в текстовый файл

3. Простите, если это грубо, но знакомы ли вы с написанием вспомогательных модулей и функций и созданием классов в .net?

4. очень мало, каждый должен с чего-то начинать

5. Действительно, мы все начинаем с самого начала, прочтите это: technet.microsoft.com/en-us/library/ms973814.aspx — Научившись использовать классы и методы на ранних этапах, вы сэкономите много времени, делая что-то неправильно, прежде чем сделаете это правильно. Я усвоил трудный путь 😉