Blog site to provide a quick way to find solutions on problems encountered during a day to day work. Some articles are just copies of KB or Forums, but they might come in handy.
25 November 2006
Get log information of server or managed PC
http://"servername"/Altiris/NS/logview.asp?server="PCNAME"
When this is run then the log of the NS server is shown
http://"servername"/Altiris/NS/logview.asp
Patch Management 6.2 released
See http://kb.altiris.com/article.asp?article=29579&p=3 for the Release Notes
But still a lot of know issues...
21 November 2006
Support for Windows 2003 SP1
SWD Plug in Task Server
But .... You wont see it as an update so you need either to install it directly from the solutionsam, or go to Available Solution, Solutions and then Software Delivery Solution, there you see the Plug In will be installed.
Support for SQL 2005 SP1
A list of the version that are supported can be found in this KB
15 November 2006
03 November 2006
Application Control Released
With Application Control Solution you can:
Implement the principle of least privilege in order to enhance protection of data and functionality from faults and malicious behavior. See Restrict an Application’s
Process Rights
Apply security ratings to withstand future attacks by reducing attack surface. You
can reduce the attack surface by reducing the number of applications available to
exploitation. See Security Rating.
Isolate an application to protect against file system and registry corruption or
misuse. This is done through integration with Altiris® Software Virtualization
Solution™ software. See Run an Application in an SVS Layer
Protect against data theft. You can automate the encryption of documents as
Application Control Solution seamlessly integrates with Windows Encrypted File
System. For information, see http://www.microsoft.com/resources/documentation/
windows/xp/all/proddocs/en-us/encrypt_overview.mspx?mfr=true. Using
Application Control Solution, you can automatically encrypt documents on a
notebook, thus preventing theft. See Automate Document Encryption.
Control an application’s ability to read or write to specific network locations.
Prevent potentially malicious applications, such as keyloggers, from installing
Windows API hooks. See Manage Applications.
Protect from viruses and spyware. See Quarantine Files.
02 November 2006
01 November 2006
What to know about SWD 6.1SP2
In Software Delivery Solution Task Server Plug-in, the Post Program Run Actions are handled through the Task Server
In Software Delivery Solution Task Server Plug-in, the post program run actions, such as No action required, Restart computer, and Log off user are handled by the Task Server. The After Running drop-down list on the Programs tabview of the Packages page lists all the post program run actions.
On the Task Server a Task Server Power Management task needs to be added to a job. The Task Server Power Management task takes care of post program run actions that are required to be carried out.
Installation, Upgrade, and Uninstallation
Prerequisites
On the Target Computer
Altiris Agent
Client Task Agent 2.3
On the Notification Server
Notification Server 6.0 SP3 or later
For Software Delivery Task Server Plug-in
Altiris Task Management 6.0
Software Delivery Solution 6.1 SP 1 or later
Custom Console 6.5 and Custom Console Data 6.5
31 October 2006
Application Metering and Software Delivery Updated
SWD 6.1SP2 :
Release Notes
What's New in this Release
What is New in this Release?
Updated User Interface for Data Purging
Software Delivery Solution Task Server Plug-in
Known Issues
The following are unresolved issues and workaround instructions for issues in this release:
Known Issue Article ID
Software Portal functions incorrectly due to the unregistered MSCOMCTL.OCX file 26018
A duplicate copy of software delivery package is created on the client computer 26021
Clicking a New Program tool opens a Software Delivery Program Page 26245
Deliver Software task fails the first time for the packages that have Package Servers option set to manual pre-staging 26244
06 October 2006
07 September 2006
Why do I receive a "Server Error in '/Altiris/NS' Application after instaling KB23784 (R2)?
21 August 2006
How to determine which Dell systems may have a battery for recall.
How to determine which Dell systems may have a battery for recall.
Question | |
How do you determine which systems in your environment may have a battery that needs to be replaced with the Dell laptop battery recall? | |
Answer | |
You can run the following SQL query. NOTE: This query requires that your Notification Server have the Dell Client Manager installed. Select vc.[name] AS 'Computer Name', | |
03 August 2006
Solution Removal Tool (Removes Solution from Database)
| Problem | |
| Sometimes after uninstalling a solution from either the Add/Remove Programs or from the Solution Center you find that this has not removed the solution completely from the Database. Some symptoms that you will see is referrences to the Solution in the Tree Structure on the Notification Server Admin Console. You may also see a refference to the Solution when attempting to view the GetLicenseDetails.aspx page which would returns a ASP Dump. | |
| Environment | |
| Cause | |
| At this time the root cause is undetermined. It may be a combination of things including SQL Deadlocks or Security. | |
| Resolution | |
Use the following Solution Removal Tool. In the sample below this will remove Web Administrator for Windows from the Altiris Database. Please remeber when running this tool to select the correct database to run the query against. Please note that you use this Removal Tool at your own risk, Database backup is higly recommended before running. REM Replace GUID with Product GUID of the Solution you wish to Remove from the Altiris Database SET @GUID = '{B2CF75A5-C442-4945-A979-1EAFDD182A76}' Delete from Item where Guid = @Guid | |
02 August 2006
Script to install SVS Agent
How do you do a silent install of the Software Virtualization Agent?
Answer
Run the following from a command line or in a script:
msiexec.exe /qb? /i
Replace:
01 August 2006
28 June 2006
DS Console slow to load, freezes, or users in AD groups don't have correct rights in the console after console opens
Slow load for the console.
Cannot log onto the console.
Console freezes when security is enabled.
When logged on, the user has no rights even though AD group has the correct rights set.
B) DNS Queries can have issues when running in an isolated environment. This is usually displayed by a DS Console taking 2-5 minutes to log into.
--------------------------------------------------------------------------------
Resolution
There is a new express.exe that fixes most of these issues. Attached is that .EXE in ZIP format. This express.exe will need to be licensed with a valid eXpress license. DS 6.5 SP1 needs to be installed prior to this fix.
You can download the .EXE from the KB When clicking on this link
31 May 2006
How to compress WinPE PXE Images
You find more info in this KB of Altiris
08 May 2006
Link to : Using Software Delivery Solution to Install Internet Explorer ActiveX Compatibility Patch for Mshtml.dll
This article contains a download link to the XML ( at the right side of the page )
25 April 2006
Installing/Updating Aclient + custom settings with Altiris job
to Aclient.inp. You can do two things with the Aclient.inp.
Create a deployment job to install the Aclient using these settings by running something like
Aclient.exe aclient.inp -Install -Silent
Or if you just want to change settings and not install aclient,, create a copy job in DS
Point the file to copy to the aclient.inp
use the destination just like
settings:aclient.inp
Thx Tim.
Steve Gibson made a GPO for this, you can find more info at : Steve's site
Thx Steve
Helpdesk: These common words were ignored:" every word we search for"
Using SQL Enterprise Manager, expand the incident database (usually Altiris_Incidents), then click on Full-Text catalogs. There should be one: HD_workitem_comment. Right-click on that and choose " Rebuild catalog" .
Also, find the workitem table in Tables and right-click on that. Drill into the Full-Text Index menu and make sure Change Tracking and Update Index in Background are checked. That' s what keeps the full-text index up to date.
SQL 2005 has a new UI that is a little different but the same basic capabilities are there: look under the Storage folder to find the full-text catalog. The Full-Text Index menu for the workitem table has Track Changes Automatically available as a choice if tracking hasn' t been turned on.
It seems like SP3 doesn' t correctly turn that tracking on for SQL 2005 when you create a new database. I don' t know why it would turn it off on sql 2003 or 2000 if it was on previously. Are these new databases that you' re seeing the problem in?
19 April 2006
Deployment Solution 6.5 Hardware Independent Imaging
http://kb.altiris.com/article.asp?article=21224&p=3
18 April 2006
Using Software Delivery Solution to Install Internet Explorer ActiveX Compatibility Patch for Mshtml.dll (MS06-013)
Problem
The Altiris Console reacts differently to ActiveX Controls after installing the patches included in Microsoft's KB article 912945, "Internet Explorer ActiveX update," or KB912812, "MS06-013: Cumulative security update for Internet Explorer."
Environment
Microsoft Windows XP Service Pack 2
Microsoft Windows Server 2003 Service Pack 1 (SP1)
Notification Server 6.0 SP3 (6.0.6074), older versions will most likely react to the ActiveX update in the same way.
Cause
Microsoft made minor changes to the way that Internet Explorer handles some Web pages that use ActiveX controls. See Microsoft Security Advisory (912945) published Feb 28,1006:
http://www.microsoft.com/technet/security/advisory/912945.mspx
and press release:
http://www.microsoft.com/presspass/press/2003/oct03/10-06EOLASpr.mspx
Resolution
Install Microsoft Compatibility Patch KB917425 Internet Explorer ActiveX compatibility patch for Msdhtml.dll. See:
http://support.microsoft.com/kb/917425/en-us
Note: You only need to install this patch if you have previously installed the KB912945 or KB912812 patches. This patch should give you an error if you have not previously installed one of the other two patches. The preferred method of installing these patches is to follow the instructions on the Microsoft Web site, especially for your Microsoft 2003 Server computers.
However, to help facilitate the installation of these patches, you may download the attached Compatibility Patch (KB917425).xml file that contains two Software Delivery Tasks that utilize the same Software Delivery Package and import it into your Notification Server console.
Download both the Windows 2003 and Windows XP patch files from the URL above. The two filenames are:
WindowsServer2003-KB917425-x86-ENU.exe
WindowsXP-KB917425-x86-ENU.exe
Place these two files in a folder that is local to your NS server.
Import the Compatibility Patch (KB917425).xml file by right-clicking on a suitable location in your Console and selecting import. A good location might be the Task tab > Software Management > Software Delivery > Windows > Software Delivery Tasks.
Modify the Package Location: field in the "ActiveX Compatibility Patch (KB917425)" package to point to the folder you created in step 1.
Apply the change and be sure to "Update Distribution Points".
The tasks are set to apply to the "All 32-bit Windows 2003 Servers"/"All 32-bit Windows XP Computers" collections. If the KB912945 or KB912812 patches are not installed on the computers in these collections, you will need to modify the Applies to collections: field appropriately.
Enable the tasks.
Items to help improve Console and Server performance in Notification Server
Answer
Disabling Alert Manager Synchronization
How to Disable Alert Manager and Notification Server synchronization: below are the registry changes needed to disable the synchronization functionality of AlertManager/Helpdesk. This has proved to produce performance improvements on busy notification servers where AlertManager/Helpdesk asset and contact synchronization from the Notification Server is not required.
Using regedit, add the following two REG_SZ entries :
HKLM\Software\Altiris\eXpress\Helpdesk Package\DisableAutoUpdateProcessing = true
HKLM\Software\Altiris\eXpress\Helpdesk Package\DisableSyncIncidentProcessing = true
Stop the Altiris Service (AeXSvc.exe) and the Altiris Client Message Dispatcher service.
Go to Start > Run, and type "iisreset" and click OK. This will recycle IIS, including the worker process.
Start the Altiris Service (AeXSvc.exe) and the Altiris Client Message Dispatcher service.
Increasing SQL Performance by defragging the SQL indices
Several defrags can increase SQL performance.
1. SQL script to defrag all database indices for the Altiris database:
declare @index_name nvarchar(255)
declare @table_name nvarchar(255)
declare index_cursor cursor for
select
si.name as index_name,
object_name(si.id) as table_name
from sysindexes si
left outer join sysobjects so on so.name=si.name
where objectproperty(si.id, N'IsUserTable') = 1
and objectproperty(si.id, N'IsUserTable') = 1
and si.name <> object_name(si.id)
and si.impid <> -1
open index_cursor
fetch next from index_cursor into @index_name, @table_name
while @@FETCH_STATUS = 0
begin
print 'Attempting defrag of index [' + @index_name + '] on table [' + @table_name + ']'
dbcc INDEXDEFRAG( 0, @table_name, @index_name )
fetch next from index_cursor into @index_name, @table_name
end
close index_cursor
deallocate index_cursor
2. The above script defrags all the indices used in the Altiris database. Run this against the Altiris database using SQL Query Analyser or other SQL scripting tool.
3. Defrag SQL data and log volumes. Post upgrade the log files of the Altiris database can be heavily fragmented. Use Enterprise Manager or similar SQL management tool to defrag these volumes to greatly improve SQL performance Post-upgrade.
SQL Configuration Optimization
The following items can increase SQL performance, thus increasing the speed of the Notification Server and the Altiris Console.
An I/O is generally a separate hard drive. This is not true when using ATA/IDE drives and the two drives are mastered and slaved. Consequently, the hard drives would need to be on separate IDE/ATA ribbon cables. For SCSI, two separate drives can be on the same SCSI cable.
In SQL enterprise manager open the database properties.
In the Data Files and Transaction Log tabs, note the current location of the .MDF and .NDF (if used) data file(s) and the .LDF transaction log file(s).
Close the properties and right-click on the database > All Tasks > Detach Database.
Once the database is detached, manually move the .MDF, .NDF (if used), and .LDF files.
One of the suggestions from Altiris development is to place the .LDF file(s) on a separate physical disk from the data file(s). This should allow transactions and data reads and writes to operate independently and concurrently.
After moving the .MDF, .NDF (if used), and .LDF files on the various drive locations, reattach to the database.
Open SQL enterprise manager, right-click on the Databases folder > All Tasks > Attach Database.
Use the ellipsis button ( … ) to browse to the current location of the .MDF file. This will populate a list of all the data files and their physical locations. The .MDF will be set based on the current location based on browsing with the ellipsis button. However, all the other data files will retain their paths as it knew them before the database was detached.
Each path location will need to be corrected for the new location of that file until the red X turns into a green checkmark.
Once all the file path locations have been set correctly, make sure that the database is the correct database name.
Click Verify and then, if that does not bring any errors, hit OK.
The database will not be using the new locations for each of the files. This should be verified by the properties of the database on the Data Files and Transaction Log tabs.
Another suggestion that comes from SQL is to move the tempdb to a FAST I/O physical disk drive. This makes a lot of sense given how heavy Altiris uses the tempdb (anytime a temporary table is created). If the server has three physical disks, the operating system should be on one, most of the database files on the other, and the third, with the fastest I/O, should have the transaction logs and tempdb data files.
Moving the tempdb data files is done a little differently than moving data files of other database because the tempdb cannot be detached. Microsoft provided a different way to do this for the tempdb database only.
In Query Analyzer run this command (substitute the correct drive and folders, placing these files on a fast I/O drive)
ALTER DATABASE tempdb modify file (name=tempdev, FILENAME= ‘e:\SQLDATA\tempdb.mdf’)
ALTER DATABASE tempdb modify file (name=templog, FILENAME= ‘e:\SQLDATA\tempdb.ldf’)
Stop and restart SQL Server service
Verify that the new tempdb.mdf and tempdb.ldf files have been created. Then go ahead and delete the older original copy.
If there are more than three physical disks available it is possible to split a little further. Spanning the tempdb data files across multiple physical disks increases performance further.
Microsoft Recommended SQL Optimizations
The following are optimizations recommended by Microsoft for increased performance of SQL in general.
Optimizing Transaction Log Performance. General recommendations for creating transaction log files include:
Create the transaction log on a physically separate disk or RAID (redundant array of independent disks) device. The transaction log file is written serially. Therefore, using a separate, dedicated disk allows the disk heads to stay in place for the next write operation.
Set the original size of the transaction log file to a reasonable size to prevent the file from automatically expanding as more transaction log space is needed. As the transaction log expands, a new virtual log file is created. Write operations to the transaction log wait while the transaction log is expanded. If the transaction log expands too frequently, performance can be affected.
Set the file growth increment percentage to a reasonable size to prevent the file from growing by too small a value. If the file growth is too small compared to the number of log records being written to the transaction log, then the transaction log may need to expand constantly, affecting performance.
Manually shrink the transaction log files rather than allowing Microsoft SQL Server 2000 to shrink the files automatically. Shrinking the transaction log can affect performance on a busy system due to the movement and locking of data pages.
Optimizing tempdb Performance - General recommendations for the physical placement and database options set for the tempdb database include:
Allow the tempdb database to automatically expand as needed. This ensures that queries that generate larger than expected intermediate result sets stored in the tempdb database are not terminated before execution is complete.
Set the original size of the tempdb database files to a reasonable size to avoid the files from automatically expanding as more space is needed. If the tempdb database expands too frequently, performance can be affected.
Set the file growth increment percentage to a reasonable size to avoid the tempdb database files from growing by too small a value. If the file growth is too small compared to the amount of data being written to the tempdb database, then tempdb may need to expand constantly, thereby affecting performance.
Place the tempdb database on a fast I/O subsystem to ensure good performance. Stripe the tempdb database across multiple disks for better performance. Use file groups to place the tempdb database on disks different from those used by user databases
Microsoft .NET Frequently Asked Questions (FAQ)
This article (taken from the "Microsoft .NET FAQs" help topic in Wise for Windows Installer and the Windows Installer Editor) answers questions about Microsoft .NET and defines important concepts you should understand before you use Wise for Windows Installer or the Windows Intsaller Editor to build .NET installations.
Answer
What does the common language runtime do?
The common language runtime manages the execution of code and provides services such as cross-language integration, code access security, object lifetime management, and debugging and profiling support. See Common Language Runtime in the MSDN Library.
What's the difference between managed and unmanaged code?
Code developed with a language compiler that targets the common language runtime is called managed code. All code based on Microsoft intermediate language (MSIL) executes as managed code. Managed code is self-describing; it contains metadata that describes every element managed by the common language runtime. The runtime uses the metadata to provide services.
Code that runs outside the runtime and does not contain metadata is called unmanaged code. Examples of unmanaged code are COM components, ActiveX interfaces, and Win32 API functions. Unmanaged code executes in the common language runtime environment with minimal services.
I don't want to rewrite all my applications as managed code. Can I add managed code to an existing application?
Few developers will be able to rewrite existing applications completely as managed (.NET) code. Instead, you can combine managed and unmanaged components in one installation. Code that contains a mix of managed and unmanaged elements is called interoperable code.
The common language runtime supports COM interoperability (interop). For backward compatibility, COM interop provides access to existing COM components without requiring you to modify the original components. COM interop also enables your COM clients to access managed code as easily as they access other COM objects. This is accomplished by adding information to the system registry so .NET components are called as though they were COM components. At runtime, the common language runtime marshals data between COM objects and managed objects as needed.
See Interoperating with Unmanaged Code in the MSDN Library.
What is an assembly?
An assembly is the primary building block of a .NET application. An assembly contains its own naming, binding, versioning, deployment, and configuration information. It consists of two elements: a manifest, which is the metadata that describes information about the assembly and any resources it depends on; and a set of instructions in the form of Microsoft Intermediate Language (MSIL) code that is executed when the assembly is referenced.
You can group assembly elements into a single file assembly, which incorporates the manifest into a portable executable (PE) file, which can be an .EXE or .DLL, with the source code. You also can create a multifile assembly consisting of modules of compiled code, resources, or other files required by the application. In a multifile assembly, the manifest can be a standalone file or it can be incorporated into one of the PE files in the assembly.
When you add a .NET assembly to an installation, Wise for Windows Installer creates entries in the MsiAssembly and MsiAssemblyName tables.
See Assemblies in the Windows Installer SDK Help.
How does .NET reduce file sharing conflicts?
An important benefit of .NET installations is the reduction of file sharing conflicts. With the common language runtime, the assembly is described by a manifest; the registry is no longer relied upon for storing and accessing the COM activation data. This allows components to be fully isolated from each other.
Assembly sharing is accomplished in a number of ways:
To install .NET assemblies that are intended to be shared by many applications on the computer, make sure they are strongly named and install them into the Global Assembly Cache, which is a machine-wide code cache. Do not install assemblies into the Global Assembly Cache unless they specifically need to be shared. The Global Assembly Cache is available only if the .NET Framework is installed on the destination computer.
To safely share COM or Win32 assemblies among multiple applications and to minimize .DLL conflicts, use side-by-side assembly sharing. Instead of having a single version of an assembly that assumes backward compatibility with all applications, side-by-side assembly sharing enables multiple versions of a COM or Win32 assembly to run simultaneously on the system. Side-by-side assembly sharing is available only on Windows XP or later. See Side-by-Side Assemblies in the Windows Installer SDK Help.
To reserve a Win32 assembly for the exclusive use of one application, install it in a folder private to the application, typically the application directory. This is called a private assembly. The dependency of the application on the private assembly is specified in an application manifest file. On operating systems earlier than Windows XP, a copy of the private assembly and a .local file is installed into a private folder for the exclusive use of the application. A version of the assembly is also globally registered on the system and made available for any application that binds to it. The global version of the assembly can be the version installed with the application or an earlier version.
I thought .NET meant I could use XCOPY to install applications without registration. Why do I need to build a Windows Installer installation?
For a .NET application that uses only managed code and private assemblies, the installation process can be as simple as copying files to the destination computer. Most developers, however, will still need to create a compressed, single-file installation that is easy to deploy and that provides a friendly interface to the end user.
.NET applications that use shared assemblies, or that have a mix of managed and unmanaged code, cannot be installed via XCOPY. You should use the Windows Installer service for installations that do any of the following:
Install COM files
Install assemblies to the Global Assembly Cache
Require user information during the installation
Require security
Create a shortcut
Require elevated privileges to install on a locked-down computer
By creating a Windows Installer installation for your .NET applications, you can take advantage of the services Windows Installer provides: installation, repair, and removal of assemblies; roll back; install-on-demand; patching; and advertisement.
How does Wise for Windows Installer support .NET installations?
Wise for Windows Installer lets you install .NET assemblies into the Global Assembly Cache, or as side-by-side or private assemblies. It also lets you create mixed installations by registering .NET assemblies with COM.
If the .NET Framework is installed on your computer, Wise for Windows Installer can automate the process as follows:
Find all files in multifile assemblies and add them to the installation.
Scan for assembly dependencies and add them to the installation.
Determine attributes for registering the assembly files and add them to the MsiAssemblyName table.
Add registry keys for COM interop.
13 April 2006
12 April 2006
Package server Security, Installer, and Collection Definition Hotfix
Section 1—Summary
This update, when installed on Notification Server SP3, replaces the existing Package Server Agent package. Package Servers in your environment need to be upgraded to this version for any update changes to apply. This update contains the following:
· Install, upgrade, and uninstall of Package Server Agent through Wise Installer. This was previously performed by Installshield.
· Registry key added to control whether or not the Package Server Agent can manage/change the security on its package directories.
· All Windows Computer requiring Altiris Package Server Agent Upgrade collection updated to only include Package Servers with Altiris Agent build 6.0.2338 (SP3), or greater.
Section 2—Installation
Name: Notification Server 6.0 SP3 Update 17613
Prerequisite software:
· NS build 6.0 SP3 Version 6.0.6074.
· Altiris Agent SP3 Version 6.0.2338 installed on Package Server.
IMPORTANT: The updated Package Server is not compatible with Altiris Agent versions earlier than 6.0.2338.
2.1—Install the Update
1. Download ftp://ftp2.altiris.com/Download/KB17613/Altiris_NS_6_0_SP3_KB17613.exe
to your Notification Server.
2. Run Altiris_NS_6_0_SP3_KB17613.exe.
2.2—Uninstall the Update
If, for any reason, you need to uninstall the update, the Notification Server will restore the original SP3 version of the Package Server Agent package. You can remove this via the ADD/REMOVE Programs option in the Control Panel on the Notification Server.
IMPORTANT: All updated Package Server Agents rolled out must be uninstalled before uninstalling the update on the Notification Server.
2.3—Upgrading Package Servers
The All Windows Computer Requiring Altiris Package Server Agent Upgrade collection that applies, by default, to the Windows Package Server Agent upgrade task, will not contain Package Servers with an Altiris Agent version lower than 6.0.2338 (SP3). Once the Altiris Agent has been upgraded on the Package Server, they will appear in this collection.
When the Windows Package Server Agent upgrade task is run, the upgrade will take approximately 15–20 seconds. Do not be concerned if the Altiris Agent does not start back up immediately after the upgrade task has run; this pause is expected.
Note: If the Package Server Agent is accidentally upgraded before the Altiris Agent, (which may happen if you are using a collection other than the All Windows Computer Requiring Altiris Package Server Agent Upgrade collection) the Altiris Agent and Package Server will not function or run Software Delivery tasks until the Altiris Agent has been upgraded to the required version. To do this, go to the Altiris Agent Installation page on the Notification Server and push out the Altiris Agent to the computer. This will carry out an upgrade of the installed Altiris Agent, and both the Altiris Agent and Package Server will then function normally.
Section 3—New Features and Enhancements in this Update
3.1—Package Server using Wise Installer
The install, upgrade and uninstall of the Package Server Agent is now done by Wise Installer; it was previously done by Installshield. There is a known issue with Installshield Version 10.5 that causes installations to fail on some systems with terminal services enabled with the following error message:
An Error (-5006 : 0x80004005) has occurred while running the setup. Please make sure you have finished any previous setups and closed other applications. If the error still occurs, please contact your vendor: Altiris.
For information, see http://community.installshield.com/showthread.php?threadid=109023
3.2—Package Server Agent Upgrade Collection
The Windows Computers requiring Altiris Package Server Agent Upgrade collection that applies, by default, to the Windows Package Server Agent Upgrade Software Delivery task has been modified.
Previously, the collection didn’t check for Altiris Agent Version 6.0.2338 (SP3) or higher. This resulted in the SP2 Altiris Agent Version 6.0.1508 being eligible for the SP3 Package Server Agent Upgrade. The SP3 Package Server Agent requires an installed Altiris Agent Version SP3, so, if the Package Server Agent is upgraded before the Altiris Agent then both will be unusable.
3.3 — New Registry key for disabling Package Server directory security
A new Package Server registry key, EnableDACLManagement, has been created to allow you to change how a Package Server manages the security on its packages.
By default, a Package Server manages its packages by setting specific permissions on package directories; this includes overriding any custom permissions you may have set on the directories. When this registry key is activated, Package Server will no longer override existing permissions on package directories.
Take care when using this key as incorrect permissions could potentially render the Package Server directories inaccessible to the Package Server and Altiris Agents.
To ensure a fully functional Package Server, full control for Local Administrator and System need to exist on all package directories in addition to any other custom permissions.
Normally, Altiris Agents and other Package Servers access the packages located on the Package Server computer using the Agent Connectivity Credential (ACC), configured on the Notification Server. To ensure they continue to download packages, configure the Everyone or ACC account with read and execute privileges on the package directories. This is required because when the key is activated, Package Server is instructed not to manage permissions, which includes not applying the ACC or Everyone account to the downloaded packages.
To create the Registry Key
As the registry key does not exist on a default install of the updated Package Server, create the DWORD key, 'EnableDACLManagement' under the following location in the registry—HKEY_LOCAL_MACHINE\SOFTWARE\Altiris\Altiris Agent\Package Server. Before creating the key, stop the Altiris Agent Service and restart when finished.
The registry key can have one of the following settings:
· 0—Ensures that Package Server will not change existing security on package directories.
· 1—Will cause Package Server to function as normal by applying and resetting permissions on package directories.
--------------------------------------------------------------------------------
Environment
Notification Server 6.0 SP3 version 6.0.6074
Altiris Agent required—SP3 version 6.0.2338
The updated Package Server is not compatible with Altiris agent versions earlier than 6.0.2338
Cause
Software bug.
Resolution
This update, when installed on Notification Server SP3, replaces the existing Package Server Agent package, with an updated version. Package Servers within your environment will need to be upgraded to this version for any changes contained in the update to apply. Uninstalling the update on the Notification Server will restore the original SP3 version of the Package Server Agent package that existed prior to installing the update.
Important: Before upgrading your Package Servers to this updated version you must upgrade the Altiris Agent on your Package Servers to SP3 version 6.0.2338. The collection All Windows Computer Requiring Altiris Package Server Agent Upgrade, which applies by default to the Windows Package Server Agent upgrade task, will not contain Package Servers where the Altiris Agent version is lower than 6.0.2338 (SP3). Once the Altiris Agent has been upgraded on the Package Server, they will appear in this collection.
11 April 2006
Unable to get the config XML for the specified item (With DeleteAnItem.cs as stext)
--------------------------------------------------------------------------------
Resolution
Complete the following:
To remove an orphaned object from the Notification Server tree use the following script:
nscript.exe deleteanitem.cs
and this will delete the object associated with this GUID. Always validate the GUID before removing it. This can be done by the following steps:
a. Open SQL Query Analyzer.
b. Make sure that you select the correct database, i.e. Altiris.
c. Type the following: select * from vitem where guid like '
If it does not show, then go ahead and complete step 1.
Note: The nscript.exe file is found on the Notification Server in ...\program files\altiris\notification server\bin. The deleteanitem.cs file must be created and the blue part at the end of this article must be pasted in that file.
(Optional) If the script in step 1 does not remove the NS tree object, then there is likely an association that needs to be removed. This can be done with the following script:
delete from ItemReference where hint = 'policyappliestocollection' and ParentItemGuid =
this is DeleteAnItem.cs (Copy and paste the code)
using System;
using System.IO;
using Altiris.NS.ItemManagement;
using Altiris.NS.Security;
class MyScriptClass
{
static void Main( string[] args )
{
//
// Set the context for the current user
//
SecurityContextManager.SetContextData();
Guid itemGuid = Guid.Empty;
try
{
itemGuid = new Guid( args[ 0 ] );
}
catch( FormatException )
{
throw new ApplicationException( "Must pass a GUID as an argument" );
}
//
// Get the collection item
//
IItem itemToExport = Item.GetItem( itemGuid ) ;
if( null == itemToExport )
throw new ApplicationException( "The GUID does not match an item" );
itemToExport.Delete();
//
// Export the item
//
}
}
DS Console slow?
By default, opportunistic locking is enabled for server message block
(SMB) clients that run one of the Windows operating systems that is
listed at the beginning of this article. Opportunistic locking allows
clients to lock files and locally cache information without the risk of
another user changing the file. This increases performance for many file
operations but may decrease performance in other operations because the
server that grants the opportunistic lock must manage the breaking of
that lock when another user requests access to the file.
On dedicated servers running Windows 2000 Professional, Server, Advanced
Server, or Windows XP Professional, create the following
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parame
ters
Create the following:
Value Name: EnableOplocks
Data Type: REG_DWORD
Parameter Value: 0 Hex (False)
(If your server is not a dedicated server you will also need to create
the workstation keys listed below.)
On workstations with Windows 2000 Professional, or Windows XP
Professional, in this key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanWorkstation\P
arameters
Create the following:
Value Name: UseLockReadUnlock
Data Type: REG_DWORD
Parameter Value: 0 Hex (Disabled)
Value Name: UseOpportunisticLocking
Data Type: REG_DWORD
Parameter Value: 0 Hex (Disabled)
Value Name: UtilizeNtCaching
Data Type: REG_DWORD
Parameter Value: 0 Hex (Disabled)
Reboot all servers and clients affected
REF : Forum
07 April 2006
License Removal Tool not working for NS6.0 SP3
Problem
The License Removal Tool is not working to remove licenses (in NS6.0 SP3) that were installed in SP2 before the upgrade to SP3.
--------------------------------------------------------------------------------
Environment
NS 6.0 SP3
--------------------------------------------------------------------------------
Cause
The naming of the licenses have changed from Computing Edge to Altiris Licensing. The license removal tool has a static pointer to the Computing Edge certificates and does not detect the new storage location of licenses with SP3.
--------------------------------------------------------------------------------
Resolution
This has been reported as a bug for the license removal tool.
Workaround:
To manually remove licenses without the license removal tool, you can perform the following steps:
1- Start > Run > MMC.
2- Choose File > Add/Remove Snap-in.
3- Choose Add and highlight Certificates, then click Add.
4- Choose the radio button for " Computer account" , then click next.
5- Leave the default of " Local computer: .." , and click finish.
6- Close the Add Snap-in dialog box.
7- Click ok to apply the settings.
8- Highlight the Certificates folder under the Altiris Licensing to see the installed certificates.
If you remove all license certificates in this window, it will remove all licensing from the Notification Server similar to the way the license removal tool did. If you do not need to remove everything, you can find a specific license that will need to be removed by opening each license certificate and viewing the details (see below):
**Note: Once the licenses have been removed from the Microsoft Certificate Store, you will need to refresh the licensing page within the Notification Server for the results to show.
[/quote]
21 March 2006
Use Notification Server as package server
When no Package Servers exist in a Site the Altiris Agents will download from the Notification Server.
Then create separate Sites containing Package Servers for those clients you do not wish to download from the NS.
21 February 2006
Deployment Solution Groups empty
The reason is that the Deployment Server’s database tracks any changes made to it since the last synchronization occurred. If the Notification Server never receives the data that was sent during the last synchronization or if a backup copy of the Notification Server database was restored that doesn’t have that data or if for any other reason the Notification Server does not have the data that was sent in prior synchronizations, the Deployment Server Agent will not resend that data to the Notification Server, it will only send changes that were made since the last time synchronized data was sent.
There are two steps to resolving this issue.
Step 1 is to run one SQL query against the Notification Server (Altiris) database to wipe out the corrupt data from that database.
Step 2 is to run one SQL query against the Deployment Server (eXpress) database(s) to force the Deployment Server Agent to send ALL data from the Deployment Server database to the Notification Server as if it were new data.
There are two options for Step 1. The Step 1 Option A query will remove data from the Notification Server (Altiris) database concerning the Deployment Server that was specified in the query. To wipe out data for more than one Deployment Server, run the query once for each Deployment Server. It is then necessary to run the Step 2 query against the (eXpress) database of each Deployment Server where the Step 1 Option A query was run.
The Step 1 Option B query will remove data from the Notification Server (Altiris) database concerning ALL the Deployment Servers. It will then be necessary to run the Step 2 query against the (eXpress) database of ALL the Deployment Servers.
Step 1 Option A: run this script against the Altiris database to selectively remove the Deployment Server(s) from the Altiris database. Before running this script, it is required to replace <ServerName> with the name of the Deployment Server to be removed from the Altiris database.
*****Begin Query*****
/*WARNING: This script is intended to wipe out any data in the Altiris
database pertaining to a specific Deployment Server. Replace <ServerName>
with the name of the Deployment Server you want your Notification Server
to "forget", then run the script against the Altiris database.*/
DECLARE
@servername varchar(255)
SELECT @servername = '<ServerName>'
DELETE FROM Inv_AeX_AC_Client_Agent
WHERE [Agent Name] = 'Deployment Solution Agent'
AND _ResourceGuid IN (SELECT ResourceGuid FROM CollectionIncludeResource
WHERE CollectionGuid IN (SELECT [NS Guid] FROM DSObjectMap
WHERE Server = @servername))
DELETE FROM Evt_AeX_DS_Assigned_Jobs
WHERE DBServer = @servername
DELETE FROM Inv_AeX_DS_Database
WHERE [Deployment Server] = @servername
DELETE FROM Inv_AeX_DS_Machine_Inventory
WHERE _id IN (SELECT _id FROM Inv_AeX_DS_Machine
WHERE [Deployment Server] = @servername)
DELETE FROM Inv_AeX_DS_Machine
WHERE [Deployment Server] = @servername
DELETE FROM DSComputerFolder
WHERE DatabaseID IN (SELECT DatabaseID FROM DSDatabase
WHERE DBServer = @servername)
DELETE FROM DSJobFolder
WHERE DatabaseID IN (SELECT DatabaseID FROM DSDatabase
WHERE DBServer = @servername)
DELETE FROM DSJobConditions
WHERE JobID IN (SELECT JobID FROM DSJobs
WHERE DatabaseID IN (SELECT DatabaseID FROM DSDatabase
WHERE DBServer = @servername))
DELETE FROM DSJobs
WHERE DatabaseID IN (SELECT DatabaseID FROM DSDatabase
WHERE DBServer = @servername)
DELETE FROM DSDatabase
WHERE DBServer = @servername
DELETE FROM Item
WHERE Guid IN (SELECT [NS Guid] FROM DSObjectMap
WHERE Server = @servername)
DELETE FROM Item
WHERE ClassGuid = 'F1E8956A-A158-487F-8185-4C3B492734E7'
AND ProductGuid = '74093212-3CBB-4E0E-AB79-6283D44DB5A1'
AND Name LIKE 'DS Server ' + @servername + '%'
DELETE FROM DSObjectMap
WHERE Server = @servername
DELETE FROM CollectionIncludeResource
WHERE CollectionGuid NOT IN (SELECT Guid FROM Item)
DELETE FROM ItemReference
WHERE ParentItemGuid NOT IN (SELECT Guid FROM Item)
AND ParentItemGuid != '00000000-0000-0000-0000-000000000000'
DELETE FROM ItemReference
WHERE ChildItemGuid NOT IN (SELECT Guid FROM Item)
*****End Query*****
Step 1 Option B, run this script against the Altiris database to remove ALL Deployment Server(s) from the Altiris database. Before you run the script, you must replace <ServerName> with the name of the Deployment Server you want to be removed from the Altiris database.
*****Begin Query*****
/*WARNING: This script is intended to wipe out ALL data in the
Altiris database pertaining to ANY Deployment Server.
Simply run the script against the Altiris database.*/
DELETE FROM Inv_AeX_AC_Client_Agent
WHERE [Agent Name] = 'Deployment Solution Agent'
DELETE FROM Evt_AeX_DS_Assigned_Jobs
DELETE FROM Inv_AeX_DS_Database
DELETE FROM Inv_AeX_DS_Machine_Inventory
DELETE FROM Inv_AeX_DS_Machine
DELETE FROM DSComputerFolder
DELETE FROM DSJobFolder
DELETE FROM DSJobConditions
DELETE FROM DSJobs
DELETE FROM DSDatabase
DELETE FROM Item
WHERE ClassGuid = 'B8B666E1-FED3-4482-8D5A-0895658317B2'
AND ProductGuid = '74093212-3CBB-4E0E-AB79-6283D44DB5A1'
DELETE FROM Item
WHERE ClassGuid = 'F1E8956A-A158-487F-8185-4C3B492734E7'
AND ProductGuid = '74093212-3CBB-4E0E-AB79-6283D44DB5A1'
AND Name LIKE 'DS Server %'
DELETE FROM DSObjectMap
DELETE FROM CollectionIncludeResource
WHERE CollectionGuid NOT IN (SELECT Guid FROM Item)
DELETE FROM ItemReference
WHERE ParentItemGuid NOT IN (SELECT Guid FROM Item)
AND ParentItemGuid != '00000000-0000-0000-0000-000000000000'
DELETE FROM ItemReference
WHERE ChildItemGuid NOT IN (SELECT Guid FROM Item)
*****End Query*****
Step 2, run this script against the eXpress database(s) and then allow the Deployment Server resynchronization to occur at least twice.
*****Begin Query*****
/*Update the changeitem information to tell
Notification Server to delete all information
about this Deployment Server during the
next synchronization*/
UPDATE changeitems
SET _nslastsent = NULL
UPDATE changeitems
SET [change type] = 'deleted'
UPDATE changeitems
SET ns_guid = NULL
UPDATE changeitems
SET [change date] = getdate()
UPDATE event_schedule
SET _nslastsent = NULL
UPDATE history
SET _nslastsent = NULL
INSERT changeitems
SELECT c.computer_id, 'computer', 'deleted', getdate(), c.computer_name, c.domain_name, c.ns_guid, null
FROM computer c
WHERE c.computer_id NOT IN (select id FROM changeitems)
GO
/*Create a trigger that will run once after the
first synchronization completes and recreates the
changeitem table to ensure that only accurate
data is sent to the Notification Server on the
second synchronization*/
CREATE TRIGGER temp_reload_changeitems ON [dbo].[changeitems]
FOR INSERT, UPDATE, DELETE
AS
BEGIN
/*Only run this query if the Deployment Server Agent synchronization has completed and the trigger isn't already running*/
IF NOT EXISTS (SELECT id FROM changeitems WHERE _nslastsent IS NULL) AND EXISTS (SELECT id FROM changeitems)
BEGIN
/*Wipe out the changeitems table so it can be recreated*/
DELETE FROM changeitems
/*Insert Computer Group information*/
INSERT changeitems
SELECT g.group_id, 'computer_group', 'inserted', GETDATE(), NULL, NULL, NULL, NULL
FROM computer_group g
/*Insert Event Folder information*/
INSERT changeitems
SELECT f.folder_id, 'event_folder', 'inserted', GETDATE(), NULL, NULL, NULL, NULL
FROM event_folder f
/*Insert Event information*/
INSERT changeitems
SELECT e.event_id, 'event', 'inserted', GETDATE(), NULL, NULL, NULL, NULL
FROM event e
UPDATE computer
SET _nslastsent = NULL
UPDATE computer
SET ns_guid = NULL
UPDATE event_schedule
SET _nslastsent = NULL
UPDATE history
SET _nslastsent = NULL
/*Self destruct this trigger so it is only run once*/
DROP TRIGGER temp_reload_changeitems
END
END
GO
Howto Fix : Unable to get the config xml for the specified item
The steps to clean up the "unable to get the config xml for the specified item <guid>" message from your logs are as follows:
1. Run the following script: nscript.exe deleteanitem.cs <GUID>. The deleteanitem.cs file is attached to the end of this article. This script deletes the orphaned object. Always validate the GUID before removing it. This can be done by the following steps:
a. Open SQL Query Analyzer.
b. Make sure that you select the correct database, i.e. Altiris.
c. Type the following: select * from vitem where guid like '<GUID>'
If it does not show, then go ahead and complete step 1.
Note: The nscript.exe file is found in ...\program files\altiris\notification server\bin.
2. If the script in step 1 does not remove the NS tree object, then there is likely an association that needs to be removed. This can be done with the following script:
delete from ItemReference where hint = 'policyappliestocollection' and ParentItemGuid = <GUID>
20 February 2006
How to do a clean reinstall of PXE 6.5
How do I reinstall my PXE Manager and PXE server cleanly so that nothing is carried over from the previous installation?
--------------------------------------------------------------------------------
Answer
Sometimes, due to certain environment issues, a PXE server can install incorrectly and become corrupted because of some other environment change. This can create the need to do a clean reinstall of PXE. The following steps explain a detailed process of uninstalling and reinstalling PXE without keeping anything from the previous installation.
If you reinstall PXE using this method you will lose all PXE boot menu configurations and options. These will need to be recreated after installing PXE in this way. All jobs created in the Deployment Server console and images captured from client machines will be unaffected.
If you want to keep your PXE menu options from your previous installation you will need to back up your PXE boot menu. The following linked article explains how to migrate a PXE boot menu from one server to another. These steps can also be used to backup and restore the PXE boot menu after reinstallation.
Browse to the following path on your Deployment Server:
C:\Program Files\Altiris\eXpress\Deployment Server\PXE\MMAccessKey.ini
Copy this file into another directory outside of the PXE folder and keep it as a backup. This exact file will be needed after the uninstall of PXE. If this file is lost you will need to reinstall the entire Deployment Server to recreate the file.
Go to Add or Remove Programs in the Windows console panel and uninstall the following two components:
Altiris PXE Manager
Altiris PXE Server
Delete the following folder and all files in that folder:
C:\Program Files\Altiris\eXpress\Deployment Server\PXE
Do a search on your Deployment Server (search the entire computer, all drives) for "PXE*.*". Delete any files and folders that appear to contain an installation of a PXE Server. Be carefull not to delete any of the PXE installation files normally contained in the DSSetup directory. Mainly you want to make sure that no previous PXE installations from a different version exist, or are installed to a different drive or another folder on your system. Also do a search on your entire computer for "CDSA*" and delete any occurrences of that term.
Recreate the PXE folder under the Deployment Server folder (the same folder that was deleted in step 3). This folder should not contain any files at this point.
Copy the MMAccessKey.ini file back into the PXE folder created in step 5.
Reinstall the PXE Manager by running PXEMgr.exe from the DSSetup folder. Go through the wizard entering all of the information that it requests. When the wizard asks for a username, make sure if you are using a local machine account that you put the machine name in the username (that is, if the DS computer name was "AltirisDS" and the username was "Administrator" you would enter "AltirisDS\Administrator"). If you do not have the DSSetup folder (because it was deleted after installing Deployment Server), you will need to recreate that folder by running the Deployment Server installer file and selecting "Extract Only".
Reinstall the PXE Server by running PXE.exe from the DSSetup folder. Go through the installation wizard of that component entering in all requested information.
Verify that all PXE services are running. If they are not running, try to start them and note any error message that it gives, or the event log entries that show the error. If all services are running correctly open the PXE Configuration Utility to verify that PXE is working correctly.
Automaticlly Merge Duplicates
Author: 1116
Question:
How do I automatically merge all duplicate computers found in the Merge Computers report-utility (located under the Configuration Tab > Server Settings > Notification Server Settings > Merge Computers > Merge computers with duplicate names)?
Answer:
The following script will automatically merge all resouces found in the above mentioned report: DECLARE @MergeName nvarchar(400)DECLARE @MergeDomain nvarchar(400)DECLARE @FromGuid uniqueidentifierDECLARE @ToGuid uniqueidentifier DECLARE @PrimaryResource UNIQUEIDENTIFIER PRINT 'The following script will automatically merge resources as per the ''Merge computers with duplicate names'' report.'PRINT 'The merge automatically chooses the resource that has the most recent update.' DECLARE merge_cursor CURSOR FOR SELECT Ident.[Name], Ident.[Domain] FROM Inv_AeX_AC_Identification Ident INNER JOIN ( SELECT Ident1.[_ResourceGuid], Ident1.[Name], Ident1.[Domain] FROM Inv_AeX_AC_Identification Ident1 INNER JOIN Inv_AeX_AC_Identification Ident2 ON Ident2.[Name] = Ident1.[Name] AND Ident2.[Domain] = Ident1.[Domain] AND Ident2.[_id] != Ident1.[_id] INNER JOIN vComputerResource Ident3 ON Ident1.[_ResourceGuid] = Ident3.[Guid] GROUP BY Ident1.[_ResourceGuid], Ident1.[Name], Ident1.[Domain] ) udr ON Ident.[_ResourceGuid] = udr.[_ResourceGuid] GROUP BY Ident.[Name], Ident.[Domain] OPEN merge_cursor FETCH NEXT FROM merge_cursorINTO @MergeName, @MergeDomain WHILE @@FETCH_STATUS = 0BEGIN PRINT 'Merging ' + @MergeName + '.' + @MergeDomain CREATE TABLE #DUPLICATE_NAME (Resource UNIQUEIDENTIFIER, [Primary] BIT, [Name] NVARCHAR(64), [Domain] NVARCHAR(64), LastUpdated DATETIME, [OS Name] NVARCHAR(64)) INSERT INTO #DUPLICATE_NAME SELECT ident1.[_ResourceGuid] AS [Resource], CAST (0 AS BIT) AS [Primary], ident1.[Name], ident1.[Domain], md.[ModifiedDate] AS [LastUpdated], ident1.[OS Name] FROM Inv_AeX_AC_Identification ident1 JOIN ( SELECT ident2.[Name], ident2.[Domain] FROM Inv_AeX_AC_Identification ident2 GROUP BY ident2.[Name], ident2.[Domain] HAVING COUNT (ident2.[Name]) > 1 AND ident2.[Name] = @MergeName AND ident2.[Domain] = @MergeDomain ) dr ON ident1.[Name] = dr.[Name] and ident1.[Domain] = dr.[Domain] LEFT OUTER JOIN ( SELECT DISTINCT rus.[ResourceGuid], rus.[ModifiedDate] FROM ResourceUpdateSummary rus JOIN ( SELECT rus2.[ResourceGuid], MAX( rus2.[ModifiedDate] ) AS ModifiedDate FROM ResourceUpdateSummary rus2 GROUP BY rus2.[ResourceGuid] ) td ON td.ResourceGuid = rus.ResourceGuid AND td.ModifiedDate = rus.ModifiedDate ) md ON ident1.[_ResourceGuid] = md.[ResourceGuid] SELECT TOP 1 @PrimaryResource = Resource FROM #DUPLICATE_NAME ORDER BY [LastUpdated] DESC UPDATE #DUPLICATE_NAME SET [Primary]=1 WHERE Resource = @PrimaryResource /*SELECT * FROM #DUPLICATE_NAME ORDER BY [LastUpdated] DESC*/
SELECT TOP 1 @ToGuid = Resource FROM #DUPLICATE_NAME where Name = @MergeName and Domain = @MergeDomain and [Primary] = '1' SELECT TOP 1 @FromGuid = Resource FROM #DUPLICATE_NAME where Name = @MergeName and Domain = @MergeDomain and [Primary] = '0' DROP TABLE #DUPLICATE_NAME exec spResourceMerge @FromGuid,@ToGuid FETCH NEXT FROM merge_cursor INTO @MergeName, @MergeDomain END
15 February 2006
Enable Bulletins
Body: 1. Introduction
This script will enable patch bulletins depending on the command line parameters entered, and create a software update task for each. Length of time to enable a bulletin will depend on how many files need to be downloaded within each bulletin.
2. General Instructions
a. Place the following files is in C:\Program Files\Altiris\Notification Server\bin.
i. Nscript.exe (in there by default)
ii. Nscript.exe.config (in there by default)
iii. Nscript.nrf
iv. EnableBulletins.cs
v. .txt file with a list of bulletins to be enabled (if applicable)
3. To Enable Specific bulletins **See Note 1
a. Create a .txt file (like SampleBulletinList.txt) and create a list of bulletins to be enabled.
b. From a command prompt run "NScript.exe EnableBulletins.cs YourTextFile.txt" ** See Note 2
4. To Enable All Bulletins with a Specific Security Rating
a. From a command prompt run "NScript.exe EnableBulletins.cs critical" ** See Note 3
5. To Enable All Bulletins
a. From a command prompt run "NScript.exe EnableBulletins.cs"
The script file can be obtained by a simple mail
11 January 2006
Gauge Summaries dashboard Error
Error when node clicked: Unable to load the specified item (GUID:{4d343f01-5f63-4b37-a022-1c2e50f109a9})
It seems that this dashboard is using the regional settings on the workstation (which is dd–mm–yyyy),
probably Altiris expects the US regional settings mm/dd/yyyy.
Workaround:
A not acceptable workaround is to set the regional settings on the workstation to US.
(Not acceptable, because all other programs/reports/E-mail also appear with the US date.)
01 December 2005
Special Tokens
%#!computer@model_num%
which means, look in the Express database for the DS we're connected to, read the computer table, and grab model_num for the machine who's id is %ID%
This is just a number though and it's not necessarily what you want.
If you want to know like, "Latitude D600" or something similar
use
%#!computer@prod_name%
Just be careful, because prod name always has a space in it, and if you're comparing two strings in DOS, like this
SET model=%#!computer@prod_name%
IF "%model%"=="Latitude D600" goto D600
IF "%model%"=="Latitude D610" goto D610
it'll jump to D600 every time, because it only compares the first word before the space. To get around this, I have created a custom view in SQL of the computer table the changes the spaces into _ so then I get "Latitude_D600" back, which works beautifully.
See also Nice forum article
30 November 2005
Point Clients to another NS Server
AeXAgentUtil.exe /server:NSServerName
If you own deployment server, you can make a job and deploy it.
10 November 2005
Creating special groups in Inventory Solution for Windows 6.1
1. Create the special group in the auditpls.ini file using aexapedit. Create and enter a GUID. You will need a tool such as guidgen.exe for this, since Altiris does not supply GUIDs for new special groups. There are also GUID Generators on the Web. To find them, search for "GUID Generator" on a Web search engine.
2. Create a copy of “specialgroup.config" and name it <new special group>.config. The specialgroup.config file is found in C:\Program Files\Altiris\Inventory\Config.
3. Modify the new <new special group>.config file by changing the “XXXXXX-XXX” GUID string to the special group GUID used in the auditpls.ini file.
4. Change the <name=…> tag values to the name of your auditpls.ini special group name. There are possibly eight or more occurrences that will need changing. The auditpls.ini special group name and the new config file names must match.
5. Update the inventorysolution.config file with the name of the <new special group>.config file. It should be surrounded by these tags: <items source="New_SW_Group_Name.config"></items>. There is an example in the specialgroup.config file.
6. Run C:\Program Files\Altiris\Notification Server\bin\aexconfig.exe as shown: aexconfig /configure “C:\Program Files\Altiris\Inventory\Config\InventorySolution.config”. If using the full path, the double quotes are required. This should take about one minute. If it only takes a second or two, the config did not complete. To find out if AeXConfig was successful, open the LogViewer before executing the command. You will then see the whole process in real time. If you have configured your <special group>.config files or the inventorysolution.config file incorrectly relating to your special groups, then you will see error messages associated with those special groups.
Once aexconfig is run, the tables should appear in the database. If the config files are setup correctly and inventory is being captured as expected, the information will appear in those tables after the next inventory run. If the data does not appear, ensure that the inventory can capture the data and that the config files were created and modified properly. All of the points-of-failure from previous versions of inventory still apply: file mode vs. package mode, exclusions, overrides, etc. Be sure to check those as well as the modifications of the config files.
Note: When creating names for special groups, it is helpful but not required, that they begin with “AeX SW.” This provides for better grouping of tables in the database and of data classes in the NS Console’s resource view.
28 September 2005
Site Maintenance
The Site Maintenance page is used to assign subnets to sites in order to maximize the effectiveness of Package Servers. Package Servers are automatically assigned to sites by virtue of their subnets.
Under normal operating conditions (for example, sites defined) a Package Server will only service Altiris Agents that exist within the same sites.
Note: If no sites are defined, then all Package Servers are available to service all Altiris Agents (not desirable) and the following occurs:
- The Notification Server stores a mapping of Package Servers to subnets.
- The Notification Server first tries to find any Package Servers on the same subnet(s) as the requesting machine. If any are found these codebases are returned.
- If there are no Package Server codebases from Package Servers in the same subnet all Package Server codebases are returned.
- If there are no Package Server codebases the NS codebases are returned.
To download packages ensure your Package Servers are assigned to sites either by assigning their subnets to sites or by allowing the Connector for Active Directory do it for you
Note: Under normal working conditions, Altiris Agents will only download packages from Package Servers that exist in the same site(s) as the Altiris Agent.
Sites are used to limit the Package Servers that an agent should use by virtue of subnet grouping. This generally limits them by proximity. Ultimately, once the list of candidate Package Servers is returned to the Altiris Agent, the Altiris Agent makes the choice based on speed and bandwidth.
The information on the Site Maintenance page is automatically populated if you have the Connector for Active Directory installed. This page allows you to supplement the Connector for Active Directory, if you have it installed. If not, if you use Package Servers, you must use this page to add sites and assign subnets to them so that your Package Servers function correctly.
If you have the Connector for Active Directory installed, Active Directory is the source of truth and overrides any subnets and sites that conflict with it. For example, if you assign subnets to sites on your own, and they conflict with what is in Active Directory, the Active Directory information is used.
The Sites tab, Subnets tab, and Package Servers tab views on this page give you three views of the same data and the Advanced tab shows scheduling options.
Sites Tab View
This tab view helps you see sites that are created and lets you create and edit sites.
Item | Description |
|---|---|
Name | The name of the site. |
No of Subnets | The number of subnets that have been associated with the site. |
No. of Package Servers | The number of Package Servers that are in the site. |
Note: The numbers in the "No. of Subnets" and "No. of Package Servers" columns provide links that take you to reports that give you specific information on the subnets or Package Servers respectively.
07 September 2005
Disable Multicast
TransportUse=1
Setting it to 0 will use multicasting.
They should update documentation.
Its also in the registry if you already have it deployed and are using multicasting and want to change it:
HKLM\software\altiris\client service "USEMCast" =0|1 make the change then restart the Altiris Client Service.
29 August 2005
Disable HTTP or UNC download on PS
Package Server root
•
[HKEY_LOCAL_MACHINE\SOFTWARE\Altiris\Altiris Agent\Package server]Value Type Default Description
EnableUNC DWORD 1 Package server will publish UNC codebases.
EnableWeb DWORD 1 Package server will publish HTTP/HTTPS codebases.
16 August 2005
Troubleshooting the Process of an Altiris Agent Push in NS 6.0
1. Configuration of the Altiris Agent Push
a.View the Installation Settings in order to determine how the push is configured, located in the Altiris Agent push page by clicking the “Installation Settings” button.
b. If the client uses a proxy server, check the option “Use Proxy”.
c. Note the field “Use different Notification Server” and make sure the configuration is correct (or unchecked).
d. *The credential fields are key to the Altiris Agent push. If no credentials are chosen, it will use the account specified as the Application Identity/Application Credentials. If pushing the Agent in a multi-Domain or Workgroup environment, the account used for the push must have local Administrator privileges on the machine(s) being pushing to.
2. Initiating the Push
a. A push can be done to one or more machines at one time. Use the “Install Altiris Agent” to initiate the push.
b. The status section on the Agent push page can be useful. Keep this in mind when walking through the items of a Push installation.
3. Installer Service – AexSWDInstSvc.exe
a. The actual install package for the Altiris Agent does not get pushed to the client machine. The installer service, named AeXSWDInstSvc.exe, is pushed to the client machine.
b. The user account specified on the push page settings, or the Application Identity if no account is supplied, is the account that attempts to access the \\machinename\admin$ share on the destination machine.
c. As soon as the Installer Service reaches the client machine, it begins to log information into the log file AeXSWDInstSvc.log, located at C:\<Windir>\System32. The EXE resides in the Admin$ share (generally the %windir%).
d. It will register the EXE as a service. This service has limited ability for throttling and check-point recovery when downloading the Agent install Package. If a machine is rebooted before it has successfully downloaded the install package, the service will use check-point recovery to pick up where the download was terminated.
e. If a push fails, and this log does not exist, then the Installer Service did not reach the client machine. Troubleshoot access rights being used for the push, and look at the status in the Altiris Agent push page. If the log does exist, review the details.
f. The installer service will download the actual install package, named AeXNSC.exe.
g. Next it executes the install package.
h. Once the install package is executed, the AeXSWDInstSvc.exe removes itself as a Service.
i. Lastly, it removes itself (EXE) from %windir%.
4. Agent Install Package – AeXNSC.exe
a. If the Installer Service fails to download the AeXNSC.exe file, it will be reflected in the AeXSWDInstSvc.log file. Look for authentication or HTTP request errors.
b. If the Installer Service fails to execute the downloaded file, it will also be reflected in the AeXSWDInstSvc.log file. Look for execution errors.
c. If the Install Package is downloaded successfully and executed, it will begin to write to the file AeXNSC.log, located at C:\<Windir>\System32.
d. Any problems with the Package install will be logged in the AeXNSC.log file.
e. When the installation is complete, the agent service will be started, and the Agent will begin logging information into the agent.log and subsequent log files.
5. Communication back to the Server – Agent installed
a. It is possible that while a push it successful, the Agent Communication is unsuccessful. This may result in an erroneous status on the Altiris Agent push page.
11 August 2005
Adding other Antivirus in inventory
Use the AeXAPedit.exe to do this.
NSCap\bin\win32\x86\ AeXAPedit.exe
Run AexAPedit.exe and open the auditpls.ini file located in the Inventory Solution folder.
NSCap\bin\win32\x86\Inventory Solution
Select the Special Groups Tab. Select the AntiVirus Special Group. Notice it already has some internal filenames and product names in there. You can look through your Audit Detail reports to find this information for Norton 10.0.1. OR right click on one of the files that's on all your Norton 10.0.1 clients, and look at the internal name or filename or product name or manufacturer name, etc. This is the unique header info you need to put in the AntiVirus special group.
Add to the special group, save the auditpls.ini and close the AeXAPedit.exe program.
Force Policy Update script for usage with DS
09 August 2005
Permissions on NS client Registry
If you ever have any problems on a computer regarding the registry check first that you are not running the AClient version 6.1.393 or 394 as it has a defect (changing permission on some of the Altiris registry keys).
20 July 2005
How to install Deployment Server on Microsoft Cluster Server.
Article #: AKB7197
Author: 3108
Date: 3/11/2005 9:19:28 AM
--------------------------------------------------------------------------------
Question:
How to install Deployment Server on Microsoft Cluster Server?
Answer:
1. There must be two servers clustered and working.
2. Install the enterprise version of SQL from the primary node onto the virtual server. SQL will not let you install onto the virtual server that Microsoft Cluster Service created so you have to make a new virtual server. To run the Deployment Server (DS) on a cluster, a cluster virtual IP needs to be established.
3. Install the DS with the same settings from each cluster node but use the cluster IP address anywhere you enter an IP. From the Primary node in the cluster (the node that owns the storage) install an instance of the DS using the shared storage for the DS database and the Client Access Files. The DS should be installed to the local drive.
4. Fail the cluster over to the Secondary node and do the install the exact same way.
5. With all the files pointing to the exact same location, install the DS to the local drive. When both machines are rebooted, they should both be running the Altiris Express Service in Services Manager.
7. Now open Cluster Manager and create a new Generic Service; name the service the same name as the one running in Services Manager. Make it part of the Cluster Group that all the other services are running in.
8. Now it should be possible to fail over the service and it should start the Altiris Express Service on the inactive node.
Because the DS is not cluster aware, anytime there is an active node transfer it will be as if the axengine died and restarted. That means Aclient will probably become orphaned until it attempts a reconnect.