-KeyMaster- |
27-06-2012 16:07 1941486 |
Запуск программы на компьютерах в домене
Собственно, есть элементарный батник со следующим кодом:
Код:
@echo off
start \\путь_к_программе\prog.exe
При запуске всех компов в домене запустится данная программка - напоминалка о днях рождениях. Меня волнует вопрос - как дополнить данный код, чтобы данная программа убилась из процессов через n-ное количество времени, скажем, 10 минут? Просто одновременно эту прожку запустят на 50 компах - нагрузка на серверный комп, откуда она стартанет, соответственно, возрастет? Да и не нужна она на компьютерах пользователей, висящая в трее целый день. Запустили, посмотрели, через 10 минут она убилась сама.
Как это сделать?
|
Цитата:
Цитата -KeyMaster-
Просто одновременно эту прожку запустят на 50 компах - нагрузка на серверный комп, откуда она стартанет, соответственно, возрастет? »
|
Отчего бы?! У неё там база на 10 Гб, к которой она ежесекундно обращается?
Цитата:
Цитата -KeyMaster-
через 10 минут она убилась сама. »
|
Например, так (скрипт VBScript):
читать дальше »
Код:
Option Explicit
Dim objSWbemLocator
Dim objSWbemServicesEx
Dim lngProcessID
Set objSWbemLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(".", "root\cimv2")
If objSWbemServicesEx.Get("Win32_Process").Create("\\путь_к_программе\prog.exe", Empty, Nothing, lngProcessID) = 0 Then
WScript.Sleep 1000 * 60 * 10
If objSWbemServicesEx.Get("Win32_Process.Handle='" & CStr(lngProcessID) & "'").Terminate() = 0 Then
'
End If
End If
Set objSWbemServicesEx = Nothing
Set objSWbemLocator = Nothing
WScript.Quit 0
P.S. Останется фантомная иконка в System Tray.
|
Время: 16:23.
© OSzone.net 2001-