2014-10-11 205 views
1

我需要調用WNetGetConnection得到的UNC路徑和應用程序時運行作爲標準的用戶它的作品不錯,但它返回1201(ERROR_CONNECTION_UNAVAIL)錯誤代碼時,應用程序以管理員身份運行。根據documentation其預計工作。WNetGetConnection並以管理員身份運行

如果網絡連接是使用Microsoft LAN管理 網絡進行,並且調用應用程序在比由連接,調用 WNetGetConnection功能相關的應用程序不同的登錄 會話中運行本地設備將失敗。 該功能失敗,ERROR_NOT_CONNECTED或 ERROR_CONNECTION_UNAVAIL。這是因爲使用 Microsoft LAN Manager進行的連接僅對運行在與創建連接的應用程序相同的登錄會話中的應用程序可見。 (要 防止調用WNetGetConnection從失敗是不 足夠的應用程序在用戶運行帳戶 創建的連接。)

,這意味着它根本不可能得到的UNC路徑從作爲管理員運行的應用程序?有沒有其他的方法?

回答

1

這是設計。由非高架帳戶創建的網絡共享在提升時不可見,反之亦然。

請參閱this question關於超級用戶討論的問題。顯然有一個註冊表設置,使映射的驅動器可以在高級帳戶和非高級帳戶之間共享,但我從未嘗試過。

+0

確實,但它很奇怪,因爲我沒有看到它爲什麼如此。因爲我使用管理員帳戶登錄,所以我創建了該共享,並且無法使用管理員權限訪問該共享。但我可以擁有標準權利。它的做法正好相反。如果我使用管理員權限創建了共享,那麼爲什麼它允許標準用戶工作,而不是管理員,並且如果資源管理器使用標準權限創建了共享,則管理員應該擁有完全訪問權限, – xmen 2014-10-11 09:26:48

+0

這就是UAC的要點。即使一個管理員帳戶沒有管理員權限,如果未被升高。 – 2014-10-11 11:26:43

+0

它仍然沒有意義。我嘗試使用高級過程製作網絡驅動器。它工作正常,但重啓後。它仍然只與標準用戶一起工作。爲什麼?因爲MS LAN Manager在作爲標準用戶登錄時連接到它。現在又有什麼意義了?我使用高級過程創建了共享。 – xmen 2014-10-12 03:38:31

相關問題