
ウィンドウズ10プロ
バージョン 1709 OS
ビルド 16299.666
ネットワーク ドライブにアクセスするサービスがありますU:/public/blah.txt
。コマンド プロンプトを使用して通常のユーザーとして実行すると機能しますが、サービスとして実行すると機能しません。
に移動しservices.msc -> servicename -> properties -> Log On -> This account
て正しいパスワードを使用しMYDOMAIN/MYUSER
て再起動しても、まだ機能せず、同じエラー メッセージが表示されます。これは、コマンド プロンプトからプログラムを正常に実行できるアカウントです。
これはGolangの実行ファイルで、nssmサービスであり、実際のエラー メッセージは次のとおりですError opening file U:\public\blah.txt: The system cannot find the path specified
。
このプログラムは以前は別のコンピューターのサービスとして動作しており、同じドライブにアクセスしています。私が確認した唯一の違いは、現在使用しているアカウントがドメイン アカウントであるのに対し、以前はローカル ユーザーであったことです。
ドライブ マッピングを持つユーザーとして正常にログインしているのに、サービスがドライブ マッピングを認識しないのはなぜですか?
答え1
サービスがマップされたドライブ経由でデータにアクセスする代わりに、UNC パス名を使用します。
ユーザープロファイルが読み込まれるときにドライブをマップする方法はいくつかあります。サービス特定のアカウントを使用してログオンします。このため、UNC パスはマップされたドライブよりも信頼性が高くなります。