I am often asked how I perform bulk updates to the BDD 2007 database. BDD 2.5 provided a tool to perform this task but BDD 2007 does not. To get around this issue I use a simple CSV import process.
Unlike the BDD 2.5 the BDD 2007 database is made up of multiple tables, so when adding computers to the database you must update all of the tables related to those computers.
For example when creating a new computer you must first create a record in the ComputerIdentity table. This will create an ID that links the computer to the MAC Address, UUID, Asset tag or Serial Number. Then you must create a record in the Settings table that links the ID created in the ComputerIdentity table with the settings that you want to apply to that computer. If you want to assign a role to the computer then you must create a record in the Setting_Roles table that associates the computer ID with the role.
Hopefully you are starting to see a pattern here…
This is not too hard to do but requires is is a little more planning when creating a script that will perform a bulk import of computers.
I have attached a sample script to this post that performs the following tasks:
1. Reads the specified CSV file and extracts the following five properties:
a. Computer Name
b. MAC Address
c. Machine Object OU
d. OSD Install Package
e. Computer Role (Single role only)
2. Creates the computer object
3. Assigns the correct OSDInstallPackage and MachineObjectOU to the computer
4. Assigns a role to the computer
The script usage is as follows:
cscript Computer-Import-CSV.vbs <Computers CSV file> <Database Server> <Database Name>
cscript Computer-Import-CSV.vbs “C:\computers.csv” DBSERVER BDDADMINDB
This script is just a simple example but hopefully it will get you started towards creating your own scripts to perform bulk imports to the BDD database. It should be fairly easy to update the script to import the settings you require. So go forth and create your own versions of this script and if you come up with any other cool idea’s don’t forget to tell me what you did:)
Note: I have attached a sample CSV file for your viewing pleasure!