' Customer function for collecting custom inventory.
Dim sVersion
sBuild="1"
Private Function GetDefaultUSer()
Dim sxmlFile, oNodeList, sUser
'Begin
On Error Resume Next
bStatus=True
If bStatus Then bStatus=Job_WriteLog("GetDefaultUSer","Get default user",bStatus,True)
If bStatus Then
sxmlFile=gsWorkstationpath & "Agent\" & gsWorkstationname & ".lgi"
Set oxmlDoc = CreateObject("Msxml2.DOMDocument")
If isObject(oxmlDoc) Then
oxmlDoc.Load (sxmlFile)
Set oNodeList = oxmlDoc.selectNodes("//Inventory/Section [@Value= " & Chr(34) & "Default User" & Chr(34) & "]")
For each oNode in oNodelist
sUser=Trim(Mid(oNode.Text,1,Instr(oNode.Text," ")-1))
Next
End if
End If
If bStatus Then bStatus=Job_WriteLog("GetDefaultUSer","Found default user '" & sUser & "'",bStatus,True)
GetDefaultUSer=sUser
End Function
Function GetDepartment(sUser)
Dim bStatus, objUser, sDept
'Begin
On Error Resume Next
bStatus=True
If bStatus Then bStatus=Job_WriteLog("GetDepartment","Get default user department",bStatus,True)
Set objUser = GetObject("LDAP://cn=" & sUser & ",cn=USERS,dc=Test,dc=local")
If isObject(objUser) Then
objUser.GetInfo
sDept=objUser.Get("department")
Else
sDept=""
End If
If bStatus Then bStatus=Job_WriteLog("GetDepartment","Default user department '" & sDept & "'",bStatus,True)
GetDepartment=sDept
End Function
Private Function CustomInventory()
Dim bStatus
'Begin
On Error Resume Next 'Avoid runtime errors
bStatus=True 'initialize as True
If bStatus Then bStatus=Job_WriteLog("CustomInventory","Custom Inventory Script build " & sBuild,bStatus,True)
If bStatus Then sUser=GetDefaultUSer()
If bStatus and (sUser<>"") Then
If bStatus Then sDept=GetDepartment(sUser)
If bStatus and (sDept<>"") Then
If bStatus Then bStatus=Ini_WriteEntry(gsWorkstationPath & "Agent\" & gsWorkstationName & ".csi","Customer Inventory","Department",sDept)
End If
End If
If bStatus Then bStatus=Job_WriteLog("CustomInventory","Custom Inventory Script end.",bStatus,True)
CustomInventory=bStatus
End Function