- PR -

ログインアカウント名とタスク実行アカウント名の取得方法

1
投稿者投稿内容
mayumi0314
会議室デビュー日: 2008/03/14
投稿数: 5
投稿日時: 2008-03-14 17:43
はじめまして。

現在、VB2005でアプリ開発をしています。
このアプリは、Windowsにログオンしているユーザでのみ実行可能にさせようとしています。

タスクスケジューラに登録を行った場合、
タスク設定にて『ログオンしている場合にのみ実行する』をONにすれば問題ないのですが、
これをOFFとされた場合に、このタスクを実行しているアカウントが
現在Windowsにログオンしているアカウントであるかどうかの判断方法がわからず、
質問させて頂きました。

今、
 ログオンアカウント  … ユーザA
 タスク実行アカウント … ユーザB
であったとして、タスクが実行された際にアプリ内でアカウント名を取得してみました。

@ My.User.Name
A System.Environment.UserName
B GetUserName (Win32API)

上記いずれを試しても、「ユーザB」が返ってきます。
Windowsログオンアカウントである「ユーザA」を取得したい場合、
どうすればいいのでしょうか。

開発環境は以下の通りです。
・VB2005 SP1 / .NET Framework 3.0 SP1
・WindowsXP SP2

よろしくお願いします。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2008-03-14 18:56
ターミナルサービスAPIでコンソールセッションの情報が取れるのでは?

http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200312/03120004.txt
mayumi0314
会議室デビュー日: 2008/03/14
投稿数: 5
投稿日時: 2008-03-14 19:16
todoさん、ありがとうございます。

試してみます。また結果をご報告させていただきます。
1

スキルアップ/キャリアアップ(JOB@IT)