Windows
在 Windows 服務中訪問網路共享的正確方法
我有一個需要按需訪問遠端 CIFS 共享的 Windows 服務。每當它需要訪問共享時,它首先會嘗試使用提供的憑據“掛載”它,
NET USE \\host\share password /USER:user
使用共享的內容,然後刪除共享。
NET USE \\host\share /DELETE
目前,該服務僅在第一次使用共享時有效。在隨後的嘗試中,它不起作用,我收到以下錯誤:
NET 失敗,退出程式碼為 2
但是,當從命令行手動執行時,同樣的邏輯都可以正常工作;它只會在服務的上下文中失敗。
我的問題是:是否有更好、更正確的方法來處理 Windows 服務中的網路共享?根據這篇文章,
NET USE
不建議在服務中使用,即使不使用驅動器號。NET USE
我應該使用一些替代方法,還是該服務只需要以預設LocalSystem
使用者以外的使用者身份執行?理想情況下,共享應該只在直接需要時才可以訪問;因此,如果可能,我想保留每次刪除共享的邏輯。
您應該以特定使用者帳戶的身份執行該服務,並且該使用者帳戶應該具有訪問共享的權限。
像這樣輸入使用者名和密碼是一種非常糟糕的工作方式。不僅是為了安全,也是為了便攜和管理。