2011-03-29 135 views
1

目前我有一個用C#(以LocalSystem身份運行)編寫的windows服務,它使用DirectoryEntry添加用戶/密碼和關聯的UserFlags來創建模擬所需的用戶帳戶。然後,它只需使用此帳戶使用LogonUser()功能執行一些任務(使用模擬) - 完美工作。如何防止用戶登錄用於模擬的帳戶?

但是,該帳戶只能用於我的服務模仿,用戶應永遠不能在本地或通過網絡登錄(即使他擁有憑據)。

爲了達到這個目的,我嘗試設置「本地拒絕登錄」和「拒絕從網絡訪問此計算機」的本地策略,並添加了我的服務創建的用戶。但現在,模擬失敗,出現以下情況: 登錄失敗:用戶未被授予請求的登錄類型在這臺計算機(1385)

所以,我猜這不是正確的方法來做到這一點......但我需要安全地鎖定帳戶,以便其僅供我的服務用於冒充目的,並確保沒有其他人可以永久登錄帳戶(即使他們擁有所有憑據)。

我可以使用LSA嗎?或者使用類似於帳戶創建時的DirectoryEntry代碼?有沒有辦法允許帳戶存在但不允許用戶交互式登錄?

任何幫助將不勝感激。 謝謝,

+2

你可能會嘗試在serverfault.com上掛着很多系統管理員。 – NotMe 2011-03-29 14:24:57

+0

雖然您的服務最初是用c#編寫的,但您目前的問題不是編程問題。推薦這個移動到serverfault.com – 2011-03-29 14:36:47

+0

歡迎來到堆棧溢出!請不要在標題中放置任何標籤。 – Will 2011-03-29 16:54:55

回答

0

您可以在「網絡服務」帳戶下運行該服務,並授予服務器對適用的域資源的訪問權限。除此之外,我不確定是否有辦法解決用戶帳戶的問題。

+0

可悲的是,這不會工作 - 我需要模仿一個真正的用戶...我只需要確保唯一的方式來使用用戶是通過模擬,並拒絕它從一個物理用戶登錄 – Shaitan00 2011-03-29 21:13:43

相關問題