Computer Services 'After posting my "Find SPECIFIC Service Account on Computers", I was asked by many people for a way to massively reset the Password of the 'Service account AFTER they've been identified. The logic of this is that they don't want to have to manually connect to each system and 'reconfigure the password. Since automation is the name of the game, I present you the auto-changer ;) 'I still maintain that this is not the most efficient way to do these tasks. There are applications like Hyena that could be used to do these 'more EFFICIENTLY. However, I can't argue with FREE, which is what you get this for. 'Enjoy. Deji Akomolafe 01/14/04 SVCACC_Name = InputBox("Enter the name of the Service Account" & vbCrLf & "(e.g. ""myserviceaccount"")","Service Account Name", "myserviceaccount") If SVCACC_Name = "" Then WScript.Quit(1) 'user clicked Cancel TheNewPass = InputBox("Enter the Current Password of " & SVCACC_Name & vbCrLf & "(e.g. ""NewPasswd"")","New Password", "") If TheNewPass = "" Then WScript.Quit(1) 'user clicked Cancel Const ADS_SCOPE_SUBTREE = 2 Set objConnection = CreateObject("ADODB.Connection") Set objCommand = CreateObject("ADODB.Command") objConnection.Provider = "ADsDSOObject" objConnection.Open "Active Directory Provider" Set objCOmmand.ActiveConnection = objConnection objCommand.CommandText = _ "Select Name, Location from 'LDAP://OU=Servers,DC=corp,DC=roxint,DC=com' " _ & "where objectClass='computer'" objCommand.Properties("Page Size") = 1000 objCommand.Properties("Timeout") = 30 objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE objCommand.Properties("Cache Results") = False Set objRecordSet = objCommand.Execute objRecordSet.MoveFirst Do Until objRecordSet.EOF ComputerName = objRecordSet.Fields("Name").Value Call DoEnum(ComputerName) objRecordSet.MoveNext Loop Sub DoEnum(ComputerName) On Error Resume Next strComputer = ComputerName Wscript.Echo strComputer Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colServiceList = objWMIService.ExecQuery("Select * from Win32_Service") For Each objservice in colServiceList If instr(UCASE(objService.StartName), UCASE(SVCACC_Name)) >0 Then Wscript.Echo objService.StartName errReturn = objService.Change( , , , , , , , """ & TheNewPass & """) End If Next End Sub