Увы, не пишется скрипт. Никак не пишется

. Visual Studio я, оказывается, давно уже удалил, а для PowerShell пока катастрофически не хватает знаний.
Цитата novi:
можете его чуть чуть поменять чтобы он не постоянно висел в памяти, а запускался, проверял и выгружался? »
|
Пробуйте:
читать дальше »
Код:

Option Explicit
Const cdoSendUsingPort = 2
Const cdoBasic = 1
Const strSchema = "http://schemas.microsoft.com/cdo/configuration/"
Const SW_SHOWMINIMIZED = 2
Const SW_SHOWMINNOACTIVE = 7
Dim arrProcesses
Dim strComputer
Dim objSWbemLocator
Dim objSWbemServicesEx
Dim objSWbemObjectEx
Dim elem
Dim lngProcessID
arrProcesses = Array("C:\WINDOWS\system32\notepad.exe", "C:\WINDOWS\system32\calc.exe", "C:\WINDOWS\system32\mspaint.exe")
strComputer = "."
Set objSWbemLocator = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")
Set objSWbemObjectEx = objSWbemServicesEx.Get("Win32_ProcessStartup").SpawnInstance_
objSWbemObjectEx.ShowWindow = SW_SHOWMINNOACTIVE
For Each elem In arrProcesses
If objSWbemServicesEx.ExecQuery("SELECT ExecutablePath FROM Win32_Process WHERE ExecutablePath = '" & Replace(elem, "\", "\\") & "'").Count = 0 Then
With WScript.CreateObject("CDO.Message")
.From = "windows@myservermail.ru"
.To = "мой-емейл@myservermail.ru"
.Subject = "Process [" & elem & "] closed."
If objSWbemServicesEx.Get("Win32_Process").Create(elem, WScript.CreateObject("Scripting.FileSystemObject").GetParentFolderName(elem), objSWbemObjectEx, lngProcessID) = 0 Then
.Textbody = Now() & vbTab & "Process [" & elem & "] successfully started."
Else
.Textbody = Now() & vbTab & "Can't create process [" & elem & "]."
End If
With .Configuration.Fields
.Item(strSchema & "smtpserver") = "mx.myservermail.ru"
.Item(strSchema & "sendusing") = cdoSendUsingPort
.Item(strSchema & "smtpserverport") = 25
.Update
End With
.Send
End With
End If
Next
Set objSWbemObjectEx = Nothing
Set objSWbemServicesEx = Nothing
Set objSWbemLocator = Nothing
WScript.Quit 0
Теперь сравнение будет идти по полному пути к исполняемому файлу.