2011-08-11 6 views
1

ファイルが存在し、ドメイン認定のWindowsアカウントでファイルを削除できます。このアカウントから、プログラムのコンパイルと実行を行っています。私はいつもプログラムがネットワークドライブ上のアクションを実行するときにそのアカウントを使用すると仮定してきました。これは当てはまりませんか?Directory.Delete - UnauthorizedAccessException

私は、フォルダとファイルへのフルアクセス権を持つアカウントでWindowsの.exeを実行しようとしましたが、同じエラーが表示されます。これが機能しているか、特定のユーザーとして特定のアクションを実行できるようにするために、コード内で何かする必要がありますか?

現時点では、別のスレッドまたはバックグラウンドワーカーでコードを実行していません。私は単純に以下を実行するメソッドを作成しました:

Directory.Delete(NetworkDirectory, true); 
Directory.Delete(NetworkDirectoryTwo, true); 

すべての回答をいただければ幸いです。

答えて

-1

ネットワーク経由でファイル/ディレクトリにアクセスしようとする場合は、実際のフォルダに設定されているアクセス許可だけでなく、ネットワーク共有に適切なアクセス許可を設定する必要があります。あなたのアカウントはC:\MyData\*に完全にアクセスできますが、\\mycomputer\MyDataとして共有されていて、そのフォルダが読み取り専用として共有されている場合はUnauthorizedAccessExceptionとなります。

+0

私が使用しているアカウントは、共有とドライブの両方に完全にアクセスできるドメイン管理者アカウントです。 – Omniabsence

+0

@user '\\ mycomputer \ MyData'を正常に参照してそこのフォルダをWindowsエクスプローラで削除できますか? AFAIKでは、プログラムは、ネットワークリソースにアクセスするために、起動したユーザーの資格情報をデフォルトで使用する必要があります。 –

+0

私もそう思った。何か奇妙なことが起きている。フォルダとそのすべてのファイルとサブフォルダを削除する別の方法がありますか?私はそのように再帰的に行う方法を理解しようとしており、動作するものに何か問題が発生している。 – Omniabsence

関連する問題