SMS Software Inventory

Goto the SMS Home Page

This page details problems and issues relating to Software Inventory.

Bad Incremental Software Inventory after changing to a new Site server on Windows 2000

Contributed By: Richard Threlkeld [MVP SMS]
You migrated SMS from NT to Windows 2000 and your initial software inventory has run fine. But what can you do if incremental inventory scans fail for the majority of your clients?..  [Go to article]
 

Can I stop Software Inventory running on certain machines/drives?

We need Software Inventory for our workstations. But running Software Inventory on our file servers with gigabytes of data is useless. Is there a way I can stop Software Inventory running on my servers but keep it running on my clients?

As detailed in Microsoft Knowledge Base article 255959 'Turning Off Software Inventory on a Single Client', create a hidden file called 'skpswi.dat' at the root of each logical drive that you want to exclude.
 

Capturing File Information Using Software Inventory

Contributed By: Cliff Hobbs [MVP SMS]
How do you capture file information such as the description using SMS Software Inventory?..  [Go to article]
 

Collected files taking over

To my horror I found out that the contents of 'sms\inboxes\sinv.box\filecol' was at 1.5 GB!! I understand that each directory underneath the 'filecol' directory is each client, but I am only collecting four '.dat' files and have set the client limit to be at 1Mb. The database maintenance task 'Delete Aged Collected Files' does not seem to do anything. Any ideas?

If the Software Inventory Agent discovers any changes to a file, the files will be collected again at the next cycle. By default, SMS will retain the last five copies of the file that were collected. This means that it will only copy the files that have changed.

Software inventory will keep the last five copies of any file collected. For example if you have the limit set to 1 MB, 5 copies x 1MB x 1000 users = 5,000 MB which quickly adds up.

The 1 MB limit applies to the entire folder rather than a per file basis. Meaning that the total size collected <all files total> is a maximum of 1 MB. So if the file itself is 750k in size, Software Inventory can't collect more than one version of the file.

You can restrict the number of copies of files being collected with a registry change:

HKLM\Software\Microsoft\SMS\Components\SMS_SOFTWARE_INVENTORY_PROCESSOR\Maximun Collected Files = 0x00000005

where '0x00000005' is the default for 5 files.
 

"ERROR 4 - Get SW Inventory Sites data failed !!" error in SINV32.LOG

I'm not getting Software Inventory on most clients at one of my sites. The error in SINV32.LOG is "ERROR 4 - Get SW Inventory Sites data failed". I have SMS 2.0 SP4 at all sites. I looked it up in TechNet and it says to delete the 'HKLM\...\microsoft\SMS\CLIENT' Registry key.

This key has permissions set and I'm unable to delete all of the subkeys. Also, since there are more than 150 clients at this site, does anyone have any suggestions?

Contributed by: Kelly Hulsebus
The problem is that the '
Sites' keys under the Hardware Inventory Agent and Software Inventory Agent have restricted permissions. The solution I found was to:

  1. Take Ownership of 'HKLM\Software\Microsoft\SMS\Client' (check to replace child objects as well)
     
  2. Click inherit rights from parent, click apply
     
  3. Click replace permissions on child objects, click OK

SMS can now read the 'Sites' keys and proceed. I ended up doing this manually on clients with this problem. Do not know of an automated fix. The related Knowledge Base Article is 315715 'SMS: Cannot Reinstall Inventory Components on Windows XP'.

Contributed By: Rod Trent [MVP SMS] [posted 24/4/03]
If this doesn't work you might want to check out this article... [Go to article]
 

Finding a computer's Registry size

Has anyone found a way to find a workstation's current Registry size? I have a few packages that fail and complain the the Registry size limit has been reached. I'd like to identify systems with low Registry quotas so that I can fix them BEFORE sending the package.

A couple of options here:

  • You can open up the 'Win32_Registry' WMI Class in the 'SMS_DEF.MOF' file and then copy this new file to the 'SMS\Inboxes\Clifiles.src\hinv' directory on the site server.
     
  • Use this script that was created with SMS Installer. The 'registrysizelimit' is the key you're looking for. Others have had a similar problem and just added this key into the Registry.

Finding the path to an executable

We are running Software Inventory to pick up on all .EXE's. We are getting feedback from the report writers that they would like the path to the EXE's we find. For example, we find 'calc.exe', they want to know that it's in 'c:\winnt\system32'.

See Microsoft Knowledge Base article 229973 'SMS: Software Inventory Does Not Report Last Accessed Date or Modified Date.' There's a tool you can obtain as a hotfix which can output this information to a MIF. Not a great solution but unless you buy something like Inventory Solution from Altiris this is all you can do.
 

How do I force a Software Inventory scan?

You can:

  • Manually start the Software Inventory agent at the client

  • Distribute a package to the client to run the Resource Tool utility 'Cliutils' with the syntax:
    "Cliutils.exe /START "Software Inventory Agent""

  • Use 'NTForceInv.exe' from Scriptmania (accessible from the Web Sites page), to force remote NT computers to run their hardware or software inventory. This tool can be run from any NT computer and the client doesn't have to wait for CCIM to trigger the event.

Inventorying Mapped Drives

Contributed By: Steven Rachui [MSFT]
Can SMS Inventory Mapped drives? To find out…  [Go to article]
 

Manually cleaning the 'badsinv' directory

I recall a thread that said this folder can be routinely cleared, because SMS doesn't do it. Can these files be deleted? I just applied SP2 to my site and there don't seem to be any new files being placed here but there are several from before the upgrade.

Yes, the following two folders can (and should) be manually cleaned at any time to save space and perform necessary SMS cleanup:

\\(Site_Server)\sms_(sitecode)\inboxes\sinv.box\BADSinv

and

\\(Site_Server)\sms_(sitecode)\inboxes\dataldr.box\BADMIFS

Replace '(Site_Server)' with your Central site server's name and '(sitecode)' with the server's 3 digit code.
 

SINVIEW prepends the directory it's running in to the filenames given in the file list

The BORK utility 'SINVVIEW' seems to prepend the directory it's running in to the filenames given in the filelist. This implies that you need to run it on the same drive as the '*.sic' and '*.sid' files are in. I'm trying to do something like:

SINVVIEW \\siteserver\SMS_sitecode\inboxes\sinv.box\badsinv\filename.sic

but that will only work if either I copy all files to another directory and put SINVVIEW in there or copy SINVVIEW into where the files are. Has anyone had other experiences and been able to get it to work using UNC name to point to location of sic/sids?

One way round this is to copy all the files to a temp directory and have the SINVVIEW utility there, and then it works fine. Its really good to see where the files come from, and import them into Excel even. For a quick sorted view, just to have a 'look over' to see if there is a spread or its mainly one machine I have done the following:

@echo off
rem Les Landau 24 Nov 2000
if not %1@==@ goto Help
if exist showsinvall.txt del showsinvall.txt >nul
if exist showsinv.txt del showsinv.txt >nul
for %%j in (*.si?) do sinvview %%j >>showsinvall.txt
find /i "Netbios Name" showsinvall.txt | sort >showsinv.txt
notepad showsinv.txt
goto endit
:Help
echo Use this to see if it is the same machines that are causing BADSINVs
echo.
echo This uses the BORK tool SINVVIEW to list out all the netbios names
echo for entries in the BADSINV directory.
echo It places the sorted result in SHOWSINV.TXT and detailed results
echo into SHOWSINVALL.TXT
echo Run this from a directory that has SINVVIEW.EXE in it
echo.
echo *** NOTE The SINVVIEW.EXE needs to be in the same directory as the
echo *** *.sid, *.sic files, so either copy them all to temp location
echo *** and run from there or add SINVVIEW to
echo *** \\SiteServer\SMS_SiteCode\inboxes\sinv.box\badsinv
:endit

One thing I haven't tried is mapping a drive first and using the drive letter.
 

'SMS Software Inventory Processor failed to process software inventory file'

I've been seeing lots of these errors lately:

SMS Software Inventory Processor failed to process software inventory file "E:\SMS\inboxes\sinv.box\3RGHJTYT.sid," and has moved it to "E:\SMS\inboxes\sinv.box\BADSinv\1J473B9A.sid."

Possible cause: The file attempted to update inventory information in the SMS site database that does not already exist, or the file contains invalid syntax.

Solution: The client inventory needs to be resynchronized, which will be done automatically. Look for the subsequent message 3703, which indicates the resynchronization has begun.

In my experience this is an indication of corrupt software inventory delta files. Use Notepad to view the contents of the '.SIDs' in the '\BADSinv' directory. Record the NetBIOS names and see if the same machine is generating bad inventory files repeatedly. If so, remove and re-install the SMS client on the machine.

If multiple machines are generating bad SID's look to see if they are on the same subnet; you may have subnet bandwidth problems, especially if most of the inventories are being done around midnight. An additional CAP on the problem subnet solved the problem for me.

There were issues with SP1 and Software inventory such as this.
 

Software Inventory Not Being Updated on Some Clients

Contributed By: Wally Mead [MS]
If Software Inventory isn't running on some of your clients here's some advice  [Go to article]
 

Some clients show a Software Inventory date as in the future

I have six clients that somehow have a Software Inventory date that's in the future. That means their Software Inventory won't update until that date is reached (over a year in the future for some clients). How do I correct this error? I can't just force a Software Inventory from the client as it won't be passed through the Site server due to the previous 'future' date that is already recorded.

Simply delete the Client from the database - it will recreate the Hardware/Software Inventory at the next cycle. Alternatively change the dates in the SQL database (if the date is greater than today's date then update it to today's date). This problem was quite common on clients doing Year 2000 testing (for obvious reasons).
 

Stale software inventory data

I'm querying the product version of a McAfee DLL ('mcscan32.dll') and SMS reports back a different version than what's on the workstation, even though the workstation reports an up-to-the-minute software scan.

McAfee drops the replaced DAT and DLL files on other portions of the drive which is why SMS is showing different versions.
 

Thousands of SIDs in the ‘badsinv’ folder

Contributed By: Les Landau
If you’ve got thousands of SIDs with old date/time stamps here’s a script to help you get to the bottom of things…  [Go to article]
 

What's the Difference Between the "v_GS_ADDREMPROGS" and "v_HS_ADDREMPROGS" Views?

Contributed By: Jeff LeBlanc [MSFT]
If you’re looking to get a listing of installed applications on your clients and wondering what the difference is between these two views then read on… [Go to article]
 

© FAQShop.com 2003 - 2008

Goto the SMS Home Page

Email the Author