''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' ' File: DellSetAssetTag.vbs ' Updated: May 2003 ' Version: 1.0 ' Author: Dan Thomson, myITforum.com columnist ' I can be contacted at dethomson@hotmail.com ' ' Purpose: To set the asset tag for a Dell OMCI client. ' ' Usage: cscript.exe DellSetAssetTag.vbs ' ' Input: systemname Name of system to modify ' assettag Asset tag to be assigned ' ' Requirements: ' - Dell Open Manage Client (see below for tested version) ' - Windows Script ' http://msdn.microsoft.com/library/default.asp?url=/downloads ' /list/webdev.asp ' - WMI version 1.5 ' ' Notes: ' Tests performed using: ' Windows 2000 Professional ' Windows Script v5.6 ' Dell Open Manage Client version 6.1.1.259 ' Optiplex GX240 & GX260 ( success ) ' Inspiron 5000 ( N/A ) ' Precision 530MT ( success ) ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Option Explicit On Error Resume Next '*** Declare variables Dim strNameSpace Dim strComputerName Dim strClassName Dim colInstances Dim objInstance Dim strWQLQuery Dim strKeyName Dim strAssetTag '*** Check that the right executable was used to run the script '*** and that all parameters were passed If (LCase(Right(WScript.FullName, 11)) = "wscript.exe" ) Or _ (Wscript.Arguments.Count < 2) Then Call Usage() WScript.Quit(-1) End If '*** Initialize variables strNameSpace = "root/Dellomci" strComputerName = WScript.Arguments(0) strClassName = "Dell_SystemSummary" strKeyName = "Name" strAssetTag = WScript.Arguments(1) '*** WQL Query to retrieve instances of Dell_SystemSummary strWQLQuery = "SELECT * FROM " & strClassName & " WHERE " & _ strKeyName & "=" & Chr(34) & strComputerName & Chr(34) '*** Retrieve instances of Dell_Configuration class (there should only be 1 instance). Set colInstances = GetObject("WinMgmts:{impersonationLevel=impersonate}//" & _ strComputerName & "/" & strNameSpace).ExecQuery(strWQLQuery, "WQL", NULL) '*** Use only first instance to set asset tag For Each objInstance in colInstances '*** Set the new value for the property and save the instance objInstance.Properties_.Item("AssetTag").Value = strAssetTag objInstance.Put_ Exit For Next Set colInstances = Nothing '*** If any errors occurred, let the user know If Err.Number <> 0 Then WScript.Echo "Setting the BIOS Asset Tag failed. Err:" & err.number End If WScript.Quit(Err.Number) '*** Sub used to display the correct usage of the script Sub Usage() Dim strMessage strMessage = "incorrect syntax. You should run: " & vbCRLF & _ "cscript.exe //nologo DellSetAssetTag.vbs " WScript.Echo strMessage End Sub