Hallo zusammen,
wir haben mehrere Server hier auf der Arbeit.
Natürlich habe ich auch Zugang darauf.
Jetzt möchte ich aber sehen, welche Programme auf den Servern
laufen, das heißt jetzt nicht die Programme die darauf
installiert sind, sondern die Programme, worüber die
Mitarbeiter arbeiten, also auf den Server zugreifen, wenn sie
die Programme auf ihren Rechnern starten.
Etwas wirr was Du da von Dir gibst. Also mal raten. Nicht die Programme, die auf den Servern installiert sind. Die Programme, die bei den Mitarbeitern auf den PCs installiert sind. Gute Frage, woher das der Server wissen soll …
Der Server liefert, wenn ich Dich richtig verstanden habe, nur Daten an die Programme, die auf den PCs der Mitarbeitern gestartet werden. Ergo bekommst Du die Info, welche Programme auf welchen Mitarbeitern laufen, von genau eben diesen.
Denkbar wären jetzt noch zwei Grenzfälle:
1.) Du versuchst, die laufenden Programme auf den MA Rechnern serverseitig zu erkennen, indem Du beobachtest, auf welche Dateien auf dem Server zugegriffen wird, und daraus Schlüsse ableitest. Beispiel: Zugriff auf eine .xls Datei --> auf dem Mitarbeiter-Rechner läuft sehr wahrscheinlich Excel. mdb = Access, ppt = Powerpoint, und so weiter. Für eine grobe Abschätzung mag es reichen.
2.) Du wolltest eigentlich sagen, dass bei Euch (was man machen kann) die Anwenderprogramme (also die .exe Dateien) vom Server auf den Client geladen werden, wenn der Anwender ein Programm startet. Dann könntest Du 1.) auf die .exe anwenden und Zugriffe darauf protokollieren und müsstest nicht den Umweg über die Datendateien nehmen.
3.) Du meinst etwas ganz anderes. Bitte klarstellen, und dabei klar trennen zwischen Server und CLient, Programm wo es gespeichert ist und wo es gestartet wird, und auf Sonderfälle hinweisen (Client/Server Software, wo ein Teil der Software auf dem Client läuft, und ein Teil der Software auf dem Server).
1.) und 2.) löst man unter NTFS indem man die Zugriffsprotokolle einschaltet, und die Lesezugriffe mitschreiben lässt. Wie das geht, steht in der Windows Hilfe und in jedem Serverhandbuch (Stichworte: Systemrichtlinien/Sicherheitsrichlinien/Auditing). Das Auswerten der Protokolle über das recht spartanische Windows Ereignisprotokoll-Tool ist allerdings etwas mühsam, für einen EInzelfall ist es gut genug, aber wenn man die Infos ständig aktuell im Auge haben will, weil man „monitoring“ betreiben will, muss man sich selber etwas schnitzen, was die Logs beobachtet, und die Einträge filtert und aufaddiert.
Du erfasst aber natürlich dann keine Software, die lokal auf dem Mitarbeiter-Rechner installiert wurde, und die nie auf Serverdateien zugreift.
Wenn Du wirklich genau wissen willst, welche Programme auf den Mitarbeiter-Rechnern von wem gestartet und wie lang benützt wurden kommst Du um Lizenzzählsoftware (z.B. Miss Marple) nicht herum. Diese Systeme melden den Start einer Software an einen zentralen Zähldienst, da kann man dann Statistiken abholen, und - wenn man möchte - auch die ANzahl mzulässiger Lizenzen hinterlegen, so dass ein Anwender eine Software nur starten kann, wenn noch eine freie Lizenz da ist.
Allenfalls könntets Du Dir mit etwas Geschick so was selber basteln: über die WMI Schnittstelle (Objekt: Win32_Process) könntest Du alle paar Minuten die Prozessliste aller eingeschalteten PCs abfingern und dann selber nachschauen, welche Programme laufen. Wäre nicht allzu viel Aufwand, aber ein wenig programmieren bliebe Dir nicht erspart.
Kann man das
irgendwie über die Zielpfade sehen, wenn man Rechtsklick auf
das Programm-Icon klickt, dann Eigenschaften.
Was sind „Zielpfade“, woher bekommst Du ein Programm-Icon auf den Servern, wenn dort die Programme nicht einmal installiert sind, und egal, nein, über den Rechtsmausklick gibt es keine solchen Infos, da gibt es nur globale Infos über eine bestimmte Datei, wie Größe, Hersteller und Zugriffsrechte, aber keine Infos darüber wie sie wann von wem verwendet wurde,
Armin.