Tuesday, December 17, 2013

Call to HttpSendRequestSync failed for port 80 with status code 500, text: Internal Server Error

My SCCM 2012 SP1 server is working fine all the while until last few days. The SCCM server is installed in Windows Server 2012 with SQL Server 2012. The management point is down, the application catalog website/webservice point is down, the software update point is down. The mpcontrol.log is showing the error below

Call to HttpSendRequestSync failed for port 80 with status code 500, text: Internal Server Error
Http test request failed, status code is 500, 'Internal Server Error'mpcontrol error

Troubleshooting steps that I’ve taken:

  1. Browse to http://sccmservername/sms_mp/.sms_aut?mplist; HTTP500 error, not showing xml
  2. Browse to http://cl-hyv-cm01/sms_mp/.sms_aut?MPCert; HTTP500 error, not showing xml
  3. Restart SCCM server
  4. Double, triple confirm the required Windows server roles and features required are installed
  5. Remove MP, reinstall MP
  6. Remove MP, remove IIS, reinstall IIS, reinstall MP
  7. aspnet_regiis –I is not working in Windows Server 2012, hence I used dism /online /enable-feature /featurename:IIS-ASPNET45 to reinstall the ASP.
  8. Remove the SCCM client installed on the SCCM server
  9. Verify there is no GPO settings configuring the startup type of SMS Agent Host (CCMEXEC.exe) services

Useful Reference:

  1. http://blogs.technet.com/b/configurationmgr/archive/2013/09/04/support-tip-configmgr-2012-management-point-fails-with-a-500-error-after-working-fine-for-a-short-period-of-time.aspx
  2. http://anoopcnair.com/2011/04/20/configmgr-sccm-2007-mpcontrol-log-shows-httpsendrequestsync-fails-with-status-code-500-internal-server-error/
  3. http://blogs.technet.com/b/smsandmom/archive/2008/09/04/configmgr-2007-mpcontrol-log-shows-httpsendrequestsync-fails-with-status-code-500-internal-server-error.aspx

Resolution:

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0 saves the day.
cmd

After I applied the command, the MP’s HTTPSendRequestSync succeed.
mpcontrol 

According to some sources. This problem occurs because the ASP.NET registry keys are missing. The ASP.NET registry keys are missing when you install ASP.NET after the Enable32bitAppOnWin64 Microsoft Internet Information Services (IIS) metabase setting is set to a value of 1. Because IIS is configured to run in 32-bit mode, the ASP.NET installation does not create the ASP.NET registry keys in the 64-bit registry. The ASP.NET installation creates the ASP.NET registry keys only in the 32-bit registry.

Therefore, to enable the 64-bit mode, type the following command, and then press ENTER:
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0

Hope this could saves your day too!!

Monday, December 9, 2013

SCCM AI General License Reconciliation Report Part 2

Continue from the previous post, I’ll show how to modify the out of the box report (License 15A - General license reconciliation report) to show more hidden information.

Navigate to \Monitoring\Overview\Reporting\Reports\Asset Intelligence, right click on the report License 15A - General license reconciliation report and select Edit.
image

From the Report Builder, expand Datasets. Right click on the Dataset0 and select Dataset Properties
image

From the Dataset Properties Query, we can see that the query is from the AI_NON_MS_LICENSE SQL view. Besides, the original query only query Lic.Name, Lic.Version, Lic.EffectiveQuantity from the AI_NON_MS_LICENSE SQL view.
image

Now launch the Microsoft SQL Management Studio. Navigate to the SCCM database CM_XXX\Views and find dbo.v_AI_NON_MS_LICENSE. Right Click on the dbo.v_AI_NON_MS_LICENSE and click on Select Top 1000 Views.
image

As you can see, there are many others information contain in this view but the original query didn’t query the additional information.
image

I wanted to show Date of Purchase in the report.
Back to the Report Builder, Dataset0 Properties, I added “Lic.DateOfPurchase as [Date of Purchase]” after [Difference],
image

Still on the same Dataset0 Properties, I also added “Lic.DateOfPurchase” after group by Lic.Name, Lic.Version, Lic.EffectiveQuantity
image 

Click on the Fields tab, click Add and select Query Field
image

Enter DateOfPurchase on the left hand side, Date of Purchase on the right hand side.
image

On the Report Builder, right click on top of the table and select Insert Column > Right
 image 

Right click the Expression of the [Difference] and select Copy
image

Right click on the blank table and select Paste
image

Right click on the newly pasted Expression, and select Expression
image

Replace “Difference” with “Date of Purchase”, then click OK
image

Click on the tiny little blue headed icon and select “DateofPurchase”
image

Beautify the header of the table by dragging the boxes.
image

Save it to the folder where you store your custom reports. I don’t recommend you to replace the out of the box report.
image

Run the report you saved. I can view the Date of Purchase information in my report now.
image

The End…….

Friday, December 6, 2013

SCCM AI General License Reconciliation Report

Below is the SCCM report under Asset Intelligence, License 15A - General license reconciliation report. By default, the report will show the information as below. Product Name, Version, Licensed Quantity, Inventory Count, and Difference. Besides that, according to TechNet, the report can also show other information such as, Publisher, Language, PONumber, ResellerName, DateOfPurchase, SupportPurchased, SupportExpirationDate, and Comments.

image

I added the DateOfPurchase and SupportPurchased into my .csv file as below but nothing the info doesn’t appear in the report.
image

You must be curious why after I added the extra information into the .csv file but nothing appear in the report. This is because the default report don’t query the extra information. How sad!!!

Stay tuned… My next post I’ll show the guide on modify the report to show the extra information.