Quantcast
Viewing all articles
Browse latest Browse all 42

Tip: How to Restart the SAPLogon via AutoIt

Hello community,

 

AutoIt is an incredible scripting language, it offers so much possibilities, e.g. to control processes and windows. Here now an example how to restart the SAPLogon on the fly:

 

;-Begin-----------------------------------------------------------------

 

  ;-Sub RestartProcess--------------------------------------------------

    Func RestartProcess($ProcessName)

 

      $PID = ProcessExists($ProcessName)

      If $PID Then

 

        $oWMI = ObjGet("winmgmts:\\.\root\CIMV2")

        If IsObj($oWMI) Then

          $Process = $oWMI.ExecQuery("Select * From win32_process " & _

            "Where Name = '" & $ProcessName & "'")

          If IsObj($Process) Then

            $ProcessPath = $Process.ItemIndex(0).ExecutablePath

          EndIf

        EndIf

 

        ProcessClose($PID)

        ProcessWait($PID)

 

        Run($ProcessPath)

 

      EndIf

 

    EndFunc

 

  ;-Sub Main------------------------------------------------------------

    Func Main()

 

      RestartProcess("saplogon.exe")

      WinWait("SAP Logon ")

      Sleep(4096)

 

    EndFunc

 

  ;-Main----------------------------------------------------------------

    Main()

 

;-End-------------------------------------------------------------------

 

As you can see it is absolut easy to get the process ID (PID), to close the process and to restart the process - here with the aid of Windows Management Instrumentarium (WMI).

 

Important hint: This script closes and restarts the saplogon process immediately, without any requests - all changes will be lost.

 

This script is excellent for stray processes on the frontend server.

 

Enjoy it.

 

Cheers

Stefan


Viewing all articles
Browse latest Browse all 42

Trending Articles