web-dev-qa-db-ja.com

WindowsサービスのUNCパスまたはマップネットワークドライブの一部としてユーザー名/パスを指定する

そのマシンのローカルアカウントを使用して、別のマシンのネットワーク共有に書き込みできるようにする必要があるサービスがあります。これを行うには、サービスが認識できるネットワークドライブをマップする必要があります(サービスが実行されているユーザーとしてログインし、ドライブのマウントが機能していないようです)、またはuncパスを指定できる必要がありますサービスの構成の一部としてユーザー名とパスワードを使用します。

これらのいずれかが可能ですか?

3
Jack Ryan

上記の答えはうまくいくはずですが、より簡単なアプローチは、同じユーザー名とパスワードで両方のボックスにローカルアカウントを作成することです。次に、サーバーAのローカルアカウント名で実行するようにサービスを設定し、サーバーBのローカルアカウント名を許可するようにサーバーBのネットワーク共有権限を設定します。それらは同じユーザー名とパスワードであるため、共有へのアクセスを許可する必要があります。

または、もっと良いことは...ドメインアカウントを作成し、それを両端で使用することです。

6
TheCleaner

Net Useコマンドでユーザー名/パスワードを指定できます。

Net Use Z: \\Server\SharedFolder passwordGoesHere /USER:userAccountGoesHere /persistent:no
4
Brandon

サービスはどのアカウントで実行されていますか?ローカルシステムですか、それとも他のアカウントですか?最善のアプローチは、ドメインユーザー/同じユーザーとパスローカルユーザーを使用して目的を達成することですが、別の方法は、Windowsの資格情報マネージャーを使用することです。サービスが実行され、認証サブシステムが自動的に取得するのと同じコンテキストで実行中に、リモートマシンの資格情報を追加できます。これは、サービスアカウントのコマンドプロンプトでcmdkey.exeを使用して簡単に実行できます。

1
Nasko

それほど単純ではありませんが、 別のオプション SOの厚意によります。

0
Kara Marfia