2

監視対象フォルダー(IO.FileSystemWacher)からネットワーク上のUNC共有にファイルを移動するWindowsサービスを実行しています。

ネットワーク共有は保護されていますが、共有はサービスユーザーを完全に制御できます。それにもかかわらず、ファイルパスが見つからないという問題が発生します。

私はサービス(現在の)ユーザーになりすますつもりですが、これがこれを行う正しい方法であるかどうかはわかりません。

アイデア?

4

5 に答える 5

2

まず、パスがあなたが思っているものであることを確認します。

アクセス許可を確認するには、サービスアカウントのIDでInternet Explorerを実行し(runasを実行)、[URL]ボックスにパスを入力して、サービスアカウントがパスにアクセスできることを確認します。

于 2009-05-20T11:50:37.387 に答える
2

これらを確認してください:

  • サービスユーザーはドメインアカウントですか?(ローカルアカウントは行いません)
  • サービスユーザーは、UNC共有に対するNTFS書き込み権限を持っていますか?(共有レベルのアクセス許可では不十分です。NTFSアクセス許可も必要です)
于 2009-05-20T11:54:18.177 に答える
0

どのように共有にアクセスしていますか?たまたまマウントされたディレクトリではないですか?したがって、\ server1 \ direcotry1がz:\directory1などにマウントされているとします。その場合は、サービスユーザーがマウントされたディレクトリを「見る」ことを確認する必要があります。または、標準のUNCパス(doubleを使用\)を使用します。

于 2009-05-20T12:01:33.030 に答える
0

FileSystemWatcherは常にUNC共有への接続に失敗しますか、それともウォッチャーの実行後に発生しますか?

監視対象フォルダーが存在するマシンを再起動すると、別のマシンで実行されているFileSystemWatcherに変更イベントが表示されなくなることを確認しました。これを回避するには、ウォッチャーを再起動する必要があります。これを行うには、EnableRaisingEventsプロパティを使用できると思います。

于 2009-05-20T12:01:58.067 に答える
0

サービスを実行しているコンピューターのマシンアカウントに共有へのアクセスを許可してみてください。または、ドメインアカウント(明らかに共有にアクセスできる)でサービスを実行します

于 2009-05-20T11:50:28.857 に答える