(以下為ChatGPT生成Solution)
Windows 10 Home 版本與 Windows 10 Pro / Enterprise 在帳號安全政策上有所不同,Home 版本無法透過群組原則 (gpedit.msc) 設定進階密碼政策。不過你仍然可以透過 命令提示字元 (cmd) 的 net accounts 指令 來設定一些基本的密碼規範。
這些指令要在「系統管理員模式的命令提示字元」下執行:
cmd
net accounts
cmd
net accounts /minpwage:1
cmd
net accounts /maxpwage:30
cmd
net accounts /minpwlen:8
cmd
net accounts /uniquepw:5
⚠️ 此設定需要搭配「帳號鎖定原則」,在 Home 版本中不支援完整帳號鎖定機制,但可以查驗是否啟用。
cmd
net accounts /lockoutthreshold:5
cmd
net accounts /lockoutduration:30
cmd
net accounts /lockoutwindow:30
Home 版本無法透過「本機安全政策」圖形化介面設定(secpol.msc 不存在)。
雖然 net accounts 可設定這些參數,但某些限制在 Home 版本上 實際不會生效(如帳號鎖定門檻)。
為提升家庭版安全性,建議搭配以下措施:
使用 Microsoft 帳戶登入(支援 MFA)
啟用 BitLocker 替代方案(如 VeraCrypt)
安裝信任的防毒與防火牆工具
監控使用者行為(如 Event Viewer 記錄登入)
如果你希望獲得完整的密碼與帳號政策控制能力,建議升級到 Windows 10 Pro 或 Windows 11 Pro,就可以使用「本機群組原則編輯器 (gpedit.msc)」與「本機安全政策 (secpol.msc)」。
● 檢視目前帳號政策設定:
net accounts
● 設定密碼最短使用天數(建議 1 天):
net accounts /minpwage:1
● 設定密碼最長有效天數(建議 30 天):
net accounts /maxpwage:30
● 設定最小密碼長度(建議至少 8 字元):
net accounts /minpwlen:8
● 設定密碼不可重複使用次數(建議 5 次):
net accounts /uniquepw:5
● 設定登入失敗次數鎖定門檻(Home 版可能不生效):
net accounts /lockoutthreshold:5
● 設定帳號鎖定持續時間(分鐘):
net accounts /lockoutduration:30
● 設定鎖定計數器重設時間(分鐘):
net accounts /lockoutwindow:30
✅ 使用 Microsoft 帳戶登入,並啟用兩步驟驗證 (MFA)。
✅ 啟用 Windows Hello(臉部辨識或 PIN 取代密碼)。
✅ 開啟 Windows Defender 與防火牆,並定期掃描。
✅ 使用 VeraCrypt 加密重要資料夾(BitLocker 僅適用 Pro 以上版本)。
✅ 避免使用「Administrator」帳號操作日常事務。
✅ 定期備份重要資料(建議使用 OneDrive 或外接硬碟)。
✅ 使用 Event Viewer 監控可疑登入行為(事件代碼如 4624、4625)。
✅ 使用 USB 安全軟體限制外接裝置(如 Ratool)。
警告:修改註冊表前請備份系統。
● 設定自動鎖定螢幕時間(單位秒):
路徑:HKEY_CURRENT_USER\Control Panel\Desktop
鍵值:ScreenSaveTimeOut(REG_SZ)
建議值:300(代表 5 分鐘)
● 啟用螢幕保護程式:
路徑:HKEY_CURRENT_USER\Control Panel\Desktop
鍵值:ScreenSaveActive(REG_SZ)
建議值:1
● 自動啟動螢幕保護後鎖定工作站:
路徑:HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Control Panel\Desktop
鍵值:ScreenSaverIsSecure(REG_SZ)
建議值:1
net accounts 查詢的是 本機電腦的帳戶政策(Local Security Policy),不是網域(Domain)的密碼原則。
如果你的機器是 Domain Member(已加入網域),那麼本機帳號原則通常會被 網域原則覆蓋,但 net accounts 仍然只會顯示本機的設定值,而不是實際生效的網域策略。
🔹 方法一:在網域控制站(Domain Controller)上使用 Group Policy Management Console (GPMC)
開啟 Group Policy Management (gpmc.msc)
找到:
pgsql
複製編輯
Forest > Domains > yourdomain.local > Group Policy Objects > Default Domain Policy
右鍵點選 Default Domain Policy → 選擇「Edit」
到這裡查看設定:
pgsql
複製編輯
Computer Configuration > Policies > Windows Settings > Security Settings > Account Policies > Password Policy
🔹 方法二:使用 PowerShell 查詢網域原則(建議在 DC 上執行)
powershell
複製編輯
Get-ADDefaultDomainPasswordPolicy
這個指令可以直接列出網域密碼原則,包括:
MinimumPasswordLength
PasswordHistoryCount
MaxPasswordAge
MinPasswordAge
ComplexityEnabled
LockoutThreshold
LockoutDuration
LockoutObservationWindow
✅ 範例輸出:
yaml
複製編輯
ComplexityEnabled : True
LockoutDuration : 00:15:00
LockoutObservationWindow: 00:15:00
LockoutThreshold : 5
MaxPasswordAge : 42.00:00:00
MinPasswordAge : 1.00:00:00
MinPasswordLength : 8
PasswordHistoryCount : 24
ReversibleEncryptionEnabled : False
本機 GPO 和網域 GPO 發生衝突時,實際生效的是「網域 GPO」(Domain Policy) → 除非你使用的是 Fine-Grained Password Policy(細緻密碼原則)。
如果你不是在 Domain Controller 上查詢,就無法看到整個網域的密碼原則。
Q:本機 GPO 和網域 GPO 發生衝突時,我想要查詢實際生效的GPO,如何用查詢? 請用指令及系統操作分別說明
ChatGPT 說:
好問題!這是管理 Windows 系統中非常重要的實戰技巧 🔍
你想要查的是「實際生效的群組原則(Resultant Set of Policy, RSOP)」,也就是當本機 GPO 和網域 GPO 發生衝突時,實際哪一個設定生效了?
🔸 查詢當前使用者與電腦設定(以目前登入者身份):
cmd
gpresult /r
🔸 查詢指定使用者與電腦(需管理員權限):
cmd
gpresult /user yourdomain\username /scope:computer /v
🔸 查詢所有詳細資訊(包含 GPO 名稱與來源):
cmd
gpresult /h C:\GPOResult.html
↑ 會產生一份可閱讀的圖文報告檔,推薦查看這個 HTML 檔!
步驟如下:
按下 Win + R,輸入:
rsop.msc
這會啟動一個圖形化工具「Resultant Set of Policy」,會自動分析目前登入者實際生效的政策。
等待分析完成後,你可以展開這些路徑:
pgsql
Computer Configuration > Windows Settings > Security Settings > Account Policies > Password Policy
或
pgsql
User Configuration > Administrative Templates
如果你看到某一個設定來自 Default Domain Policy,那就是從網域來的。
如果來自 Local Group Policy,那就是本機原則。
Windows 會自動以「優先級」套用:
pgsql
Local → Site → Domain → OU(由上到下覆蓋)
用 gpresult /r 看 GPO 來源(哪一個 GPO 影響電腦)
用 rsop.msc 或 gpresult /h 看到目前實際生效的「最小密碼長度」
可以比對該設定是來自本機還是某個 OU 下的 GPO