2011-10-16 63 views
0

我用我的Windows 7登錄到域。如何更改我的DC密碼

我想編程改變我的用戶密碼。

我試圖做「淨用戶/域」但我有Access拒絕錯誤。

我不想手動更改它(CTRL + ALT + DELETE,更改密碼...)。

我很樂意在命令行,python,C++或c#中獲得答案。

感謝,

瑪坦

回答

1

不知道如何將它包含在C#中,但是Netapi32.dll庫合併了NetUserChangePassword函數。 http://msdn.microsoft.com/en-us/library/windows/desktop/aa370650%28v=vs.85%29.aspx

在python中,有兩種簡單的方法可以做到這一點。隨着ctypes的,你可以通過鍵入它包含:

from ctypes.wintypes import windll 
ChangePassword = windll.Netapi32.NetUserChangePassword 

然後通過鍵入更改密碼:

ChangePassword(domainname, username, oldpass, newpass) 

「域名」可能爲零,如果你想分配當前登錄域的密碼。 不過,如果你已經安裝了Windows工具蟒蛇istalled,那麼你可以使用win32net更改密碼:

import win32net 
win32net.NetUserChangePassword(domainname, username, oldpass, newpass) 

再次,0可以用來代替域名。

1

您可以使用簡單的VB腳本(名爲changepass.vbs):

Dim UserDomain 
Dim UserName 
Dim NewPassword 

UserDomain = WScript.Arguments.Item(0) 
UserName = WScript.Arguments.Item(1) 
NewPassword = WScript.Arguments.Item(2) 

Set User = GetObject("WinNT://"& UserDomain &"/"& UserName & "") 

Call User.SetPassword(NewPassword) 
If err.number = 0 Then 
    Wscript.Echo "The password change was successful." 
Else 
    Wscript.Echo "The password change failed!" 
End if 

它接受3個參數:域名,用戶名和新密碼。當前用戶必須有權更改密碼。如果你想在本地計算機上更改密碼提供「。」作爲域名。示例:

cscript changepass.vbs "YOUR_DOMAIN" "user1" "qw23442q"