Monday 11 May 2009

Upgrading Altiris Inventory Solution -- Best Practices

http://www.symantec.com/connect/articles/upgrading-inventory-solution-best-practices

Solution Upgrade

The main solution upgrade will take the NS offline as it commences. This includes pausing the Server so no incoming NSE files will be processed. The queues will fill up with files as the NS Event Router is still moving files from the postevent.asp page to the respective queues. Other internal tasks (including client configuration updates) will not process during this time.
The upgrade might take a long time if Normalization and other data class upgrades are required during the upgrade, and depending on the size of the Database. It is recommended to use the 'Update' button under the Solution Center to upgrade as this will check all prerequisites:

Click to view.
Note: Inventory Solution 6.1 SP2 requires Notification Server 6.0 SP3 R4 as Vista Support is added in these two products and versions.
The following issues should be considered when Upgrading:
  • Upgrade completes but console items are missing: https://kb.altiris.com/article.asp?article=19921&p=1 Note: If you are using the SP1 or SP2 installer this should be resolved.
  • Error is reported in the Notification Server log when upgrading from Inventory Solution 6.0 to 6.1 SP1. When upgrading from Inventory Solution 6.0 to 6.1 SP1, the "Class Name: AeX HW ActiveTcpUdpPorts Class Guid: b50e2401-5865-43ed-95e7-75f06b77d7ce Trying to register a Split Table to a common data table that either does not exists or is not 'common' classtype" error is reported to the Notification Server log file. This error is reported because the AeX HW ActiveTcpUdpPorts data class being accessed in 6.1 SP1 did not exist in 6.0. Note: This error will not affect the upgrade process.
  • IMPORTANT > The upgrade deletes all custom files not originally part of the Inventory Agent Package (located at \Program Files\Altiris\Notification Server\NSCap\Bin\Win32\X86\Inventory Solution). This includes all custom scripts, INI files, custom inventory XML files, or any file not created by Inventory directly.

Normalization

The splitting of the data classes was done to improve performance of reporting. Since Inventory Solution's usefulness comes from reporting and secondly Collection usage, it is essential to get the most out of the upgrade by understanding what is occurring.
A utility page for Normalization data classes has been provided in the Altiris Console. Under View > Configuration (Configuration tab in the 6.0 Console) > Solution Settings > Asset and Inventory > Inventory > Windows > Normalize:

Click to view.
Use the following steps to analyze if Normalization is required after an upgrade:
  1. After an upgrade is completed, browse to the above location. To check if it is completed, look in Task Manager for a dcsplit.exe process. If it is running, leave it running until it is completed.
  2. Grayed-out entries are already Normalized. If Normalization is not successful, browsing back to this page will show the entries 'active' again.
  3. Check the boxes if those classes to normalize. Note that this process takes considerable resources and time to complete depending on the size of the Inventory tables being split.
  4. It is recommended to check the 'View progress of Normalization' so that the status can be directly checked. Once running, do not try to access this page for additional normalization until the process is completed.
The following issues should be considered when Normalizing the database:

Special Group Deprecation

New installations of Inventory Solution 6.1 Sp1 or SP2 do not have Special Groups. This document will not cover the use cases for Special Group Deprecation, but will cover the process of doing it. To see the reasons for deprecating Special Groups, please see Juice Article: Improve Inventory Solutions Performance: Deprecate Special Groups
If you installed Inventory Solution 6.1 SP1 or SP2 as a new install, nothing needs to be done as Special Groups were never setup. Note that while they do not exist, the Special Group tab is still available for use.
Upgrades to SP1 or SP2 will still have all default and custom Special Group Data classes present. To remove the default ones, a utility has been provided to accomplish this.
  1. Browse to the following folder: NS_install_path\Program Files\Altiris\Inventory\Special Groups Upgrade.
  2. Launch the .EXE: Altiris_SpecialGroupsUpgrade_6_1.exe.
This executable removes the separate Special Group data classes from the Notification Database. It updates the files, such as AuditPls.ini, win32invFloppy1.exe, and AeXWebInvPkg.exe files. The Special Groups inventory will now be collected into the standard AeX SW Audit Software data class.
For more information, please see the following Article:

Data Class Upgrades

Changes made to data classes outside of Normalization provide additional support and functionality previously unavailable. The following items detail the changes that have occurred to provide this functionality:
  1. UUID value captured > Previous to Inventory 6.1 SP1 we did not capture the system UUID with AeXSNPlus. Now we capture this as part of the AeX HW Serial Number table. Note: It is recommended to use SP2 as there was a known issue with the new UUID column that has been resolved. See the following KB for details: https://kb.altiris.com/article.asp?article=25625&p=1
  2. VM GUID column added > In Inventory 6.1 Sp1 the AeX VirutalMachine data class now has this column capturing the Guid of the virtual machine, allowing you to better distinguish between host and clients. Note that a bug caused this column to be empty until 6.1 SP2.
  3. Physical Memory Size > Previous to Inventory 6.1 SP1 we incorrectly reported memory sizes above 2GB. This has been corrected by both AeXMachInv and the database table that houses this information.
  4. Software File Size > Previous to Inventory 6.1 SP2 the data type for the file size column was an INT or Integer. This limited the largest size we were able to record to 2GB. Now the data type is BigINT, allowing a much larger size value to be captured.
  5. 64-bit Support > We've added support for 64-bit computers to Inventory 6.1 SP2. While we still captured some data in previous versions, we now officially support it and capture more data. In AeX OS Operating System we added an 'Architecture' column with the possible values of 32 or 64, respectively.
  6. Vista Support > In Inventory 6.1 SP2 we've added native support for Vista.
  7. CPU Core Count > We now track the CPU core count as of Inventory 6.1 SP2. Note: See the following KB for a known limitation: https://kb.altiris.com/article.asp?article=32370&p=1

Inventory Agent Package

Inventory Solution does not have a standard plug-in Agent for the Altiris Agent. The Inventory Agent is a collection of files including Inventory Agent 'EXE's that execute individually. These Agents have had improvements and upgrades made to them, some of which are required for the upgraded Data Classes.
Normally after the upgrade the Agents running the Inventory Tasks will automatically update to the new version of the package. This is done through this process:
  1. The Altiris Agent requests a new configuration
  2. New snapshot information is received for the Inventory Agent Package.
  3. The Altiris Agent downloads the files that have changed.
If Package Servers are used in the environment, make certain they are working properly and have received the new version of the Inventory Agent Package.
Note: Failure to do so may result in Inventory being thrown out at the Server! If the old Inventory Agents send data to the new database schema, the NSE will likely be thrown out because the schema in the NSE containing the data will not match the database.

Inventory Reports

Don't forget to upgrade the Report Pack for Inventory Solution! The reports used to reside as part of the main Solution installer, but now the Reports install with a separate execution. This allows new builds of the reports to be released without touching the main Inventory Solution installation (most definitely recommended).
The main version for SP1 and SP2 is Report Pack for Inventory Solution for Windows 6.2. The complete build numbers are as follows:
  • Inventory Solution 6.1 SP1 > 6.2.1036
  • Inventory Solution 6.1 Sp2 > 6.2.1046
If you use the Solution Center, the Report Pack should automatically be upgraded to the correct version. If you are not using the Solution Center, you should download the Report Pack from http://www.solutionsam.com/solutions/6_0/; Filename: Altiris_ReportWinInv_6_2.exe.

Monday 20 April 2009

Computer import function isn't working after upgrading to DS 6.9 SP2

After upgrading  the computer import function

Upgrading from DS 6.9 SP1 MP1 to DS 6.9 SP2 apparently breaks the Import Computers function.

clip_image002

Everything seems to work but at the end you get the following message:"An unhandled win32 exception occurred in Express.exe" and the DS console shuts down without importing the computers.

A workaround for this issue has been found by "Stefan Cleuren"

Step 1: File > New Computer

clip_image002[6]

Step 2: Now you get the option of importing once more

clip_image002[8]

Step 3 : Select your import file

clip_image002[10]

Step : Done !

Friday 20 March 2009

What Primary Lookup Key should I use with Deployment Server?

If you choose a Primary Lookup Key that is identical on two or more of your computers or if that key is missing on any of your computers, Deployment Server will not be able to identify them. To identify which Primary Lookup Key is best, open SQL Query Analyzer, select to the Deployment Server database, and run the the query against the Deployment Server database. The result will tell you which keys have duplicate computers and which ones don't. It will also show you which keys have duplicates.

DECLARE @sn INT SET @sn=(SELECT COUNT(1) FROM (SELECT T.serial_num AS [Serial Number], T.duplicates AS [Duplicates], C.computer_id AS [Computer ID], C.name AS [Console Name], C.computer_name AS [Computer Name] FROM computer C, (SELECT COUNT(1) AS duplicates, serial_num FROM computer GROUP BY serial_num HAVING COUNT(1) > 1) T WHERE C.serial_num = T.serial_num) T )
DECLARE @at INT SET @at=(SELECT COUNT(1) FROM (SELECT T.asset_tag AS [Asset Tag], T.duplicates AS [Duplicates], C.computer_id AS [Computer ID], C.name AS [Console Name], C.computer_name AS [Computer Name] FROM computer C, (SELECT COUNT(1) AS duplicates, asset_tag FROM computer GROUP BY asset_tag HAVING COUNT(1) > 1) T WHERE C.asset_tag = T.asset_tag) T )
DECLARE @uuid INT SET @uuid=(SELECT COUNT(1) FROM (SELECT T.uuid AS [UUID], T.duplicates AS [Duplicates], C.computer_id AS [Computer ID], C.name AS [Console Name], C.computer_name AS [Computer Name] FROM computer C, (SELECT COUNT(1) AS duplicates, uuid FROM computer GROUP BY uuid HAVING COUNT(1) > 1) T WHERE C.uuid = T.uuid) T )
DECLARE @mac INT SET @mac=(SELECT COUNT(1) FROM (SELECT T.mac_addr AS [MAC Address], T.duplicates AS [Duplicates], N.computer_id AS [Computer ID], C.name AS [Console Name], C.computer_name AS [Computer Name] FROM nics N, (SELECT COUNT(1) AS duplicates, mac_addr FROM nics GROUP BY mac_addr HAVING COUNT(1) > 1) T, computer C WHERE N.mac_addr = T.mac_addr AND C.computer_id = N.computer_id) T )

IF @sn = 0
  SELECT 'Serial Number OK' AS Message, 'You may use Serial Number as your Primary Lookup Key' AS Details
ELSE
  SELECT 'You have computers with duplicate Serial Numbers' AS Warning, 'Do not use Serial Number as your Primary Lookup Key' AS Details
IF @at = 0
  SELECT 'Asset Tag OK' AS Message, 'You may use Asset Tag as your Primary Lookup Key' AS Details
ELSE
  SELECT 'You have computers with duplicate Asset Tags' AS Warning, 'Do not use Asset Tag as your Primary Lookup Key' AS Details
IF @uuid = 0
  SELECT 'UUID OK' AS Message, 'You may use UUID as your Primary Lookup Key' AS Details
ELSE
  SELECT 'You have computers with duplicate UUIDs' AS Warning, 'Do not use UUID as your Primary Lookup Key' AS Details
IF @mac = 0
  SELECT 'MAC Address OK' AS Message, 'You may use MAC Address as your Primary Lookup Key' AS Details
ELSE
  SELECT 'You have computers with duplicate MAC Addresses' AS Warning, 'Do not use MAC Address as your Primary Lookup Key' AS Details

SELECT T.serial_num AS [Serial Number], T.duplicates AS [Duplicates], C.computer_id AS [Computer ID], C.name AS [Console Name], C.computer_name AS [Computer Name] FROM computer C, (SELECT COUNT(1) AS duplicates, serial_num FROM computer GROUP BY serial_num HAVING COUNT(1) > 1) T WHERE C.serial_num = T.serial_num
SELECT T.asset_tag AS [Asset Tag], T.duplicates AS [Duplicates], C.computer_id AS [Computer ID], C.name AS [Console Name], C.computer_name AS [Computer Name] FROM computer C, (SELECT COUNT(1) AS duplicates, asset_tag FROM computer GROUP BY asset_tag HAVING COUNT(1) > 1) T WHERE C.asset_tag = T.asset_tag
SELECT T.uuid AS [UUID], T.duplicates AS [Duplicates], C.computer_id AS [Computer ID], C.name AS [Console Name], C.computer_name AS [Computer Name] FROM computer C, (SELECT COUNT(1) AS duplicates, uuid FROM computer GROUP BY uuid HAVING COUNT(1) > 1) T WHERE C.uuid = T.uuid
SELECT T.mac_addr AS [MAC Address], T.duplicates AS [Duplicates], N.computer_id AS [Computer ID], C.name AS [Console Name], C.computer_name AS [Computer Name] FROM nics N, (SELECT COUNT(1) AS duplicates, mac_addr FROM nics GROUP BY mac_addr HAVING COUNT(1) > 1) T, computer C WHERE N.mac_addr = T.mac_addr AND C.computer_id = N.computer_id

During the Altiris Agent Installation window I get the following error: 'The following error occurred on the page InstallClient.aspx: Failed to Render the control'

Problem/Symptoms

During the Altiris Agent Installation window I get the following error:
The following error occurred on the page 'InstallClient.aspx: Failed to Render the control'
In the logs, the error looks like this one:
Priority: 1
Date: 10/4/2006 9:44:34 AM
Tick Count: 183687687
Host Name: NSServer
Process: w3wp.exe (4592)
Thread ID: 7528
Module: AltirisNativeHelper.dll
Source: global.asax
Description: Unhandled exception.  Type=Altiris.NS.Exceptions.AeXException Msg=Failed to render the control.
StackTrace=
   at Altiris.NS.UI.Controls.CollectionPickerCtrl.Render(HtmlTextWriter output)
   ....(obmitted section)

Inner exception.  Type=Altiris.NS.Exceptions.AeXException Msg=Failed to get the names of the selected collections.

Inner exception.  Type=Altiris.NS.Exceptions.AeXException Msg=Failed to fetch Collection datarow from database. No rows returned.

Looking on the Notification Server logs, you may find another error like this one close to the error above:
Priority: 1
Date: 10/4/2006 9:45:01 AM
Tick Count: 183715343
Host Name: NSServer
Process: aexsvc.exe (1740)
Thread ID: 6720
Module: AltirisNativeHelper.dll
Source:
Altiris.NS.StandardItems.Collection.DeltaCollectionUpdateSchedule
Description: Error occurred during delta collection updating: Altiris.NS.Exceptions.AeXException: Failed to fetch Collection datarow from database. No rows returned.

Resolution

For this error, The following error occurred on the page 'InstallClient.aspx', please try the following article:
Article ID: 18945 "Object reference not set to an instance of an object—Altiris Agent Installation Page"

If you still get the same error please try the following:
--Use the following query to find out if any defined collections are missing from Collection table:

select guid, name
from item
where classguid in
    (
    select distinct classguid
    from item
    where guid in
    (select guid from collection)
    ) and
      guid not in
       (select guid from collection)

--Use the following SQL query to move missing collections into a temporary table to be used for an insert into the Collection table.  This should resolve the collection inconsistencies causing the errors:

SELECT Guid, '34BE747F-C855-4F8F-93E7-50176076A200' as LegacySolutionGroupGuid, createddate, modifieddate into #t
FROM Item WHERE Guid in
    (select guid
    from item
    where classguid in
        (
        select distinct classguid
        from item
        where guid in
        (select guid from collection)
        ) and
          guid not in
           (select guid from collection)
    )
begin tran
insert into collection (Guid, LegacySolutionGroupGuid, CreatedDate, ModifiedDate)
  select Guid, LegacySolutionGroupGuid, CreatedDate, ModifiedDate from #t
commit tran
drop table #t

Monday 26 January 2009

Windows Boot Manager error after laying down a 2008 r2 or Windows 7 image

Article ID: 45191

Problem/Symptoms

Windows Boot Manager gives the error "winload.exe 0xc000000f " after placing down a 2008 r2 or Windows 7 image.

Resolution

By creating a run script task that runs before capturing the image while in windows, this error should be resolved.

Place the following script into that run script task.

REM Execute BCDEdit and prepare for imaging.
REM Find the system root and append system32 and BCDedit
%SYSTEMROOT%/system32/Bcdedit.exe -set {bootmgr} device BOOT
%SYSTEMROOT%/system32/Bcdedit.exe -set {default} device BOOT
%SYSTEMROOT%/system32/Bcdedit.exe -set {default} osdevice BOOT
shutdown /r

Wednesday 21 January 2009

How can I collect and report with Altiris on a computer's last reboot time?

Altiris has provided the necessary tools ( custom inventory, reports etc ) on this matter and can be found under

https://kb.altiris.com/article.asp?article=34886&p=1

grtz,

Gert

Monday 19 January 2009

Manually run Altiris Patch Management Inventory Policies on a client

A command-line utility called "AeXPatchUtil.exe" is a new feature for Altiris Patch Management 6.2. It has been placed in the directory C:\Program Files\Altiris\Altiris Agent\Agents\PatchMgmtAgent and can be used on a computer with the Altiris Software Update Agent installed to run Inventory policies.

There are four Inventory policies that the above Patch command line utility is supposed to run when used with the "/I" option.

Under the Global folder:

  •   Default Windows OS Inventory Policy
  •   Default Windows Software Release Inventory Policy

Under the Microsoft folder:

  •   Default Microsoft Software Inventory Policy
  •   Default Microsoft Vulnerability Analysis Policy

When the user runs the Patch command line utility AeXPatchUtil /I only three of the four Global and Microsoft policies are run. Currently the Default Windows OS Inventory Policy is being missed. Additional information can be found on https://kb.altiris.com/article.asp?article=29549&p=1

Friday 16 January 2009

Improving IIS and Altiris Notification Server response times

Article ID: 33499

Applies To     

• AuditExpress 1.3
• Carbon Copy 6.2
• HPCMS 6.1
• Inventory for Windows 6.0, 6.1
• Local Security Solution (LSS)

Some solutions still have debug-mode compiling enabled in their related web.config files. Debug-mode compiling can cause performance problems for any ASP.NET application. In particular, the following debug-mode behaviors impact Notification Server performance:

  • The compilation of ASP.NET pages takes longer (since some batch optimizations are disabled).
    • This can be seen in the initial viewing of each Notification Server console page.
  • Code can execute slower (since some additional debug paths are enabled).
  • Much more memory is used within the application at runtime.
    • This is of particular importance on Notification Servers with 2 GB of physical memory, and large client facing servers with multiple Altiris solutions enabled.
  • HTTP Runtime execution timeouts are enforced

Additional information about debug mode is available at ScottGu's Blog
Note: The current version of Altiris Notification Server utilizes ASP.NET 1.1  It is not currently possible to use the deployment retail="true" setting which is available for ASP.NET 2.

Manual Resolution

Make the following modification to each web.config file that is part of the Altiris installation (\Program Files\Altiris). The change will be implemented as soon as another request to the related page occurs. In most cases, this will involve a visit to the related configuration or task Notification Server console page.

Before (web.config)

<compilation
         defaultLanguage="c#"
         debug="true" />

After (web.config)

<compilation
         defaultLanguage="c#"
         debug="false" />

Automated Resolution

From a command line, execute the utility you can find here https://kb.altiris.com/utility/getfile.asp?rid=2411&aid=33499. It must be copied to the local file system on the Notification Server to meet .NET security requirements. All output will be sent to the console window, and important items will also be sent to the Notification Server log. Any modified web.config file will first be duplicated as "config.original" in the same folder. The utility offers two modes. 
To perform a check to see which web.config files will be modified, use the following command:

DisableWebDebug -check

To update the web.config files, use the following command:

DisableWebDebug -fix

By default, the utility will check the registry for the primary Notification Server installation directory, such as C:\Program Files\Altiris. If necessary, a second parameter can be used to specify an alternate search path as depicted below:

DisableWebDebug -fix "H:\Altiris2"

It is not necessary to restart any services, automatic recompilation will occur upon the next related Web page request.

For some other specific applications of this, see article 25655.

Grtz,

Gert

ps. Feel free to leave a comment if you find this information helpfull and don't forget to click on an AD ;-) , THX once more

Improving the Performance of Altiris NS 7 aka Symantec Management Platform

Article ID: 45092

If the SQL Server is on the same computer as Notification Server, we recommend that you optimize your SQL Server maximum memory settings. This can significantly improve product performance. We recommend 500-1000 MB for a 2 GB memory server and 1000 MB for other servers.

For more information, see Microsoft KB 321363 and KB 319942.

Because the root problem is the amount of memory swapping that takes place, running other applications on the same computer can also contribute to performance issues.

Grtz,

Gert

ps. Feel free to leave a comment if you find this information helpfull and don't forget to click on an AD ;-) , THX once more


How can I force my clients (AClient) to check in to the Altiris Deployment Solution server (or refresh its connection)?

Article ID: 34227

Problem/Symptoms

AClients may show as active in the Deployment Server console but are unresponsive. They may also show as inactive and need to "wake up" to reconnect to the Deployment Server console.

Resolution

Support has created an AClient Tool or AClient Refresh Tool that sends a modified Wake on LAN packet to AClients connected to the Deployment Server to have them check back in. Some customers have found this more useful than the built-in method, but it should be noted that this is not a supported product at Symantec. This is offered as-is and is a very rough tool.  It is attached to this KB.

Instructions
  1. Download the tool https://kb.altiris.com/utility/getfile.asp?rid=2557&aid=34227
  2. The best place to save and run it is on the actual Deployment Server. These instructions will assume as much.
  3. Launch the tool on the Deployment Solution server by double-clicking the executable. No installation is necessary.
  4. Select Load From Database at the top.
    1. The page this loads is to select from the Deployment Solution eXpress database those computers you wish to "wake up".
    2. There are several options that will not be discussed in this article. However, some options include selecting only those computers in an IP Range (via the IP address), and computers that match certain criteria like the Computer Name, if you happen to know one or two computers specifically you want to contact.
  5. Select Use ODBC and then click Connect at the right. When you see your systems populate the viewing area, it has completed.
  6. Select Use Table. Type in a name in the File Name field, and click Save. This saves your selected records out to CSV for later.
  7. Close the Load Database window.
  8. Select File > Load from the top-left of the main product window. Open the CSV file created in step 5.
    1. An additional option is to select the IP Address at the top-left of the main window while performing this step. If you have issues with DSN or WINS, you may find this beneficial.
  9. Click Send Wake on LAN. In the lower window, you will see the process as well as whether or not it succeeds for each client. For those that fail, you may need to do remediation such as determining why it is not turned on or otherwise unable to connect to Deployment Solution.

Grtz,

Gert

ps. Feel free to leave a comment if you find this information helpfull and don't forget to click on an AD ;-) , THX once more

How to reconnect inactive clients to Altiris Deployment Server

rticle ID: 35439

There are a few methods of getting client computers reconnected up to the Deployment Server. Usually after the server has been down for a while and then it starts up, it takes clients a while to reconnect. This is because at first they attempt to reconnect at frequent intervals, but they add longer and longer timers after they receive no response. If these AClients receive a directed Wake on LAN packet from the Deployment Server on UDP 402, they will attempt to immediately reconnect to the Deployment Server.

There is a utility that can be found in article 34227, "How can I force my clients (AClient) to check in to the Deployment Solution server (or refresh its connection)?" This utility can send out a Wake on LAN packet out to AClients and will cause them to reconnect to the Deployment Server.

Sometimes a wake up packet will not cause a client computer to reconnect to the Deployment Server. It could be that the AClient process is not running (the service is stopped), the process could be in a hung state, or in some other state that is not listening to wake ups. In this case, the client computer needs to have the AClient.exe process started or restarted. Doing this on each inactive client can be very time consuming, however, so a process has been made to help automate this.

The VBScript file can be found on https://kb.altiris.com/utility/getfile.asp?rid=2865&aid=35439  and should be started from the Deployment Server to restart AClients on inactive client computers. This script queries the database (using the same ODBC connection that the Win32 console uses) and gets a list of all inactive client computers. It then attempts to connect remotely to the services of each of those computers and stops and restarts the "Altiris Client Service," that is, the AClient.exe process. With each attempt, it also logs to a text file if it was successfull or not with each client computer. This can take a long time if many client computers are disconnected from the network or powered off because of the timeout period for each client.

Grtz,

Gert

ps. Feel free to leave a comment if you find this information helpfull and don't forget to click on an AD ;-) , THX once more

Thursday 15 January 2009

Remote Troubleshooting of a NS Client - Remote Altiris Agent Diagnostics

A guy on juice has created an application to make our life as Altiris Consultant much easier

“Remote Altiris Agent Diagnostics” allows you to connect into a remotely Altiris Agent managed machine to view all the configurations and troubleshoot without having to RDP into the machine to look at the Agent UI.

Check it out on

http://www.symantec.com/community/download/9801/remote-altiris-agent-diagnostics

and all credits to him !!

Grtz,

Gert

ps. If you find the information usefull please leave a comment and don't forget to click on an AD ;-) , THX once more

Wednesday 14 January 2009

Altiris Helpdesk Solution Upgrade guide

A Technical white paper on upgrading your Altiris Helpdesk Solution software can be found on the Altiris knowledgebase

https://kb.altiris.com/article.asp?article=24499&p=1

grtz,

Gert

ps. Leave a comment if you found this information helpfull and if you want to "don't forget to click on an AD ;-)"

Altiris Products Ports and Protocols for DS and NS

Information about ports used by Deployment server and Notification Server

https://kb.altiris.com/article.asp?article=1176&p=1

Tuesday 6 January 2009

Multiple instances of the same filename, but different file path are not reported by Inventory Solution for Windows in Altiris Notification Server

KB 35400

Problem/Symptoms

A Software Inventory scan using AeXAuditPls.exe does not report multiple instances of the same file. The Windows* operating system allows files to be named the same as long as they are in separate folders. As determined by inspecting the auditpls.nsi file on a client computer, files with the same name but different file paths are collected properly by AeXAuditPls.exe and sent to the Notification Server. However, only one of these files is added to the AeX SW Audit Software data class.


Environment

Inventory Solution for Windows 6.1 SP2 (6.1.1075) and all previous versions


Cause

The Notification Server dataloader uses the following properties to determine a unique row to be placed into the AeX SW Audit Software data class (Inv_AeX_SW_Audit_Software_spt and Cmn_SW_Common tables in the database):

  • Manufacturer
  • Product Name
  • Product Version
  • Language
  • File Name
  • File Size
  • InternalName
  • File Description

The dataloader will ignore multiple instances of files that match on these properties. Note that "File Path" in not used to determine uniqueness, which is why only one instance of a file that occurs in multiple folders is inserted into the database.

Also note that since "File Size" is used to determine uniqueness, data files (and executable files) with the same name, but with different sizes, will be inserted into the database. On the odd chance that data files with the same name contain different data, but have the same exact size, only one file will be inserted into the database.


Resolution

This resolution is provided "as is" and has not been reviewed by the developers of Inventory Solution for Windows. It may not be suitable for every environment.

Important: Because this resolution updates the data in the database, back up the Altiris database first.

A change to the DataClassAttribute Table will cause the Data Loader to use "File Path" to determine unique rows to insert into the database. The following SQL query will show the attributes the Data Loader uses to determine uniqueness.

USE Altiris
SELECT * FROM DataClassAttribute
WHERE InvClassId = (SELECT id FROM DataClass WHERE Name = 'AeX SW Audit Software')
ORDER BY AttrId

You can use this SQL statement to change the "File Path" attribute so it is used to determine uniqueness.

USE Altiris
UPDATE DataClassAttribute
SET KeyIndex = AttrId, Nullable = 0
WHERE AttrName = 'File Path'
AND InvClassId = (SELECT id FROM DataClass WHERE Name = 'AeX SW Audit Software')

Note: This change may be overwritten if a upgrade or repair is made to Inventory Solution for Windows.