Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Prozess Owner

Frage Entwicklung

Mitglied: bigsero

bigsero (Level 1) - Jetzt verbinden

18.03.2010, aktualisiert 03.06.2010, 3962 Aufrufe, 2 Kommentare

Hallo Zusammen, ich brauche wiedermal Hilfe

Auf einem Citrix Server möchte ich unter dem "user" abfragen ob bereits ein Prozess z.B. Excel.exe läuft.

Das Sript sagt es läuft bereits ein Excel.exe ----- ABER es mekrt nicht das dieser Prozess nicht dem user gehört.. Terminal Server eben

01.
$ProcessName = "Excel.exe" 
02.
 
03.
If ProcessExists($ProcessName) Then 
04.
	MsgBox(0,"Running",$ProcessName & " is running.") 
05.
Else 
06.
	MsgBox(0,"Not Running",$ProcessName & " is not running.") 
07.
EndIf
Bei diesem Script hat der User keine Berechtigung die WMI abfrage zu machen
01.
Dim $s_ProcessOwner 
02.
Dim $o_WMIServiceCIMv2 = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") 
03.
$o_ColListOfProcesses = $o_WMIServiceCIMv2.ExecQuery ("SELECT * FROM Win32_Process WHERE Name=""excel.exe""") 
04.
If $o_ColListOfProcesses.Count > 0 Then 
05.
	For $o_ObjProcess in $o_ColListOfProcesses 
06.
		$i_RC = $o_ObjProcess.GetOwner($s_ProcessOwner) 
07.
		If $i_RC Then 
08.
			MsgBox(0, "", "Error " & $i_RC & " reading Process Owner") 
09.
			Exit(1) 
10.
		ElseIf $s_ProcessOwner = @UserName Then 
11.
			MsgBox(0, "", "Found!") 
12.
			Exit(0) 
13.
		EndIF 
14.
	Next 
15.
EndIf 
16.
MsgBox(0, "", "Not found!")

Hat jemand eine Idee?

[Edit Biber] Codetags [/Edit]
Mitglied: DerWoWusste
21.03.2010 um 19:44 Uhr
Hi.
Darf ich vorab fragen, was Du bezweckst? Soll der Benutzer per Skript sehen, ob er bereits Excel offen hat?
Bitte warten ..
Mitglied: bigsero
03.06.2010 um 15:10 Uhr
Habe die Lösung gefunden



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


If $CmdLine[0] <> 2 Then
MsgBox(16, "", "Fehler: Ungueltige Anzahl Parameter: " & $CmdLine[0], 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





Der Eigentliche 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("adm", "AD", "xxxxx", 0, "ProcessExist.exe nlnotes.exe " & @username, ".", @SW_HIDE, 8)
If $i_RC Then Exit(1)
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Visual Studio
Eigener Prozess ist schneller als Thread (13)

Frage von Aicher1998 zum Thema Visual Studio ...

Monitoring
Prozess oder Dienst Überwachung mit Nagios? (5)

Frage von harald.schmidt zum Thema Monitoring ...

Batch & Shell
gelöst Von Batchdatei ausgeführten Prozess benennen (12)

Frage von itazubii zum Thema Batch & Shell ...

Windows Server
gelöst Prozess immer in Echtzeit ausführen. Server 2012 R2 (14)

Frage von zeroblue2005 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Hardware
Laptop ins Salzwasser gefallen (18)

Frage von Marcel94 zum Thema Hardware ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

Switche und Hubs
LAG zwischen Cisco SG300 und Dlink DGS1100 herstellen - wie? (13)

Frage von White-Rabbit2 zum Thema Switche und Hubs ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...