を提案これらは、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ベースのですが、ちょうどドメイン内のすべてのマシンを見つけるに使用されています。 2番目の部分(実際のリモートパスワードをリセットする)は、ADにまったく依存しません。
だから、それは基本的にSetPassword()
を呼び出し、その後、WinNT://<ComputeName>/<UserName>
に結合しています。
そしてlocal admin account passwordの変更に関するこの他のSOの質問は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);
}
は、リモートコンピュータには、Active Directoryを経由して接続されていますか?その場合は、[こちら](http://blogs.technet.com/b/heyscriptingguy/archive/2004/10/15/how-can-i-change-a-user-s-password.aspx)を参照してください。あなたはC#にコードをかなり簡単に翻訳することができるはずです... –
[別の質問]へのリンクを含めるように私の答えを更新しました(http://stackoverflow.com/questions/234845/change-local-administrator -password-in-c-sharp)を使ってローカルの変更について話しますが、最終的なコードはリモートマシンでも動作するはずです。既にC#になっています。 –