サービスアプリからログオンユーザ名を取得するには?


おさとう  2005-11-30 00:38:45  No: 59834

サービスアプリからログオンユーザ名を取得したいのですが、
GetUserName()をしても"SYSTEM"というユーザ名が返ってきてしまいます。
サービスアプリを知らなさ過ぎるのかも知れませんが、
いい方法をご存知の方がいらっしゃいましたらぜひご教授ください。


ボコノン教徒  2005-12-01 01:02:05  No: 59835

「サービスアプリへのログオン」というのがよく判らんのだが、
IIS+ASPでサービスにアクセスしている、という意味ですか?

GetUserNameの説明を見ると、
「現在のスレッドがほかのクライアントを偽装している場合は、
偽装しているクライアントのユーザー名が返ります。」
とあります。
自分では「クライアントを偽装」というをやったことないのだが、
あなたのサービスソフトのどこで、それをやってるの?


dairygoods  2005-12-01 01:40:02  No: 59836

こういうことでしょうか。
http://forums.belution.com/ja/vc/000/311/95s.shtml


おさとう  2005-12-01 03:05:33  No: 59837

レスポンスありがとうございます。
質問の意図がわかりづらいものだったようで申し訳ないです。

「サービスアプリへのログオン」ではなく、
「サービスアプリケーションでログオンユーザ名を取得」したいのです。

dairygoodsさんのリンクありがとうございます。

私もリンク文書のようにレジストリ(SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\DefaultUserName)
から取得していたのですが、
NT4.0の場合、自動ログインする設定で上記の値を書き換えてしまうらしく
正確なログオンユーザ名を取得できないことがあったので、
レジストリ以外で取得できる方法はないかと試しているところです。

API一発で取得はできなさそうだなぁと思い、
ご存知の方がいればと質問してみました。

リンク文書の方法で取得できるか試してみます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加