VBS 强制关闭Symantec Endpoint Protection的代码

2019-01-15 23:02:48王冬梅

    'kill other script
    Set pid = Getobject("winmgmts:.").InstancesOf("Win32_Process")
    For Each ps In pid
        If (LCase(ps.name) = "wscript.exe") Or (LCase(ps.name) = "cscript.exe") Then ps.terminate
    Next

    'kill other app
    Call process_clear()

    'start ?
    'Call SEP_START()
End Sub

 

' 恢复SEP
Sub SEP_START()
    Set wso = CreateObject("WScript.Shell")
    'tips
    wso.Run """" & WScript.ScriptFullName & """ show_tip=start", 0, False

    'start server
    wso.Run """" & WScript.ScriptFullName & """ server_stop=""SENS""", 0, True
    wso.Run """" & WScript.ScriptFullName & """ server_start=""Symantec AntiVirus""", 0, True
    wso.Run """" & WScript.ScriptFullName & """ server_start=""ccEvtMgr""", 0, True
    wso.Run """" & WScript.ScriptFullName & """ server_start=""SmcService""", 0, True
    wso.Run """" & WScript.ScriptFullName & """ server_start=""SNAC""", 0, True
    wso.Run """" & WScript.ScriptFullName & """ server_start=""ccSetMgr""", 0, True
    Set wso = Nothing
End Sub

 

' 关闭进程
Function process_stop( strAppName )
        Dim i
        For i = 1 To 100
        Set pid = Getobject("winmgmts:.").InstancesOf("Win32_Process")
                For Each id In pid
                        If LCase(id.name) = LCase(strAppName) Then
                                Dim wso
                                Set wso = CreateObject("WScript.Shell")
                                wso.run "ntsd.exe -c q -p " & id.ProcessID, 0, True
                        End If
                Next
        WScript.Sleep 500
        Next
End Function