トップ回答者
リモートデスクトップ接続時のログオンアカウントおよび接続元のコンピューター名の取得方法

質問
-
社内SEを担当しております。
いくつかの記事でタイトルの取得方法が掲載されておりましたが、
実際にvbsやバッチファイルを作成したところ、ログオン/ログオフスクリプトに組み込むと%ClientName%のままログに記録されてしまい、
接続元のホスト名が分かりません。
以下のコマンド以外に取得する方法があれば、教えて頂きたいのですが。。
以下に、コマンドの一部のみ記載致します。
##VBSの場合##
strClientName = objWSHShell.ExpandEnvironmentStrings("%ClientName")
※リモートログインした状態にて手動でVBSを実行するとクライアント名が記録されます。
※バッチファイルからVBSファイルを実行するように構成しても同じです。
##バッチファイルの場合##
eventcreate /ID 99 /L Application /SO cmd /T Information /D "%username% %clientname%"
※タイムアウト時間を2秒まで設けてみましたが、結果変わりません。
ご面倒おかけ致しますが、宜しくお願い致します。
回答
-
以下の記事記載の方法で設定する際、バッチファイルを用いて試したところ上手く実行できました。
要件としては、ドメイン管理者アカウントでログイン履歴の書き出しができればよかったので、
こちらの方法で検討させて頂きます。
<参考URL>
http://answers.microsoft.com/ja-jp/windows/forum/windows_xp-networking/%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%87/0c085de1-7930-4b0e-8813-b1ab429c7b0e?auth=1
ご参考までにサンプルを以下に記載致します。
<方法>
①以下のコマンドを記入したファイル[logon.bat]を作成する。
echo off
echo %date% "," %time% ",<logon>,ログオンユーザ名:" %username% ",接続元PC:" %clientname% ",RemoteStatus:" %sessionname% ",接続先PC" %computername% >> \\server\logon\log.csv
exit
②グループポリシー[ユーザの構成]⇒[ポリシー]⇒[管理用テンプレート]⇒[システム]⇒[ログオン]⇒[ユーザーのログオン時に実行するプログラムを指定する]を有効化
③「②」を有効化後、ログオン時に実行する項目の値に”\\server\logon\logon.bat"を入力
④設定したグループポリシーをユーザアカウントのOUへリンク
以上。
- 回答としてマーク SE運用保守1188 2015年9月15日 2:32
すべての返信
-
以下の記事記載の方法で設定する際、バッチファイルを用いて試したところ上手く実行できました。
要件としては、ドメイン管理者アカウントでログイン履歴の書き出しができればよかったので、
こちらの方法で検討させて頂きます。
<参考URL>
http://answers.microsoft.com/ja-jp/windows/forum/windows_xp-networking/%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%88%E3%83%87/0c085de1-7930-4b0e-8813-b1ab429c7b0e?auth=1
ご参考までにサンプルを以下に記載致します。
<方法>
①以下のコマンドを記入したファイル[logon.bat]を作成する。
echo off
echo %date% "," %time% ",<logon>,ログオンユーザ名:" %username% ",接続元PC:" %clientname% ",RemoteStatus:" %sessionname% ",接続先PC" %computername% >> \\server\logon\log.csv
exit
②グループポリシー[ユーザの構成]⇒[ポリシー]⇒[管理用テンプレート]⇒[システム]⇒[ログオン]⇒[ユーザーのログオン時に実行するプログラムを指定する]を有効化
③「②」を有効化後、ログオン時に実行する項目の値に”\\server\logon\logon.bat"を入力
④設定したグループポリシーをユーザアカウントのOUへリンク
以上。
- 回答としてマーク SE運用保守1188 2015年9月15日 2:32