サービスアプリからログオンユーザ名を取得したいのですが、
GetUserName()をしても"SYSTEM"というユーザ名が返ってきてしまいます。
サービスアプリを知らなさ過ぎるのかも知れませんが、
いい方法をご存知の方がいらっしゃいましたらぜひご教授ください。
「サービスアプリへのログオン」というのがよく判らんのだが、
IIS+ASPでサービスにアクセスしている、という意味ですか?
GetUserNameの説明を見ると、
「現在のスレッドがほかのクライアントを偽装している場合は、
偽装しているクライアントのユーザー名が返ります。」
とあります。
自分では「クライアントを偽装」というをやったことないのだが、
あなたのサービスソフトのどこで、それをやってるの?
こういうことでしょうか。
http://forums.belution.com/ja/vc/000/311/95s.shtml
レスポンスありがとうございます。
質問の意図がわかりづらいものだったようで申し訳ないです。
「サービスアプリへのログオン」ではなく、
「サービスアプリケーションでログオンユーザ名を取得」したいのです。
dairygoodsさんのリンクありがとうございます。
私もリンク文書のようにレジストリ(SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName)
から取得していたのですが、
NT4.0の場合、自動ログインする設定で上記の値を書き換えてしまうらしく
正確なログオンユーザ名を取得できないことがあったので、
レジストリ以外で取得できる方法はないかと試しているところです。
API一発で取得はできなさそうだなぁと思い、
ご存知の方がいればと質問してみました。
リンク文書の方法で取得できるか試してみます。
ツイート | ![]() |