我正在寫一個C++程序來管理Windows 7上的用戶帳戶。如何設置用戶帳戶密碼而不知道C中的舊密碼?
我想爲現有的用戶帳戶設置密碼。
我不能使用NetUserChangePassword(Netapi32.dll),因爲我沒有記錄創建用戶時設置的以前的密碼。
因此,程序必須能夠設置一個新的密碼(不知道舊密碼)。
有沒有辦法在C++中以編程方式做到這一點?
謝謝你的幫助。
我正在寫一個C++程序來管理Windows 7上的用戶帳戶。如何設置用戶帳戶密碼而不知道C中的舊密碼?
我想爲現有的用戶帳戶設置密碼。
我不能使用NetUserChangePassword(Netapi32.dll),因爲我沒有記錄創建用戶時設置的以前的密碼。
因此,程序必須能夠設置一個新的密碼(不知道舊密碼)。
有沒有辦法在C++中以編程方式做到這一點?
謝謝你的幫助。
呼叫NetUserSetInfo
與level
參數設置爲1003
我認爲應該強調,在不提供原始密碼的情況下調用'NetUserSetInfo'會使該用戶的EFS加密文件(如果有的話)無法訪問。避免這種情況的唯一方法是先前備份EFS證書或通過相同的方法恢復舊密碼。對於很多用戶來說,EFS不是一個問題,但對於那些使用它的人來說,這可能是一個非常頭疼的問題。 –
是這個安全漏洞是專門插入到Windows允許這種使用情況。 – RedX
那麼,即使我喜歡在Linux上諷刺,root用戶可以在不知道舊密碼的情況下更改任何密碼;)。也許在Windows中有類似的東西。 – mfontanini
看一下[NetUserSetInfo](http://msdn.microsoft.com/en-us/library/windows/desktop/aa370659 \(v = vs.85 \).aspx) – Romoku