Saya membuat layanan melalui srvany.exe seperti dijelaskan di sini. Aplikasi ini membutuhkan akses ke drive jaringan yang dipetakan. Saya secara manual memetakan drive ini sebagai Administrator lokal, tetapi aplikasi / layanan saya tidak memiliki akses ke sana.
Saya mencoba memulai layanan dengan kredensial Administrator lokal. Tetapi baik, Akun Sistem default maupun Administrator lokal tampaknya tidak memiliki akses ke jaringan.
Jika saya memulai aplikasi secara manual menggunakan akun Administrator lokal, aplikasi memiliki akses ke jaringan.
Apa yang harus saya konfigurasi, agar layanan saya dapat mengakses folder jaringan yang dipetakan?
Sunting:
Saya menulis file batch kecil mirip dengan yang berikut dan mengedit registri bahwa layanan memulai batch bukan exe. Jadi saya mencoba memetakan dan menjalankan exe dengan kredensial yang sama. Tetapi masih gagal:
net use V: /DELETE
net use V: \\Server\Folder\Folder /user:UserName password /PERSISTENT:YES
"C:\Program Files\MyApplication\MyApplication.exe"
sumber
ntrights.exe
dari kit sumber daya yang sama dengan yang Anda dapatkansrvany.exe
). Jika aplikasi dapat bekerja dengan jalur UNC saya akan mencoba apa yang disarankan @Matthias.Jawaban:
Saya menemukan pertanyaan serupa di serverfault.
Saya menyerah untuk memetakan pembagian dan mengkonfigurasi aplikasi saya untuk secara langsung mengakses jalur (\\ Server \ Folder ...). Kemudian saya memulai layanan menggunakan akun domain yang memiliki akses ke folder bersama itu.
Sejauh yang saya baca di berbagai sisi web, tampaknya ada perbedaan antara pengguna yang masuk dan layanan. Folder jaringan yang dipetakan oleh pengguna yang masuk tidak dipetakan untuk pengguna "lain" seperti layanan, bahkan jika layanan berjalan dengan kredensial yang sama dengan pengguna yang masuk.
sumber