Войти

Показать полную графическую версию : [решено] Проверка процесса


Страниц : 1 [2] 3

Hancog
08-08-2014, 19:10
\del

Hancog
09-08-2014, 10:15
\del

Iska
09-08-2014, 13:26
На WSH, пробуйте:
Option Explicit

Dim strProcessName
Dim arrPaths

Dim strLocalAppDataPath
Dim arrItem

Dim objSWbemServicesEx


strProcessName = "chrome.exe"

strLocalAppDataPath = WScript.CreateObject("Shell.Application").NameSpace("shell:Local AppData").self.Path

With WScript.CreateObject("Scripting.FileSystemObject")
arrPaths = Array( _
Array(.BuildPath(strLocalAppDataPath, "Google\Chrome\User Data"), "Local State"), _
Array(.BuildPath(strLocalAppDataPath, "Google\Chrome\User Data\Default"), "Preferences") _
)

For Each arrItem In arrPaths
If Not .FileExists(arrItem(1)) Then
WScript.Echo "Source file [" & arrItem(1) & "] not found."
WScript.Quit 1
End If

If Not .FolderExists(arrItem(0)) Then
WScript.Echo "Destination folder [" & arrItem(0) & "] not found."
WScript.Quit 2
End If
Next

Set objSWbemServicesEx = WScript.CreateObject("WbemScripting.SWbemLocator").ConnectServer(".", "root\cimv2")

Do
WaitForCloseAllProcesses

For Each arrItem In arrPaths
.CopyFile arrItem(1), .BuildPath(arrItem(0), arrItem(1)), True
Next

WaitForStartAnyProcess
Loop

Set objSWbemServicesEx = Nothing
End With

WScript.Quit 0
'=============================================================================

'=============================================================================
Sub WaitForCloseAllProcesses()
Do Until objSWbemServicesEx.ExecQuery( _
"SELECT * FROM Win32_Process WHERE Name = '" & strProcessName & "'" _
).Count = 0
objSWbemServicesEx.ExecNotificationQuery( _
"SELECT * FROM __InstanceDeletionEvent " & _
"WITHIN 1 WHERE TargetInstance ISA 'Win32_Process' AND " & _
"TargetInstance.Name = '" & strProcessName & "'" _
).NextEvent
Loop
End Sub
'=============================================================================

'=============================================================================
Sub WaitForStartAnyProcess()
objSWbemServicesEx.ExecNotificationQuery( _
"SELECT * FROM __InstanceCreationEvent " & _
"WITHIN 1 WHERE TargetInstance ISA 'Win32_Process' AND " & _
"TargetInstance.Name = '" & strProcessName & "'" _
).NextEvent
End Sub
'=============================================================================

Hancog
09-08-2014, 14:42
\del

Iska
09-08-2014, 14:53
Пишет что не найден сценарий, »
Сохраните приведённый код в файл с расширением «.vbs», а не «.wsh». «.wsh» — файл параметров сценария.

Hancog
09-08-2014, 14:56
\del

Iska
09-08-2014, 19:16
А можно еще дописать в первый раз chrome выключался - заменялись файлы - он включался,т.е перезагрузка с заменой, »
Опишите иначе. Не могу понять.

И еще как прекратить сценарий? вручную »
Сняв соответствующий процесс «wscript.exe»/«cscript.exe» в Диспетчере задач.

Hancog
09-08-2014, 19:25
\del

Iska
09-08-2014, 19:28
возможно вперед добавить закрытие процесса »
Зачем? Снятие браузера чревато — однозначно слетит кэш, иногда — перечень открытых вкладок, бывает, что и закладки отправляются в небытие.

Hancog
09-08-2014, 19:30
\del

Iska
09-08-2014, 19:58
Вы не ответили на вопрос.

Hancog
09-08-2014, 20:17
\del

Iska
09-08-2014, 20:52
поставить скрипт в автозагрузку »
Задайте исполнение скрипта посредством групповой политики «на пользователя».

если хром на пк открыт при запуске скрипта (это если пк только стартовал) »
Google Chrome не открыт в этот момент.

А самым правильным будет ознакомиться вот с этим: Chrome for Business FAQ - Chrome for Business and Education Help (https://support.google.com/chrome/a/answer/188447?hl=en) и использовать групповые политики.

и сбрасывались все настройки на дефолт »
Это очень плохо.

Hancog
09-08-2014, 21:00
\del

Iska
09-08-2014, 21:22
Какой уже смысл? »
Управление посредством групповых политик — наиболее гибкий и надёжный инструмент управления окружением из возможных.

но все же к примеру если браузер остался открытым »
Что значит «остался открытым»? Откуда он возьмётся в момент применения политики, когда будет исполняться скрипт? Я же сказал — просто назначьте исполнение скрипта групповой политикой «на пользователя»: Assign User Logon Scripts (http://technet.microsoft.com/en-us/library/cc770908.aspx).

Hancog
09-08-2014, 22:37
\del

Iska
10-08-2014, 00:37
Не могли бы вы в скрипт дописать ? мне было бы намного проще... »
Что дописать?

Hancog
10-08-2014, 00:48
\del

Iska
10-08-2014, 01:09
Hancog, я думал, что достаточно популярно объяснил, что сие совершенно лишнее в Вашем случае использования.

Hancog
10-08-2014, 01:17
\del




© OSzone.net 2001-2012