|
|
|
Определить работает ли скрипт (VBScript и PowerShell)
|
|||
|---|---|---|---|
|
#18+
Задача такая - есть форма с кнопками написанная на PowerShell (крутится на Windows Server 2012), надо, чтобы при нажатии на кнопку осуществлялась проверка запущен скрипт pdfspeed.vbs или нет. Если работает, то выдает предупреждение, если нет, то запускает. Проблема в следующем - на сервере может быть запущено несколько разных скриптов, более того, от разных пользователей, а Task Manager'e видно только процессы WScript.exe ... Есть решение в VBS Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. Но происходит засада в PowerShell Код: powershell 1. выдает (оставил только нужные строки) Код: plaintext 1. 2. Но как узнать пользователя, запустившего скрипт, я не понял пока ... Так вот не понятно, как обработать этот вывод ? Загнать его в текстовый файл и обрабатывать файл ? Не хотелось бы ... В этих трех командах куда-то пропадает значение из CommanLine 1. Код: powershell 1. Код: plaintext 1. 2. Код: powershell 1. Код: plaintext 1. 2. Код: plaintext 1. 2. 3. 4. Помогите, плиз ... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2015, 14:50 |
|
||
|
Определить работает ли скрипт (VBScript и PowerShell)
|
|||
|---|---|---|---|
|
#18+
Вот подумал, что можно наверное запустить VBS скрипт для проверки, так как он больше данных соберет, но как их передать обратно в форму эту PowerShell'овскую, чтобы там проанализировать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2015, 15:26 |
|
||
|
Определить работает ли скрипт (VBScript и PowerShell)
|
|||
|---|---|---|---|
|
#18+
На соседнем форуме посоветовали вот что, но я этот метод знал .. автор... предложить старый добрый (вариант) механизма Lock-файлов, который еще с прошлого тысячелетия используется в UNIX-ах .. pdfspeed.vbs - при запуске создает пустой файл с именем типа: %username%.%scriptname%.%pid%.lock в юниксах такие файлы создаются обычно где-то типа "/var/lock/" в виндовсе можно выделить какую-нибудь папку с правом записи для всех, по завершении pdfspeed.vbs свой Lock-файл удаляет сам, таким образом вашему PowerShell скрипту остаётся в цикле (через sleep) опрашивать наличие Lock-файла до его естесственного удаления, или "грохнуть" WScript.exe через его %pid% указанный в имени Lock-файла пользуясь админскими правами. Да, механизм этот далеко не элегантен, груб, брутален, и в чём-то даже жесток, но "на безрыбье" вполне годится .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 13:54 |
|
||
|
Определить работает ли скрипт (VBScript и PowerShell)
|
|||
|---|---|---|---|
|
#18+
Сам же вот что нарыл Код: powershell 1. 2. 3. 4. 5. Осталось только теперь вычислить пользователя, запустившего этот скрипт .. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.03.2015, 13:55 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38902441&tid=1446190]: |
0ms |
get settings: |
4ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
149ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 440ms |

| 0 / 0 |
