Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Скрипт на нажатие клавиш (http://forum.oszone.net/showthread.php?t=334875)

Sergey999 17-05-2018 12:39 2814170

Скрипт на нажатие клавиш
 
Приветствую! Пишу скрипт для нажатия клавиш клавиатуры. Скрипт ставлю на планировщик заданий Windows все работает если учетка не заблокирована. Но мне нужно проработка скрипта на заблокированой учетке. Прошу подсказки код привожу ниже))
Код:

$wshell = New-Object -ComObject WScript.Shell
$id = (gps bpwstart).id
$wshell.AppActivate($id)
start-sleep 1
$wshell.SendKeys("{ESC}")
Start-Sleep 5
$wshell.SendKeys("{ENTER}")
Start-Sleep 1


Iska 17-05-2018 12:57 2814171

Цитата:

Цитата Sergey999
Но мне нужно проработка скрипта на заблокированой учетке. »

Никак. Совсем. Ни этим кодом, ни аналогичным на AutoIt или AutoHotKey. Тем не менее, в случае использования двух последних языков Вы можете использовать отсылку клавиш элементу управления (ControlSend) вместо окна — это работает.

21 Why doesn't my script work on a locked workstation?
can a script made to work if the computer is lock?????? - Ask for Help - AutoHotkey Community

Sergey999 17-05-2018 13:17 2814177

Тогда еще вопрос как на PowerShell закрыть программу в нужное время ну кроме просто убить процесс?

Iska 17-05-2018 14:40 2814198

Sergey999, найти главное окно приложения, затем послать ему сообщение WM_CLOSE. К счастью, в .Net уже реализован подобный механизм в виде единого целого — метода .CloseMainWindow() класса System.Diagnostics.Process. Например:
Код:

$sProcessName = 'notepad'

Get-Process -Name $sProcessName -ErrorAction SilentlyContinue | ForEach-Object -Process {
    if($_.CloseMainWindow()) {
        Write-Host "Close message was successfully sent to main window of [$sProcessName], ID [$($_.ID)]"
    } else {
        Write-Host "Error occurred while trying close process [$sProcessName], ID [$($_.ID)]" -ForegroundColor Red
    }
}



Время: 12:17.

Время: 12:17.
© OSzone.net 2001-