Shaun Cassells at MyITForum.com

SMS 2003 and ConfigMgr 2007, PowerShell, Scripting, Finance, Fitness and Fun

News

Locations of visitors to this page

July 2009 - Posts

ERROR: Cannot find path for destination inbox SMS_AMT_PROXY_COMPONENT on server REGISTRY

This error is found on secondary servers running Microsoft System Center Configuration Manager (SCCM or ConfigMgr) 2007 SP1.

 

Solution is similar to John Marcum's post here

 

Error from mpfdm.log:

Verifying local MP outbox directory E:\Program Files\Microsoft Configuration Manager\MP\OUTBOXES\AIKbMgr.box for Asset Intelligence KB Manager exists... SMS_MP_FILE_DISPATCH_MANAGER 7/16/2009 11:25:19 AM 240 (0x00F0)
**ERROR: Cannot find path for destination inbox Asset Intelligence KB Manager on server REGISTRY SMS_MP_FILE_DISPATCH_MANAGER 7/16/2009 11:25:19 AM 240 (0x00F0)
Worker thread [Asset Intelligence KB Manager] cannot update environment so skiping outbox processing. SMS_MP_FILE_DISPATCH_MANAGER 7/16/2009 11:25:19 AM 240 (0x00F0)
Updating environment... SMS_MP_FILE_DISPATCH_MANAGER 7/16/2009 11:25:19 AM 2272 (0x08E0)
Verifying local MP outbox directory E:\Program Files\Microsoft Configuration Manager\MP\OUTBOXES\amtproxy.box for SMS_AMT_PROXY_COMPONENT exists... SMS_MP_FILE_DISPATCH_MANAGER 7/16/2009 11:25:19 AM 2272 (0x08E0)
**ERROR: Cannot find path for destination inbox SMS_AMT_PROXY_COMPONENT on server REGISTRY SMS_MP_FILE_DISPATCH_MANAGER 7/16/2009 11:25:19 AM 2272 (0x08E0)
Worker thread [SMS_AMT_PROXY_COMPONENT] cannot update environment so skiping outbox processing. SMS_MP_FILE_DISPATCH_MANAGER 7/16/2009 11:25:19 AM 2272 (0x08E0)
Updating environment... SMS_MP_FILE_DISPATCH_MANAGER 7/16/2009 11:25:19 AM 2608 (0x0A30)

 

Solutions

Add the following reg keys to each of your effected secondary sites. (save the following into a *.reg file)

 

Inbox Fix

Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\MPFDM\Inboxes]

"Asset Intelligence KB Manager"="E:\\Program Files\\Microsoft Configuration Manager\\inboxes\\AIKbMgr.box"

"SMS_AMT_PROXY_COMPONENT"="E:\\Program Files\\Microsoft Configuration Manager\\inboxes\\amtproxy.box" 

 Asset Intelligence fix:

 Note: you will need to identify the next largest key value.  In my example it was key 49

 Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Inbox Source\Inbox Definitions\49]

"Inbox Name"="Asset Intelligence KB Manager"

"Relative Path"="inboxes\\AIKbMgr.box"

"NAL Path"=""

"User Rights"=dword:00000000

"Service Rights"=dword:00000004

"Monitoring Enabled"=dword:00000001

"Location Type"=dword:00000001

"Guest Rights"=dword:00000001

 

AMT registry Fix.

  Note: you will need to identify the next largest key value.  In my example it was key 50

Windows Registry Editor Version 5.00

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Inbox Source\Inbox Definitions\50]

"Inbox Name"="SMS_AMT_PROXY_COMPONENT"

"Relative Path"="inboxes\\amtproxy.box"

"NAL Path"=""

"User Rights"=dword:00000000

"Service Rights"=dword:00000004

"Monitoring Enabled"=dword:00000001

"Location Type"=dword:00000001

"Guest Rights"=dword:00000001

 

That’s it.  Should be right as rain.

The Case of the Missing Advertisement and a Restart

Mystery:  A machine had received an advertisement that may or may not have restarted a workstation.  

The requestor had the Advertisement ID from the machine but they couldn’t locate the advertisement in the console.  For the sake of this mystery our advertisement will be MIS00042.

This mystery has two questions.

1.       Where is the advertisement in the console?

2.       Did the SMS Program restart the PC?

One

Where in the console is the advertisement?  SMS 2003 does not have a search function like ConfigMgr 2007 however this method will work for either environment.  There are two tables (not views) that will be helpful.

·         Dbo.Folders

·         Dbo.FolderMembers

 

Where in the console is the advert?

With SMS 2003 and ConfigMgr folders have become a very useful way to organize info in the console.  As such we will need a method to search the FolderMembers for the appropriate parent folder. 

SELECT     dbo.Folders.Name, dbo.Folders.ParentContainerNodeID

FROM         dbo.Folders INNER JOIN

                      dbo.FolderMembers ON dbo.FolderMembers.ContainerNodeID = dbo.Folders.ContainerNodeID

WHERE     (dbo.FolderMembers.InstanceKey = 'MSI00042')

 

This will return two pieces of information. The first is the Name of the folder containing the Advertisement. The second is the ParentContainerNodeID.  If the ParentContainerNodeID is zero then it is a top level folder.  If the value is not zero, then you can query again basing your where statement on ContainerNodeID.   With the Name of the folder your console spelunking will be much easier.

 

Two

Did this advertised program cause the workstation to restart?  First we will assume that the package will not restart the workstation (that can be confirmed in the package run logs – outside the scope of this discussion).  Second we need to check the program flags to see if SMS restarts the computer when the program has finished running bit is set.

Okay, where are the ProgramFlags?  The program flags which can be found with just the AdvertisementID in the dbo.v_AdvertisementInfo view.

SELECT    *

FROM         dbo.v_AdvertisementInfo

WHERE     (AdvertisementID = 'MSI00042')

 

You are looking for the ProgramFlags value.   In this case it is -2012175360.

 

**********Hex, Binary and Decimal Aside*******************

In several Microsoft program values are calculated in Hex or Binary but stored in Decimal.

 

If you open up Calc.exe change it to scientific method you can type in the negative number and convert it to Hex (Hex button is the first from the left under the numerical field)

In this case when you change the decimal -2012175360 to hex you get FFFFFFFF8810A400.  You can ignore the proceeding eight F’s.  The Hex value is 8810A400. 

 

If you open up Calc.exe change it to scientific method you can type in the negative number and convert it to Binary (Bin button is the fourth from the left under the numerical field)

In this case when you change the decimal -2012175360 to hex you get 1111111111111111111111111111111110001000000100001010010000000000. 

**********/Aside*******************

 

Okay, that’s great so what?  Well if you reference the SDK (see end of article for links) for SMS_Program.  You’ll find the following Entry in Program Flags for bit 19:

bit 19 (0x00040000)

SMS restarts the computer when the program has finished running.

Notice it is both the binary Bit 19 (a one with 18 zeros after it) and the Hex value of 0X00040000.  So those two methods above are going to be useful.

 

Okay, how do I check to see if the setting is there?  You use the logical AND condition.

8810A400 & 40000 = 0 (or false) if the value returned was 40000 that would mean it is present.

1111111111111111111111111111111110001000000100001010010000000000

You may notice that the 19th bit is zero or false.  If you do bitwise comparison you’ll get a value of zero.

 

Note: You can do the bitwise AND function in Calc.exe too. (button is under the clear - top right)

Note: To add a value to a string, use the OR function in either programming or Calc.exe.

 

 

Summary

We were able to find the Advertisement in a folder in the console.  We were also able to prove that the program was not set to cause SMS to restart the workstation.

 

References

SMS 2003 SDK 3.1:

http://www.microsoft.com/downloads/details.aspx?FamilyId=58833CD1-6DBB-45BB-BB77-163446068EF6&displaylang=en

 

Configuration Manager 2007 SDK 4.0: http://www.microsoft.com/downloads/details.aspx?FamilyId=064A995F-EF13-4200-81AD-E3AF6218EDCC&displaylang=en

 

SMS 2003 SDK for SMS_Progam

Data type: uint32
Access type: Read/write
Qualifiers: Bits

Defines the installation characteristics of the program, such as whether this is an unattended install, the install restarts the computer, or the install runs in a minimized window. The default flags are USERCONTEXT, USEUNCPATH, and ANY_PLATFORM.

When using SMS_Program programmatically, ensure that no conflicting options are selected. For example, NOUSERLOGGEDIN and USERCONTEXT should not be used together.

 Note

·         Unlisted bits are either obsolete or unused by SMS.

Bit flag

Description

Bit 6 (0x00000020)

Disables MOM alerts while the program runs. Requires SMS 2003 SP1

Bit 7 (0x00000040)

Generates MOM alert if the program fails. Requires SMS 2003 SP1.

Bit 8 (0x00000080)

For Advanced Client only. If set, this program's immediate dependent should always be run.

Bit 9 (0x00000100)

Indicates a device program. If set, the program is not offered to desktop clients.

Bit 10 (0x00000200)

This program's immediate dependent should always be run.

Bit 11 (0x00000400)

The countdown dialog is not displayed.

Bit 12 (0x00000800)

The command requires Add Remove Programs to be restarted—for example, APASetup.exe.

Bit 13 (0x00001000)

The command is disabled by company policy—for example, no "Run from Network" support.

Bit 14 (0x00002000)

A user must be logged on for the program to run.

Bit 15 (0x00004000)

The program must be run as the local Administrator account.

Bit 16 (0x00008000)

The program is offered to each new user that logs on. If this bit is not set, the program is offered only to the first user that logs on.

Bit 17 (0x00010000)

The program must be run by every user for whom it is valid. Valid only for mandatory jobs.

Bit 18 (0x00020000)

The program is run only when no user is logged on.

bit 19 (0x00040000)

SMS restarts the computer when the program has finished running.

Bit 20 (0x00080000)

Use a UNC path (no drive letter) to access the distribution point.

Bit 21 (0x00100000)

Persists the connection to the drive specified in the DriveLetter property. The USEUNCPATH bit flag must not be set.

Bit 22 (0x00200000)

Run the program as a minimized window.

Bit 23 (0x00400000)

Run the program as a maximized window.

Bit 24 (0x00800000)

Hide the program window.

Bit 25 (0x01000000)

SMS logs off the user when the program has finished running.

Bit 26 (0x02000000)

The program runs using the Legacy Client Software Installation. This account is used for unattended installs and requires the UNATTENDED bit to be set. For information about this account, see the Microsoft Systems Management Server 2003 Concepts, Planning, and Deployment Guide. You can specify this account in the SMS Administrator console or programmatically by using the site control file.

Bit 27 (0x04000000)

The program runs on any platform; ignore the supported operating system field.

Bit 28 (0x08000000)

Notifies the user if the program exceeds the Duration time by more than 15 minutes.

 

Comprehensive list of post SP1 Hotfixes for Microsoft System Center Configuration Manager (ConfigMgr or SCCM) 2007

KB

Version Number Details
954214 4.0.6221.1101 The SMS_Site_Component_Manager service stops unexpectedly when you try to install Configuration Manager 2007 Service Pack 1 or reinstall a specific component after an unsuccessful installation attempt
954474 4.0.6221.1102 System Center Configuration Manager 2007 blocked from deploying security updates
954716 4.0.6221.1103 The SMS_EXECUTIVE service of System Center Configuration Manager 2007 on a child site server may crash when it handles the .sha file and sends inventory data to its parent site
955114 4.0.6221.1105 The SMS_Executive service process may crash when the System Center Configuration Manager 2007 SP1 Hierarchy Manager handles the site control (.ct2) file from child sites that are running the RTM version of Configuration Manager 2007
955355 4.0.6221.1107 A distinguished name that contains more than 100 characters and that is discovered from Active Directory for an AMT host causes the SMS_EXECUTIVE service to crash in System Center Configuration Manager 2007
955388 4.0.6221.1108 Error message when you use the Microsoft System Center Configuration Manager 2007 SP1-based Configuration Manager Configuration Manager console to check software distribution point settings
955842 4.0.6221.1109 The System Center Configuration Manager 2007 Service Pack 1 hardware inventory may recognize an x64-based client as an x86-based client
955955 4.0.6221.1110 A task sequence that contains many packages may take longer to run after you install System Center Configuration Manager 2007 Service Pack 1 or hotfix 949225
955126 4.0.6221.1111 The SMS_Executive service process (Smsexec.exe) in System Center Configuration Manager 2007 may crash if you have Intel AMT-related software installed
956465 4.0.6221.1112 The SMS_EXECUTIVE service process restarts unexpectedly when a limit is set for the maximum transfer rate between two sites in System Center Configuration Manager 2007
956337 4.0.6221.1113 System Center Configuration Manager 2007 Service Pack 1 is unable to remove AMT user ACLs during the provisioning process for AMT 2.x computers
956194 4.0.6221.1114 Distribution Manager in System Center Configuration Manager 2007 Service Pack 1 may require several hours after startup before it begins to process packages
954718 4.0.6221.1115 You cannot use the Out of Band Management console in Configuration Manager 2007 to connect to computers that use versions of Intel AMT that are earlier than version 3.2.1
955262 4.0.6221.1117 You receive an error message when you click and then update the Drivers node in the Configuration Manager console of a Configuration Manager 2007 Service Pack 1 site that uses SQL Server 2008 for the site database
956918 4.0.6221.1118 The "Delete Aged Configuration Management Data" site maintenance task may take a long time to finish in System Center Configuration Manager 2007
956944 4.0.6221.1119 Error message when you use the System Center Configuration Manager 2007 Service Pack 1 console to connect to a Configuration Manager 2007 site server that is not running Service Pack 1
956733 4.0.6221.1120 Some attributes of a System Center Configuration Manager 2007 client may be missing after it is configured as a branch distribution point
956941 4.0.6221.1121 You cannot take some actions when you take remote control of a Windows Vista-based client computer that has User Account Control enabled in System Center Configuration Manager 2007 Service Pack 1
957183 4.0.6221.1122 You cannot add a group as an AMT user account in Configuration Manager 2007 Service Pack 1 if the group name has more than 20 characters
957325 4.0.6221.1123 The Inventory Data Loader component cannot process hardware inventory data from System Center Configuration Manager 2007 Service Pack 1 clients if one or more properties contain more than 256 characters in the NOIDMIF files
957255 4.0.6221.1124 The wake-on-LAN (WOL) feature in System Center Configuration Manager 2007 Service Pack 1 wakes clients one hour earlier than expected
957879 4.0.6221.1125 The ConfigMgr Service Manager tool in Configuration Manager 2007 Service Pack 1 cannot query the SMS_SITE_SQL_BACKUP service, and you receive an "Error communicating with component" error message
957469 4.0.6221.1126 FIX: The Out of Band Power control function does not work for clients that have the Intel AMT 4 or Intel AMT 5 chipset in System Center Configuration Manager 2007 Service Pack 1
957576 4.0.6221.1127 Status message ID 7404 is reported frequently in an installation of System Center Configuration Manager 2007 R2 that uses SQL Server 2008 as the site database
955115 4.0.6221.1128 The "Client Push Installation" operation fails when both multiple management points and customized ports are configured in a System Center Configuration Manager 2007 site
958808 4.0.6221.1129 User data from the USMT may be deleted unexpectedly by the task sequence engine during the operating system deployment process in System Center Configuration Manager 2007 SP1
959040 4.0.6221.1130 System Center Configuration Manager 2007 Service Pack 1 systems cannot provision AMT 2.2/2.6 clients in PKI mode and AMT 2.1/2.5 clients in PSK mode
959038 4.0.6221.1131 The execution of a task sequence that you create in System Center Configuration Manager 2007 may continue when a program in the task sequence returns a failure exit code
958021 4.0.6221.1132 Error message in the Configuration Manager console when you create a new task sequence: "The task sequence cannot be created"
959257 4.0.6221.1133 Recurring advertisements or maintenance windows start to run an hour later or earlier than expected when the time is changed because of DST in System Center Configuration Manager 2007 Service Pack 1
959700 4.0.6221.1134 The Out of Band Management console in Configuration Manager 2007 Service Pack 1 cannot connect to AMT-enabled computers
959812 4.0.6221.1135 Operating System Deployment (OSD) tasks may fail randomly in System Center Configuration Manager 2007 Service Pack 1-based systems
959875 4.0.6221.1136 The shared folders that store packages on branch distribution points may be removed in systems that are running System Center Configuration Manager 2007 Service Pack 1
960448 4.0.6221.1137 The Asset Intelligence Catalog Sync Service of System Center Configuration Manager 2007 Service Pack 1 cannot connect to a System Center Configuration Manager database that is installed on a SQL Server 2005 named instance
960741 4.0.6221.1138 The SMS_Executive service process crashes on a Configuration Manager 2007 Service Pack 1 site server when you use Intel WS-MAN Translator to provision computers that are equipped with AMT 3.2.1 chipsets
960634 4.0.6221.1139 System Center Configuration Manager 2007 R2 Client Status Reporting fails when clients have multiple discovery records
960846 4.0.6221.1140 The shared folders that store packages on branch distribution points may be removed in systems that are running System Center Configuration Manager 2007 Service Pack 1
960804 4.0.6221.1141 A hotfix rollup package addresses issues that involve the Out of Band Management (OOB) feature in Configuration Manager 2007 Service Pack 1
Registering a DLL in a Script
To register a Dynamic Link Library (DLL) in Microsoft we use Regsvr32.exe to: LoadLibrary() is called to load the control into memory, GetProcAddress() is called to get the address of the DllRegisterServer() function, and then DllRegisterServer() is called to register the control.  When working with a VBS script you have two methods of RegSvr32.exe: WMI example

REG = windir & "\system32\regsvr32.exe /s " & windir & "\system32\msxml3.dll"

Set oWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2:Win32_Process")

result = oWMIService.Create(REG , Null, Null, intProcessID)

 

WshShell.run example

reg = "cmd /C regsvr32.exe -s %windir%\system32\wbem\wmisvc.dll"
rc = WshShell.run(reg , 2, 1)

  

Regsvr32.exe usage and error messages

http://support.microsoft.com/kb/249873

 

Possible Reasons for OLE control Registration Failure

http://support.microsoft.com/kb/140346/

 

Run Method (Windows Script Host)

http://msdn.microsoft.com/en-us/library/d5fk67ky(VS.85).aspx