許多管理員嘗試 net use * /delete /y、net session \\IP /delete,卻發現再次存取共享資料夾仍不提示密碼直接進入。原因在於:Windows 將網路認證快取於 Credential Manager (憑證管理員) 的「Windows 憑證」區塊,且由 Workstation 服務 (LanmanWorkstation) 在記憶體中保持會話。本文給出三種徹底清除方法,並解決「不重開機生效」的關鍵步驟。
control keymgr.dll 或 control userpasswords2 → 「進階」頁籤 → 「管理密碼」\\ServerName」或「Domain\User」 → 點「移除」cmdkey(適合腳本化、遠端批次)REM 列出所有快取
cmdkey /list
REM 刪除特定目標 (以 IP 為例)
cmdkey /delete:192.168.1.100
REM 刪除所有網域/伺服器快取 (通配符支援有限,建議配合 for 迴圈)
for /f "tokens=1,2" %a in ('cmdkey /list ^| findstr "Target:"') do cmdkey /delete:%b
注意: cmdkey 僅操作 Credential Manager 持久化儲存,不清除 Workstation 服務記憶體中既有會話。
NTUSER.DAT (位於 C:\Users\\ ) 至註冊表編輯器臨時鍵值 (如 HKLM\TempUser)HKLM\TempUser\Software\Microsoft\Windows\CurrentVersion\Credentials上述三種方法任一完成後,必須重啟 Workstation 服務 釋放記憶體會話:
net stop "Workstation" && net start "Workstation"
REM 或 PowerShell
Restart-Service LanmanWorkstation -Force
驗證:net use 應顯示「沒有連線」,再次存取共享資料夾會彈出認證對話框。
@echo off
REM Clear-CachedCredentials.bat
echo [%(date%) %(time%)] 開始清除網路認證快取...
cmdkey /list | findstr "Target:" > nul && (
for /f "tokens=2 delims=:" %%i in ('cmdkey /list ^| findstr "Target:"') do (
cmdkey /delete:%%i
echo 已刪除: %%i
)
) || echo 發現無快取項目
net stop "Workstation" >nul 2>&1 && net start "Workstation" >nul 2>&1
echo [%(date%) %(time%)] 清除完成,Workstation 服務已重啟。
pause
| 誤區 | 真相 |
|---|---|
net use * /delete 能清除密碼快取 | 僅斷開當前會話,Credential Manager 仍保留憑證,下次自動重連 |
| 清除 IE/Edge 密碼能解決 | 瀏覽器密碼與 Windows 網路認證完全獨立 |
| 重開機才能生效 | 重啟 Workstation 服務即可,無需重開機 |
| 域環境下本機清除無效 | 域帳號快取同樣儲於本機 Credential Manager,清除有效;但下次可能由域控重新發票 |
「清除快取 ≠ 斷開連線」。掌握 Credential Manager (圖形/命令列/註冊表) + Workstation 服務重啟 這組組合拳,才能真正實現「換身份存取共享資料夾即時生效」。將 Clear-CachedCredentials.bat 納入離職/交接/安全稽核 SOP,讓網路認證不再成為資安盲點。