Managed By Script Modification

As a logoff script, we copy the last logged on user to the managed by attritbute for that computer account. When we rename the computer, we get an error in the script saying that the specified account does not exist. Then the computer takes 10 minutes to shut down the group policy client service.

How can the script be modified to prevent this?

Set objSysInfo = CreateObject("ADSystemInfo") 
Set objComputer = GetObject("LDAP://" & objSysInfo.ComputerName) 
 
objComputer.Put "managedBy", objSysInfo.Username 
objComputer.SetInfo

Open in new window

LVL 22
Joseph MoodyBlogger and wearer of all hats.Asked:
Who is Participating?
 
Daz_1234Connect With a Mentor Commented:
Does it need to be done in the logoff script?  What's wrong with doing it in the logon script?

Daz.
0
 
YZlatCommented:
can I see your script for renaming computer?
0
 
Joseph MoodyBlogger and wearer of all hats.Author Commented:
I was referring to renaming a computer by hand. (for example, if a machine is moved to another location).
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
RobSampsonCommented:
Do you rename the account in Active Directory, or on the physical computer?  The only reason I can think that is says the computer doesn't exist, is maybe there's slow replication between your domain controllers, and they don't all have the same renamed computer account.  When you get this problem, connect to each DC and check whether the computer exists, and run this on the system:

Set objSysInfo = CreateObject("ADSystemInfo")
WScript.Echo "LDAP://" & objSysInfo.ComputerName

manually, to see whether the computer is correct.

Rob.
0
 
Joseph MoodyBlogger and wearer of all hats.Author Commented:
It occurs when we renamed the account on the physical machine.

I will try it on logon to see. We are normally asked to keep scripts on logoff to help with the logon time.

0
 
Daz_1234Commented:
I would think that the snippet you posted would be quick so it will not noticeably delay the logon process.

Let's see: Try this for testing:

t = timer
Set objSysInfo = CreateObject("ADSystemInfo") 
Set objComputer = GetObject("LDAP://" & objSysInfo.ComputerName) 
 
objComputer.Put "managedBy", objSysInfo.Username 
objComputer.SetInfo
Msgbox "took " & timer - t & " seconds."

Open in new window


Daz.
0
 
RobSampsonCommented:
Could you have different domain controllers that the PC might connect to that are not in sync?
0
 
Joseph MoodyBlogger and wearer of all hats.Author Commented:
Script actually runs fast. Moved to user side
0
All Courses

From novice to tech pro — start learning today.