Windowsサービスがネットワーク共有にアクセスできない


9

ローカルマシンでWindowsサービスを実行しています。NT AUTHORITY \ NETWORK SERVICEで実行するように構成されています。プログラムは、同じサブネット内のコンピューター上のネットワーク共有ドライブにアクセスします。その共有ディレクトリでは、Everyoneがフルコントロールに設定されています。

File.Exists()でFalseを取得していますが、ファイルは存在します。これは許可の問題だと思います。忘れ物はありますか?共有ドライブのあるコンピュータはドメイン上にないことに注意してください。

回答:


13

共有ドライブを備えたマシンがドメイン上にないという事実があなたの主な問題です。これを機能させるには、Windowsサービスを特定のユーザーとして実行するように構成する必要があります。次に、同じパスワードでリモートシステム上に同じユーザーを作成する必要があります。それでうまくいくかもしれません。

この問題は、ドメインにないマシンにログインするには、そのマシンに存在するアカウントを使用してそのマシンにログインする必要があるという事実に起因します。他のもののマシンアカウントは、そのローカルマシン上には存在しません。同じパスワードで同じユーザーを作成することで、ログインを機能させることができる場合があります。


2
sysadminに感謝します。あなたは正しいです。両方のマシンで同じアカウントを作成すると、うまくいきました。したがって、理想的な状況は、ネットワーク共有とWindowsサーバー(サービスが実行されている場所)が同じドメインにあることです。次に、サービスを実行するドメインユーザーアカウントを作成し、共有にアクセスします。
ブライアンT

はい、そうです。同じドメインに属している場合は、トニー・ロスのアドバイスに従うことができます。(ネットワークサービス)のように設定してから、リモートコンピューターの権限をマシンアカウントに付与します。
sysadmin1138

-1

ローカルシステムとして実行するように変更し、共有/ NTFSアクセス許可の正しい権限にmachineaccount $を割り当てます。NTFSのハイライトにも注意が必要です。


darnはnot in domain部分を逃しました
tony roth

理解できません; リモートマシンの共有権限で指定する必要がある名前は何ですか。
Wilbert 2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.