Компьютерный форум 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=286133)

Hancog 07-08-2014 12:24 2386067

Проверка процесса
 
\del

Elven 07-08-2014 14:19 2386133

tasklist | find "process.exe"
if not errorlevel 1 (
::замена файлов
)

что-то подробнее можно написать только в случае подробного описания какие файлы менять и на какие.

Hancog 07-08-2014 16:22 2386186

\del

Elven 07-08-2014 16:51 2386202

чтобы он постоянно проверял или с каким-то интервалом по времени? во втором случае через шедулер, в первом - бесконечный цикл (GOTO в помощь) если проверять до наступления определенного события то с флагом на выход после события.
а вообще с подобной постановкой вопроса это сюда.

Hancog 07-08-2014 16:56 2386205

\del

Hancog 07-08-2014 20:38 2386311

\del

Hancog 07-08-2014 21:04 2386326

\del

Hancog 07-08-2014 23:56 2386395

\del

Iska 08-08-2014 02:46 2386421

Цитата:

Цитата Hancog
нужно удалить 2 файли а потом их скопировать »

Если их «удалить», то «скопировать» их же потом никак не получится ;).

umagonj 08-08-2014 08:26 2386451

ну поставьте задачу в планировщике задач с нужным интервалом и пускай он запускает ваш батник бесконечно.

Hancog 08-08-2014 12:36 2386528

\del

Iska 08-08-2014 12:53 2386537

Ну, это нечто иное нежели озвученное ранее ;).

Имя процесса? Пути к файлам для удаления (не «к примеру»)? Далее: вот мы удалили/скопировали файлы — что дальше делаем?

Hancog 08-08-2014 13:08 2386543

\del

Iska 08-08-2014 13:16 2386548

Цитата:

Цитата Hancog
3 раз объясняю... »

Не надо объяснять по три раза. Ответьте на заданные вопросы. Один раз.

Hancog 08-08-2014 13:40 2386567

\del

Iska 08-08-2014 14:11 2386586

Цитата:

Цитата Hancog
так думаю понятно все? »

Понятно. Но один вопрос остался без ответа:
Цитата:

Цитата Iska
Далее: вот мы удалили/скопировали файлы — что дальше делаем? »

Просто завершаем работу пакетного файла? Или — что?

Hancog 08-08-2014 14:17 2386591

\del

Hancog 08-08-2014 14:42 2386606

\del

Hancog 08-08-2014 17:48 2386703

\del

Iska 08-08-2014 17:51 2386704

Цитата:

Цитата Hancog
Можно так сделать? »

Можно. Сделаем.

Hancog 08-08-2014 19:10 2386743

\del

Hancog 09-08-2014 10:15 2386908

\del

Iska 09-08-2014 13:26 2386967

На 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 2386993

\del

Iska 09-08-2014 14:53 2386996

Цитата:

Цитата Hancog
Пишет что не найден сценарий, »

Сохраните приведённый код в файл с расширением «.vbs», а не «.wsh». «.wsh» — файл параметров сценария.

Hancog 09-08-2014 14:56 2386997

\del

Iska 09-08-2014 19:16 2387103

Цитата:

Цитата Hancog
А можно еще дописать в первый раз chrome выключался - заменялись файлы - он включался,т.е перезагрузка с заменой, »

Опишите иначе. Не могу понять.

Цитата:

Цитата Hancog
И еще как прекратить сценарий? вручную »

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

Hancog 09-08-2014 19:25 2387109

\del

Iska 09-08-2014 19:28 2387113

Цитата:

Цитата Hancog
возможно вперед добавить закрытие процесса »

Зачем? Снятие браузера чревато — однозначно слетит кэш, иногда — перечень открытых вкладок, бывает, что и закладки отправляются в небытие.

Hancog 09-08-2014 19:30 2387117

\del

Iska 09-08-2014 19:58 2387126

Вы не ответили на вопрос.

Hancog 09-08-2014 20:17 2387130

\del

Iska 09-08-2014 20:52 2387135

Цитата:

Цитата Hancog
поставить скрипт в автозагрузку »

Задайте исполнение скрипта посредством групповой политики «на пользователя».

Цитата:

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

Google Chrome не открыт в этот момент.

А самым правильным будет ознакомиться вот с этим: Chrome for Business FAQ - Chrome for Business and Education Help и использовать групповые политики.

Цитата:

Цитата Hancog
и сбрасывались все настройки на дефолт »

Это очень плохо.

Hancog 09-08-2014 21:00 2387136

\del

Iska 09-08-2014 21:22 2387144

Цитата:

Цитата Hancog
Какой уже смысл? »

Управление посредством групповых политик — наиболее гибкий и надёжный инструмент управления окружением из возможных.

Цитата:

Цитата Hancog
но все же к примеру если браузер остался открытым »

Что значит «остался открытым»? Откуда он возьмётся в момент применения политики, когда будет исполняться скрипт? Я же сказал — просто назначьте исполнение скрипта групповой политикой «на пользователя»: Assign User Logon Scripts.

Hancog 09-08-2014 22:37 2387162

\del

Iska 10-08-2014 00:37 2387198

Цитата:

Цитата Hancog
Не могли бы вы в скрипт дописать ? мне было бы намного проще... »

Что дописать?

Hancog 10-08-2014 00:48 2387200

\del

Iska 10-08-2014 01:09 2387204

Hancog, я думал, что достаточно популярно объяснил, что сие совершенно лишнее в Вашем случае использования.

Hancog 10-08-2014 01:17 2387205

\del

Iska 10-08-2014 02:02 2387210

1. Вам ни в том, ни в другом случае это «дописывание» не понадобится.
2. Листать не надо, я же уже выше «пролистал» Вам до нужного места, могу повторить: Assign User Logon Scripts. Вот Вам ещё, по-русски, для домена и без:А читать — да, придётся.

Hancog 10-08-2014 11:58 2387273

\close

sov44 29-09-2014 11:37 2408258

Можно-ли отследить наличие процесса приложения на сервере из-под пользователя в домене?

Iska 29-09-2014 14:46 2408351

Пользователь обладает административными правами?

sov44 29-09-2014 15:23 2408367

Цитата:

Цитата Iska
Пользователь обладает административными правами? »

Только на своей машине. На сервере нет.
Вопрос по консультант-плюс. Лежит на сервере в общем доступе. Пробовал отслеживать появление логов (как вариант), но начала\завершения использования программы не увидел.

Iska 29-09-2014 15:42 2408379

sov44, тогда я сомневаюсь, что сие возможно.


Время: 20:52.

Время: 20:52.
© OSzone.net 2001-