MAC address as host name - auto populate, etc.
-
Thank you for your time thinking this through!
I had not thought about the issues that you mention, you are definitely right that it is more complicated than it seems at first.
I guess even Dells would only allow 8 characters in the “prefix” to stay within the 15 character hostname limit :
SSS-RRR-*
And you make a good point that since it is not standardized, it would fail on many systems - ACER, and ASUS come to mind as their serials are 30 or so characters with the first 22 or so being the same, by model. The HP’s that I use have 10 characters in the serial, which would still work, but then that limits the prefix as it could no longer be 8 characters. However, I know that many folks just use SSS-* (where SSS is the site, and * would be the serial) and in this case something like this would support all Dells, and I believe all HPs.
Since it is not standardized, and would probably require truncation then perhaps it would be more trouble than it is worth, but I just wanted to ask about this.
Although it would be confusing, since FOG allows duplicate hostnames (and only really cares about the MAC) having truncated serials that result in duplicate hostnames would not be the end of the world, until you wanted to join / integrate Active Directory, just a thought.
Maybe this isn’t something that would be part of the main release but could be a modification, plug-in, etc. because it is complicated, and some folks might actually hate this…
Thanks again Tom, you’re the man!
D.L. -
Another thought, although probably even more complicated, would be to pass the system serial into “Computer Description” inside Windows which allows up to 1024 characters, I believe. I now have a better understanding of the pitfalls and cumbersome nature of having the serial as the hostname, so perhaps this would be an alternative to make the serial view-able and searchable inside Active Directory.
The goal of this is to be able to cross-reference the systems that FOG has touched inside Active Directory (by more than just a hostname), and passing the system serial to “Computer Description” might be a more elegant or alternative way of doing this. Originally I went down the MAC path because that accomplishes this to a certain level, but that has its downside too.
Your time, work, and thoughts are greatly appreciated,
Thanks again,
D.L. -
I realize that it would be necessary to modify the FOG Service to do the “Computer Description” idea, but in theory the code/connections are already somewhat setup for something like that, correct?
Can the FOG Service pull the serial from the SQL database? My guess would be yes, and then it would be a (not simple) matter of passing that into “Computer Description” - after that, the serial would appear inside Active Directory in quite an elegant way.
Thanks,
D.L. -
if your goal is to retrieve the serial number and set that to the description, you could just do that with a vbscript based snapin
-
Thanks for the reply,
It seems like putting the serial in “Computer Description” might be better than trying to put it in the hostname, so I guess that would be my goal, yes. In simpler terms, getting the serial into Active Directory in some form is the MAIN goal, and “Computer Description” would seem to be the best and more appropriate place/way for this, rather than the hostname.The problem with doing it via VBScript snapin is that is another thing to write/manage/push/worry about, and I would rather just have it be mechanized as part of the FOG Service. However, I will certainly try it that way as time allows.
Would a VBScript pull the serial from the SQL database, or from the local machine? Off the top of my head, I cannot remember if Windows stores the motherboard serial somewhere, but you would think so…
Also, cloning machines with/without sysprep might cause a VBScript to pull an incorrect serial if it’s pulling it from the local machine.
Thanks,
D.L. -
We implemented this last year so some of the information may have been changed with out being documented, but this is the script we used. Keep in mind this only updates the description in AD not on the computer itself.
You also have to change ad permissions.
Open ADUC
Right click on domain select properties -> security -> advanced -> add
Type Authenticated Users -> OK -> properties
Change [U]Apply to:[/U] to [U]Descendant Computer Objects[/U] and allow Write Description[CODE]DIM objSysInfo, objWMI, objComputer
SET objWMI = GetObject(“winmgmts:{impersonationLevel=impersonate}!\.\root\cimv2”)'Get OU
SET objSysInfo=createobject(“adsysteminfo”)'Set computer description; will not update field if description is current or if it starts with an “!”
FOR EACH objSMBIOS IN objWMI.ExecQuery(“Select * from Win32_SystemEnclosure”)
serviceTag = replace(objSMBIOS.SerialNumber, “,”, “.”)
manufacturer = replace(objSMBIOS.Manufacturer, “,”, “.”)
NEXT
FOR EACH objComputer IN objWMI.ExecQuery(“Select * from Win32_ComputerSystem”)
model = trim(replace(objComputer.Model, “,”, “.”))
NEXT
SET objComputer = GetObject(“LDAP://” & objSysInfo.ComputerName)
newDescription = “(” & serviceTag & " / " & model & “)”
IF NOT objComputer.Description = newDescription AND NOT left(objComputer.Description,1) = “!” THEN
objComputer.Description = newDescription
objComputer.SetInfo
END IF[/CODE] -
you might find this link interesting [url]http://deployhappiness.com/find-serial-numbers-in-active-directory/[/url]
-
Thanks for the replies,
These are both good directions to point, and thank you for the suggestions. If/when I have time to try these, I will…However, it would still be better if it was integrated as part of the FOG Service, or the main FOG installation, IMHO. Of course this will sound lazy, but having the work already done and having it mechanized, automated, and in the background is always better.
That it probably the single greatest thing about FOG and the FOG Service, it WORKS - yes, there are ways to do everything that FOG and the FOG Service do independently, on your own, but I would never be able to get them working. The deployhappiness.com link illustrates this perfectly as the comment section is full of folks having trouble with it, trying to get it to work, etc. and undoubtedly that would be me as well and I would probably just give up before I got it working…
That’s why you guys are developers and I’m just a user, haha!
Thanks again for all of your work and help,
D.L. -
I just wanted to add that I do understand that basic scripting is not the same as developing, and is generally part of the job, but I’m sure that I will have some trouble getting this to work.
I will try it and report back, thanks again for all of the assistance and the great work on FOG,
D.L. -
If you need help, Convo me (not everybody all at once), but I can try to assist and direct where you may need it.