3 Stimmen

Abfrage des Benutzernamens des Windows-Kontos des Clients, der auf den ssrs-Bericht zugreift

Gibt es eine Möglichkeit, den Benutzernamen des Windows-Kontos des Clients zu ermitteln, der auf den ssrs-Bericht zugreift? Wenn ein Benutzer von Rechner A aus auf Berichte auf Server B zugreift, wie können wir den Windows-Benutzernamen des Benutzers im SSRS-Bericht abrufen?

Ich habe User!UserID verwendet und es hat gut funktioniert, da ich es von meinem lokalen Rechner aus ausgeführt habe. Sobald es auf einem anderen Server bereitgestellt wurde, funktionierte es nicht mehr, da keine gültige User!UserID verfügbar ist.

Bitte vorschlagen.


Mein Fehler. Ich bekomme den Benutzernamen. Aber es scheint, dass der "Code", den ich auf dem Server ausführen musste, nicht funktioniert hat. Ich habe einen vb.net-Code unter "Berichtseigenschaften -> Code" hinzugefügt. Auf dem lokalen Rechner funktioniert er einwandfrei. Ich habe einfach mit der rechten Maustaste geklickt und den Bericht auf den Server übertragen. Gibt es einen zusätzlichen Schritt, der ausgeführt werden muss, damit der "Code" auch auf dem Server bereitgestellt oder ausgeführt wird? Es handelt sich um eine sehr einfache vb.net-Funktion wie unten gezeigt

Public Shared Function GetUserName(ByVal input as String) As String
        Try
            input = input.Replace("<domain>\", "")
            Dim details(2) As String
            details = input.Split(".".ToCharArray())
            input = String.Concat(details(1), ", ", details(0))
        Catch ex As Exception
            Return ex.Message
        End Try
        Return input
End Function

Aktualisierung:
Es scheint, dass aus irgendeinem Grund input=input.Replace("\","") nicht funktioniert. Der restliche Teil des Codes scheint zu funktionieren. Der Code wird also definitiv zusammen mit dem Bericht bereitgestellt. Ich bin verwirrt, warum input.Replace() auf dem lokalen Rechner funktioniert und nicht auf dem Server.

Aktualisierung: Es scheint, dass der Domänenname, den ich auf dem lokalen Rechner erhielt, in Kleinbuchstaben war, während der auf dem Server in Großbuchstaben war, so dass das Ersetzen nicht funktionierte. Jetzt wende ich ToLower() auf die Eingabe vor dem Ersetzen an und es funktioniert. Mein Fehler. Ich hätte es besser debuggen müssen.

Ich hoffe, dass diese Frage für jemanden nützlich ist, der den Windows-Benutzernamen in den ssrs-Bericht aufnehmen möchte.

Gracias

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X