2017-01-25 12 views
-1

У меня есть сервер окон, который я использовал для подключения через удаленный рабочий стол, но он заблокирован, если я оставил его без дела, и я не могу изменить тайм-аут параметров удаленного рабочего стола, поэтому я хочу напишите командный файл или vbscript или powershell, который будет запускаться на сервере Windows и обновляется (F5) или движение мыши или движение мыши, как каждые 5 минут.Обновить экран каждые 5 минут

server 2008 R2 entreprise 64-bit 
+0

Вы можете посмотреть с использованием VBScript и использовать метод SendKeys. Я уверен, что powershell имеет аналогичную возможность, но пакетные файлы этого не делают. – Squashman

+0

Я использовал этот инструмент для аналогичных сред. https://mousejiggler.codeplex.com/ Это двоичный файл TINY, который так часто перемещается виртуальной мышью. – FoxDeploy

+0

Вы должны сделать это с помощью vbscript – Hackoo

ответ

1

Дайте попробовать для этого VBScript:

Option Explicit 
If AppPrevInstance() Then 
    MsgBox "There is an existing proceeding !" & VbCrLF &_ 
    CommandLineLike(WScript.ScriptName),VbExclamation,"There is an existing proceeding !"  
    WScript.Quit 
Else 
    Dim Ws 
    set Ws = createobject("Wscript.Shell") 
    Do 
     Ws.Sendkeys "{F5}" 
     Pause 5 '==> To sleep for 5 minutes 
    Loop 
End If 
'************************************************************************** 
Function AppPrevInstance() 
    With GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\.\root\cimv2") 
     With .ExecQuery("SELECT * FROM Win32_Process WHERE CommandLine LIKE " & CommandLineLike(WScript.ScriptFullName) & _ 
     " AND CommandLine LIKE '%WScript%' OR CommandLine LIKE '%cscript%'") 
      AppPrevInstance = (.Count > 1) 
     End With 
    End With 
End Function 
'************************************************************************** 
Function CommandLineLike(ProcessPath) 
    ProcessPath = Replace(ProcessPath, "\", "\\") 
    CommandLineLike = "'%" & ProcessPath & "%'" 
End Function 
'************************************************************************** 
Sub Pause(min) 
    Wscript.Sleep(min*1000*60) 
End sub 
'**************************************************************************