有沒有方法使用WMI更改遠程計算機上的用戶密碼? 我找不到任何資源,所以任何幫助,將不勝感激。WMI-更改遠程計算機上的用戶密碼
感謝
UPDATE首先感謝您的快速答覆!你們統治!
我只是想,我們沒有使用Active Directory,我需要寫我的代碼在C#中添加...
再次感謝 - 生病的樣子成什麼現在
有沒有方法使用WMI更改遠程計算機上的用戶密碼? 我找不到任何資源,所以任何幫助,將不勝感激。WMI-更改遠程計算機上的用戶密碼
感謝
UPDATE首先感謝您的快速答覆!你們統治!
我只是想,我們沒有使用Active Directory,我需要寫我的代碼在C#中添加...
再次感謝 - 生病的樣子成什麼現在
正確的建議好,這些是這個Hey Scripting Guy column中的VB腳本示例,但它們應該是可轉換的:
如何更改OU中所有計算機的本地管理員密碼?
Set objOU = GetObject("LDAP://OU=Finance, DC=fabrikam, DC=com")
objOU.Filter = Array("Computer")
For Each objItem in objOU
strComputer = objItem.CN
Set objUser = GetObject("WinNT://" & strComputer & "/Administrator")
objUser.SetPassword("i5A2sj*!")
Next
第一部分是基於AD,但只是被用來找到域中所有的機器。第二部分(即實際的遠程密碼重置)完全不依賴於AD。
因此,它基本上綁定到WinNT://<ComputeName>/<UserName>
,然後調用SetPassword()
。
這對改變local admin account password其他等問題已經在C#:
public static void ResetPassword(string computerName, string username, string newPassword) {
DirectoryEntry directoryEntry = new DirectoryEntry(string.Format("WinNT://{0}/{1}", computerName, username));
directoryEntry.Invoke("SetPassword", newPassword);
}
哈,我*只是*發佈了與評論完全相同的內容。儘管如此,這應該起作用。 – 2011-12-18 14:13:55
@CodyGray - 每當有人提到使用WMI來做* X *時,我的第一本能就是去搜索「Hey Scripting Guy」內容:-) – 2011-12-18 14:18:40
Damien_The_Unbeliever謝謝!不幸的是,我自己缺乏知識,這使我難以忍受。我不知道如何將這些腳本翻譯成C#,並在C#中的解決方案使用DirectoryEntry對象,而不是說管理對象....所以我真的不能前進這一點。 – JanivZ 2011-12-18 14:26:24
是通過Active Directory連接遠程計算機?如果是這樣,請參閱[這裏](http://blogs.technet.com/b/heyscriptingguy/archive/2004/10/15/how-can-i-change-a-user-s-password.aspx)。你應該能夠很容易地將代碼翻譯成C#... – 2011-12-18 14:12:17
我已經更新了我的答案,以包含一個[另一個SO問題]的鏈接(http://stackoverflow.com/questions/234845/change-local-administrator -password-in-c-sharp),它討論了本地更改,但最終的代碼看起來應該也適用於遠程機器,並且它已經在C#中。 – 2011-12-18 14:22:04