Скрипт для интерактивного запуска процессов на удаленной машине с помощью создания задания в планировщике (время запуска текущее + 59секунд максимум) (VBScript)
На удаленном ПК приложение в интерактивном режиме можно запустить только с помощью планировщика заданий.
http://www.microsoft.com/technet/scriptcen...05/hey0906.mspx
Option Explicit
Const strComputer = "computername"
Const strCommand = "c:\windows\notepad.exe"
Dim objLocator, objWMIService, objScheduledJob
Dim tyear, datex, datey, martdate, octoberdate, i
Dim CurrTimePlusOneMin, RunTime, Res, intJobID
Set objLocator = CreateObject("wbemscripting.swbemlocator")
'Подключаемся к WMI удаленного ПК с правами текущего пользователя.
Set objWMIService = objLocator.connectserver(strComputer,"\root\cimv2")
'Для подключения с правами другого пользователя, нужно добавить еще два параметра, имя пользователя и пароль:
'Set objWMIService = objLocator.connectserver(strComputer,"\root\cimv2", "user", "password")
'Подробнее про SWbemLocator здесь http://www.microsoft.com/technet/scriptcenter/guide/sas_wmi_ciga.mspx?mfr=true
'Получаем текущий год
tyear = mid(now(),7,4)
'Узнаем дату перехода на летнее/зимнее время в текущем году
'Летнее - последнее воскресенье марта 2 часа ночи
'Зимнее - последнне воскресенье октября 3 часа ночи
for i = 1 to 31
datex = i & ".03." & tyear & " 02:00:00"
datey = i & ".10." & tyear & " 03:00:00"
if weekday (datex,2)="7" then martdate=datex
if weekday (datey,2)="7" then octoberdate=datey
next
'Текущее время плюс одна минтута
CurrTimePlusOneMin = Replace(Left(Right(dateadd ("n",1,Now()), 8), 5), ":", "")
'Проверяем по какому времени (летнему или зимнему) живем и создаем дату в UTC формате
'Про UTC формат здесь http://www.microsoft.com/technet/scriptcenter/guide/sas_wmi_fvwp.mspx?mfr=true
if now() > martdate and now() < octoberdate then
RunTime = "********" & CurrTimePlusOneMin & "00.000000+240"
else
RunTime = "********" & CurrTimePlusOneMin & "00.000000+180"
end if
'Создаем задание.
'Про Win32_ScheduledJob здесь http://www.microsoft.com/technet/scriptcenter/guide/sas_man_rsxs.mspx?mfr=true
Set objScheduledJob = objWMIService.Get("Win32_ScheduledJob")
Res = objScheduledJob.Create(strCommand, RunTime, False , , 0, True, intJobID)
Set objScheduledJob = Nothing
Set objWMIService = Nothing
Set objLocator = Nothing