如何清除記憶體的域憑據?
相關: 如何在 Windows 7/2k8 中啟用無線域身份驗證?
為了測試我在上述問題中嘗試設置的無線連接域登錄功能,我需要一個沒有在本地系統上記憶體域憑據的帳戶。不幸的是,我辦公室裡只有這麼多人可以幫助我測試這個,即使那樣我也不想打擾他們。所以,我希望能夠在每次登錄後清除我自己的記憶體憑據。
如何清除本地記憶體,同時仍保留將來記憶體憑據的能力?
David Yu 的回答非常準確,但有一種方法可以在不直接編輯系統資料庫的情況下做到這一點。同樣,這僅在 GPO 未配置該設置時才有效。
首先,我想指出記憶體憑證數據的儲存位置。這將有助於展示(並且,出於故障排除目的,驗證)配置更改的效果。
警告: 我在 Internet 上的幾個地方找到了此資訊,其中大多數建議不要手動修改這些值。
儲存記憶體域登錄的系統資料庫項即使對管理員也是隱藏的。它只能由 SYSTEM 帳戶訪問。因此,要查看它,您將需要一個工具
psexec
(可從 Microsoft 獲得,但預設情況下未安裝),它允許您以regedit
SYSTEM 身份執行。執行此操作的命令行(假設它已安裝,並且在您的 中%PATH%
)是:
psexec -d -i -s regedit
一旦你在那裡,導航到
HKLM\SECURITY\Cache\
。在這裡,您應該看到幾個 BINARY 值。會有一個叫NL $ Control, and others named NL $ ## 對於您可用於記憶體憑據的每個插槽。(預設 10)再次,我想在這裡強調,您不應該手動修改或刪除此鍵或其值。
那麼,既然我們知道數據被記憶體在哪裡,並且我們不應該在那裡觸摸它,那麼我們如何清除它呢?
同樣,David Yu 的回答會為您指出正確的系統資料庫項。但是,如果您不想直接修改系統資料庫,還有另一種方法可以通過本地安全策略執行此操作。
secpol.msc
在安全設置樹中,導航到
Local Policies\Security Options
。這裡將有一個名為Interactive logon: Number of previous logons to cache (in case domain controller is not available)
.預設情況下,它設置為
10 logons
。要清除記憶體,請將其設置為零,然後點擊確定。在 Server 2008 上,這將立即生效。對於 Server 2003,您需要重新啟動。影響可以在HKLM\SECURITY\Cache\
不再有任何 NL$## 值的地方看到。要重新啟用憑證記憶體,請編輯相同的策略以反映您的首選值,然後點擊確定。同樣,如果您使用的是 Server 2008,這將立即生效。Server 2003 將需要重新啟動。請注意,如果您在 Server 2008 上執行此操作並且尚未註銷或重新啟動,您可以看到記憶體槽已恢復,但其中沒有實際數據。
如果您只想對需要臨時禁用憑證記憶體的任何功能進行快速、一次性的檢查,那麼在 Server 2008 中執行此操作而無需註銷或重新啟動可能會很有用。它還有助於確保您不會忘記在下次登錄後恢復更改。