Microsoft-vPro

Previous Next
1

Within SCCM there are two primary ways to provision a vPro Client: Using the Import Out of Band Computers Wizard and the In-band provisioning with the Configuration Manager client Agent. Because of the ease and automated provision, it is typically recommended that you leverage the In-band provisioning with the Configuration Manager client agent; however, there may be cases where this method may not work based on your environment or business process. This may leaves you with the only option of using the Import Out of Band Computers Wizard for vPro Client provisioning.

To provision clients with Import Out of Band Computer Wizard, you are required to supply at a minimum the Computer Name, FQDN, and UUID for the vPro client you are trying to provision. Hand retrieving and entering this data for a few vPro clients may be fairly straight forward; however, if you are in a scenario where you are trying to provision a large number of vPro clients it may become very time consuming. As part of the Import Out of Band Computer Wizard, you are able to specific a comma-separated values (CSV) formatted file that has these required attributes listed. With this capability available, you can technically mass import a large number of vPro clients to be provisioned; the challenge then becomes automating the retrieval of this Computer Name, FQDN, and UUID.

Example CSV File
Example CSV.JPG

Select Source - Choose Mapping
Select Source - Choose Mapping.JPG

Select Source - Data Preview
Select Source - Data Preview.JPG

Select Source - Summary
Select Source - Summary.JPG

There can be a variety of sources such as the Active Directory, Local Computer Operating System, alternate software inventory agent, etc (your imagination is the limitation) where you could potentially pull this information.

For example, this UUID Resolver is an example utility that will query your Active Directory for computers, determine if they are vPro Capable, connects to the OS, and Exports the Computer Name, FQDN, and UUID to a CSV files that can be imported through Import Out of Band Computer Wizard; once the hello packet is received, SCCM will provision the vPro Client (Special Thanks to Ariel Toporovsky for developing this example).

Another example may be to use a Software Agent or other remote execution capability to run a localized VBS, Perl Script, exe, etc that grabs the Computer Name, FQDN, and UUID locally from the client and copies the contents to a remote share to be consolidated; once there it can be imported through the SCCM Import Out of Band Computer Wizard.

What else can you think of? If you have any thoughts or tricks on how to automate this, please post your idea / exampls in the comments. Thanks.


--Matt Royer

Average User Rating
(0 ratings)


Aug 8, 2008 12:45 PM Click to view dbrunton's profile dbrunton

Here is an example VBScript you can run to retrieve the hostname, FQDN, MAC & UUID and have them insterted into a CSV file you could directly import using the process Matt has above.

This example writes to a locally on the client running the script. You can change it to write to a network share so that you end up with a single file to import.

If anyone else has other examples on how to do this we'd love to see them.


'SCCM Import Data Generation Script
'Created by Dan Brunton, Intel Corporation
'This script will connect to the local system via WMI and output the hostname, FQDN, MAC address and UUID to a file.

Option Explicit

'Change this to pont to whatever directory you want the script to write to. It could be a local path or a network share.
strDirectory = "c:\temp"
'Change this to the file name you want to have the data written to.
strFile = "\import.csv"

'Define the variables used in the script.
dim objNICInfo, objNIC, objSysComps, objItem, objService, objSysMAC, objNetwork, objFSO, objFolder, objShell, objTextFile, objFile
dim strUUID, strHostName, strDNSDomain, strMAC, strDirectory, strFile, strText

'Define the WMI interface object to retrieve information with.
Set objService = GetObject("winmgmts:\root\cimv2")

'Use the Win32_NetworkAdapter class to retrieve the MAC address and computer name for supported network adapters. Depending on the platform you are using, the NIC you may need to add or change NIC descriptions in the query below.
Set objNICInfo = objService.ExecQuery("SELECT * FROM Win32_NetworkAdapter where description='Intel(R) 82566DM Gigabit Network Connection' or Description = 'Intel(R) 82566MM Gigabit Network Connection'")
For Each objNIC in objNICInfo
strMAC = objNIC.MACAddress
strHostName = LCase(objNIC.SystemName) 'The hostname comes in as upper case, LCase changes it to lower case. There is no functional need to do this, it is purely ascetic.
Next

'Use the Win32_NetworkAdapterConfiguration class to get the DNS suffix for the NIC identified above.
Set objNetwork = objService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration WHERE MACAddress = '" & strMAC & "' and DNSHostName = '" & strHostName & "'")
for each objItem in objNetwork
strDNSDomain = objItem.DNSDomain
next

'get UUID
Set objSysComps = objService.ExecQuery("Select * from Win32_ComputerSystemProduct")
For Each objItem in objSysComps
strUUID = objItem.UUID
next

'Assemble the various data elements into a single string.
strText = strHostName & "," & strHostname & "." & strDNSDomain & "," & strMAC & "," & strUUID

'This section writes information retrieved from the script to a file.
Set objFSO = CreateObject("Scripting.FileSystemObject")

'Check to see if the strFile exists and create it if it does not
If objFSO.FileExists(strDirectory & strFile) Then
Set objFolder = objFSO.GetFolder(strDirectory)
Else
Set objFile = objFSO.CreateTextFile(strDirectory & strFile)
End If

set objFile = nothing
set objFolder = nothing

Const ForAppending = 8

'Create the file object
Set objTextFile = objFSO.OpenTextFile(strDirectory & strFile, ForAppending, True)

'Append the value of strText to the text file and close it
objTextFile.WriteLine(strText)
objTextFile.Close


-Dan Brunton