Laden...

Clientname von prozessausführenden User rausfinden

Erstellt von schillerdeluxe vor 15 Jahren Letzter Beitrag vor 15 Jahren 1.962 Views
S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 15 Jahren
Clientname von prozessausführenden User rausfinden

Hallo @ all,

Hab ein kleines Problem und komm einfach nicht weiter.
Ich muss ein Tool entwerfen, dass am Server unter anderem überprüft, ob ein gewisser Prozess von einem bestimmten Benutzer ausgeführt wird.

Dafür benötige ich unbedingt den Clientnamen des Benutzers...

Kann mir jemand weiterhelfen?

1.200 Beiträge seit 2007
vor 15 Jahren

Prozess herausfinden:

Process.GetProcessesByName

Computernamen herausfinden (mittels Prozess):

Process.MachineName

User herausbekommen:

Environment.UserName

Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!

YARRRRRR!

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo schillerdeluxe,

WindowsIdentity.Name

herbivore

S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 15 Jahren

Ja das hatte ich schon...

Etwas genauer zum Problem:

Es liegt am Server, auf dem man sich hin remotet...
Und das blöde dabei ist, dass es nur einen Benutzernamen gibt, sich aber mehrere Leute zugleich anmelden können. Jetzt kann ich den Benutzer nur durch den Clientnamen herausfinden...

1.200 Beiträge seit 2007
vor 15 Jahren

Ist das nicht der MachineName?

Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!

YARRRRRR!

S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 15 Jahren

Hab ich gerade versucht...
Als string bekomme ich dann nur einen . (punkt)

1.200 Beiträge seit 2007
vor 15 Jahren

Hast du auch den richtigen Prozess auf dem Client angewählt?

Was kommst raus, wenn du das auf dem Client ausgibst? Könntest es zur Not ja direkt rüberschicken.

Kannst auch mal Environment.MachineName probieren.

Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!

YARRRRRR!

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo GMLOD,

Environment.MachineName würde aber den Maschinennamen des Servers liefern. schillerdeluxe will ja wohl den Benutzernamen des Clients, der mit dem Server verbunden ist, auf dem Server ermitteln.

herbivore

S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 15 Jahren

Ja, es ist der richtige Prozess..

Ja mit Environment.MachineName bekomm ich den Computernamen... Der ist aber auch immer der selbe, leider!

Was meinst du damit, dass ich es zur not rüberschicken könnte?

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo schillerdeluxe,

Was meinst du damit, dass ich es zur not rüberschicken könnte?

vermutlich, dass der Client über die bestehende Verbindung seinen Environment.UserName explizit an den Server schickt.

herbivore

S
schillerdeluxe Themenstarter:in
138 Beiträge seit 2006
vor 15 Jahren

Achso...
Naja, wäre die Notlösung, würde es aber lieber anders machen

1.200 Beiträge seit 2007
vor 15 Jahren

Du könntest aber beim Aufbauen des Channels in das Properties Dictionary alle Informationen vom Client eintragen und das auf dem Server abfragen.

HttpChannel.Properties Property
Channel and Formatter Configuration Properties

Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!

YARRRRRR!

3.971 Beiträge seit 2006
vor 15 Jahren

Ist aber auch nicht gerade fein, wenn jeder bei euch mit dem selben Benutzer (egal wo) angemeldet ist. Es macht zwar Sinn, dass man auf bestimmten Rechner Root/Admin-Rechte braucht aber man muss sich nicht gleich als Root oder Admin anmelden, sondern bekommt nur die entsprechenden Root oder Admin-Rechte.

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...