bigsero
Goto Top

Abfrage ob Lotus Notes bereits auf dem Terminal Server unter dem Angemeldetem User ohne Admin Rechte läuft

Hallo Zusammen

AutoIT Script:
Der Code ProcessExist wird direct ins Script hineincompiliert

; ProcessExist.exe
; ----------------


If $CmdLine <> 2 Then
	MsgBox(16, "", "Fehler: Ungueltige Anzahl Parameter: " & $CmdLine, 5)  
	Exit(1)
EndIf
Dim $s_ProcessOwner
Dim $o_WMIServiceCIMv2 = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")  
If IsObj($o_WMIServiceCIMv2) Then
	$o_ColListOfProcesses = $o_WMIServiceCIMv2.ExecQuery ("SELECT * FROM Win32_Process WHERE Name=""" & $CmdLine[1] & """")  
	If $o_ColListOfProcesses.Count > 0 Then
		For $o_ObjProcess in $o_ColListOfProcesses
			$i_RC = $o_ObjProcess.GetOwner($s_ProcessOwner)
			If $i_RC Then
				MsgBox(48, "", "Warnung: Fehler" & $i_RC & " beim lesen des Process Owner von Prozess """ & $CmdLine[1] & """", 5)  
				Exit(0)
			ElseIf $s_ProcessOwner = $CmdLine[2] Then
				MsgBox(16, "HelpDesk", "Beim Start von Lotus Notes ist ein Fehler aufgetreten. Wenden Sie sich bitte an den Helpdesk.", 5)  
								Exit(1)
			EndIF
		Next
	Else
		Exit(0)
	EndIf
Else
	MsgBox(48, "", "Warnung: Notwendige WMI-Objektvariable konnte nicht erstellt werden.", 5)  
	Exit(0)
EndIf
Aufruf:
$i_RC = FileInstall("ProcessExist.exe", "ProcessExist.exe", 1)  
If not $i_RC Then
	MsgBox(16, "", "Fehler: Helper-Datei ""ProcessExist.exe"" konnte nicht installiert werden.", 5)  
	Exit(1)
EndIf
$i_RC = RunAsWait("Admin", "AD", "xxxxx", 0, "ProcessExist.exe nlnotes.exe " & @Username, ".", @SW_HIDE, 8)  
If $i_RC Then Exit(1)

Content-Key: 144127

Url: https://administrator.de/contentid/144127

Printed on: April 27, 2024 at 01:04 o'clock