StevensNet.com

...Because someone's gotta tell the story...

Blogs

To return to the main Blog List, click Full Blog Listing.

Tags

Active Directory
SCCM
System Center
Windows

Removing duplicate client ID's via script

Thursday, September 15, 2011 in System Center (Views: 5452)
There is a way to resolve Duplicate GUIDs on Technet via collections, but what if you want to find a more rapid way to affect clients? The answer could be to couple this with the AD Computer Startup script. It can be run from a user context, but I prefer using it the other way.

Why this script? Why do Duplicate ID's really matter? While they exist, many things can happen. Inventory is inaccurate, reporting is skewed, software can be deployed to the wrong machines, among other things. You should remediate your site if the report "Computers that may share the same SMS Unique ID" has any records in it. The only way you are clean is if none show.

The login script runs as a system process, so the rights/permissions of the user didn't matter. This script runs whether or not the user is a member of the administrator local group. You can add these lines to a bat file that was called from their main login script, or just a new script. Personally, I recommend the computer startup script.

Note: ccmdelcert.exe does not work with SCCM 2007 in Native Mode. This script also works for SMS 2003 clients. This tool is part of the SMS 2003 Toolkit 2. You should also never run the ccmdelcert tool on a site server.

This script does the following:

- Checks for the existance of ccmdelcert.exe in the %windir% folder
- If it is detected, will not run it a second time. It is safe to run ccmdelcert as many times as you want on a client (not the site server), but there is no need.
- If the script does not see ccmdelcert.exe in the %windir% folder, it copies ccmdelcert.exe to the %windir% folder and executes it.
- The GUID is also stored in the Windows root directory, so it needs to be deleted.
- Also, the SMS client services need to be restarted. This will create a unique ID for the client.

@echo off
net stop ccmexec
if not exist %windir%\ccmdelcert.exe (
copy \\server\share\path\ccmdelcert.exe %windir%
%windir%\ccmdelcert
erase %windir%\smscfg.ini
net start ccmexec)

 

Related Blogs You May Be Interested In:


To leave a comment, please log in and/or register.