- - PR -
C# 共有フォルダーの監視
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-11-27 17:52
はじめましてC#でプログラムを開発しています。
自コンピュータ(WindowsXP)の共有フォルダーに対してネットワーク上の他のコンピュータからアクセスがあったかどうか監視したいのですがどのようにやったらいいのか分かりません。 どなたかご教授願えないでしょうか? よろしくお願いします。 | ||||||||
|
投稿日時: 2005-11-27 18:47
監視の対象となる操作は何でしょうか? 書き込み系の操作なら FileSystemWatcher クラスを利用すれば実現できると思いますが、読み出し系の操作を監視するなら、OSのシステム監査の機能を使うことになるかもしれません。 | ||||||||
|
投稿日時: 2005-11-27 21:55
ご返答ありがとうございます。
やりたい事は読み出し系も監視したんです。 コマンドプロンプトでnet sessionやnet fileを実行したときのような結果が取得できれば・・・と思っています。 「OSのシステム監査の機能」とは具体的にはどのあたりのAPIなのでしょうか? 一方的に質問ばかりで失礼とは思いますが何卒よろしくお願いします | ||||||||
|
投稿日時: 2005-11-27 22:29
こんばんは。
ご希望のAPIかどうか分かりませんが、だいたい、この辺ですかね? NetSessionEnum NetFileEnum #私は.NETのことは良く知らないので、 .NET Frameworkに対応する機能(クラス/メソッド)があるかどうかは知りません。orz | ||||||||
|
投稿日時: 2005-11-28 00:22
WMI の Win32_ServerConnection, Win32_ServerSession 辺りで情報取得できるんじゃないでしょうか。
API は知りません。管理ツールで設定を有効にすると機能します。 監査を設定すると、監査対象のファイルシステムに対する操作がすべてイベントログに記録されるようになります。 「ファイル 監査」辺りを検索語にして Windows のヘルプを調べてみてください。 | ||||||||
|
投稿日時: 2005-11-28 21:52
お世話になります。
>Tdnr_Sym様 NetSessionEnum,NetFileEnumをMSDNで調べてみました。APIを使うなら使えそうなのでもう少し調べてみたいと思います。まったく手がかりがなかったので大変助かりました。ありがとうございました。 >渋木宏明(ひどり)様 ManagementObjectSearcherクラスを使ってSQLのような記述でWin32_ServerConnection, Win32_ServerSessionの辺りを使えば取得できるんですね。 ちょっとテスト的なプログラムを作ってみたら目的の結果が取得できました。 いままでWMIはまったく使った事がなかったので、調べてみるといろいろな情報が取得できるんですね。これを期にWMIをもう少し詳しく調べてみようと思います。 どうもありがとうございました。 | ||||||||
|
投稿日時: 2005-11-28 23:22
ん、NET SESSION ならともかく、NET FILE の方は、WMI では取得できないと思いますが?
とりあえず、私が API を使用せずに共有上の Resource 状況を取得するには、 ADSI の IADsResource を利用してやります。 IADsResource interface [ADSI] |
1