ChrisTitus.com Resources for IT Professionals

20Sep/101

Welcome

I am Chris Titus, a IT Manager out of Dallas, this site is dedicated to information about me, and projects that I have worked on in the past. I will be posting technology news and tips for IT professionals. You can also view information about me on the about page, find my contact information on the contact page, and view pictures from important events and vacations on the personal page.

Filed under: Site Updates 1 Comment
18Mar/140

Exchange 2007 SP1 Installation Error HRESULT E_FAIL has been returned from a call to a COM component.

I was recently installing and configuring a new server with 32 processors and installing server 2008 Standard and Exchange 2007 SP1 Standard. During installation I received the following error:
HRESULT E_FAIL has been returned from a call to a COM component.
After finding a Knowledge-base article from Microsoft, I discovered Exchange 2007 SP1 doesn't support installation on a server with more than 24 processors, but is perfectly fine updating and running on a server with more than 24 processors.

Here is the fix for installing Exchange 2007 SP1 on a server with more than 24 cores.

For Windows Server 2008 and for Windows Server 2008 R2

To reduce the number of active processor cores, follow these steps:

  1. Click Start start button, and then type cmd in the Search programs and files box.
  2. Right-click cmd.exe in the Programs list, and then click Run as administrator.
     UAC If you are prompted for an administrator password or for confirmation, type the password, or provide confirmation.
  3. At the command prompt, copy or type the following command, and then press ENTER:
    msconfig.exe
  4. Click the Boot tab.
  5. Select the operating system that is used with Exchange Server 2007. Typically, this is labeled Current OS.
  6. Click Advanced.
  7. Note the number of processors that are currently set, and then set the number of processors to 24 or fewer.
  8. Restart the server.
  9. Install Exchange 2007.
  10. Click Startstart button, and then type cmd in the Search programs and files box.
  11. Right-click cmd.exe in the Programs list, and then click Run as administrator.
     UAC If you are prompted for an administrator password or for confirmation, type the password, or provide confirmation.
  12. At the command prompt, copy or type the following command, and then press ENTER:
    msconfig.exe
  13. Click the Boot tab.
  14. Select the same operating system that you selected in step 5 and that is used with Exchange Server 2007.
  15. Click Advanced.
  16. Restore the number of processors to the value that you noted in step 7.
  17. Restart the computer.
21Feb/140

Find Directories in linux using Putty

Use the following command:
find / -name nameofdirectory

As I'm learning the ins and outs of linux this command is incredibly valuable.

Filed under: General Linux No Comments
27Jan/140

Anti-Spam in Microsoft Exchange 2007/2010

SCL (Spam Confidence Level) determines what to do with a message

By Default Exchange is set as follows:

9 = Delete Message with no NDR

7= Reject Message with NDR

5= Move Message to Junk Mail in Mailbox

There is also a Quarantine option in Exchange that is configurable through EMC (Exchange Management Console) in Organization Configuration -> Hub Transport -> Anti-Spam Tab under the Content Filtering Module Properties

Note Junk Mail Threshold is NOT configurable in EMC and must be set via Shell. Here is the commands for EMS (Exchange Management Shell)

Set SCL Junk Mail Threshold

Set-OrganizationConfig -SCLJunkThreshold 5

Check SCL Junk Mail Threshold

Get-OrganizationConfig | Format-List SCLJunkThreshold

This should give you a good control over what is getting filtered and where it is going. You can always check a message SCL rating in Outlook by looking at the email's header.

13Jan/140

Take ownership of entire drive

I had an old hard drive I was replacing and needed to copy all the files. To accomplish this, I need to take ownership and grant myself permissions. Here is a simple script to accomplish just that. Create an cmd file takeowner.cmd in notepad and type the following:

takeown /f %1 /r /d y
icacls %1 /grant administrators:F /t

9Dec/130

Internal Outlook “The name of the security certificate is invalid or does not match the name of the site”

Found this article on Spiceworks and was very helpful to fix internal clients receiving certification warning messages from me switching to a 3rd party cert on the exchange server.

(Original Link: http://community.spiceworks.com/how_to/show/48384-outlook-the-name-of-the-security-certificate-is-invalid-or-does-not-match-the-name-of-the-site)

 

Issue: Outlook anywhere works fine with third party cert, but internal Outlook clients get cert error with NETBIOS name of Exchange server.
Note: I tested this on Exchange 2010 as well.

By default, the URL that is stored in these objects references the NetBIOS name of the server. For example, a URL that resembles the following URL is stored:
https://NetBIOS_name.contoso.com/autodiscover/autodiscover.xml

To resolve this issue, change the URLs for the appropriate Exchange 2007 components. To do this, follow these steps:

1.Start the Exchange Management Shell.
2.Change the Autodiscover URL in the Service Connection Point. The Service Connection Point is stored in the Active Directory directory service. To change this URL, type the following command, and then press Enter:
Set-ClientAccessServer -Identity CAS_Server_Name -AutodiscoverServiceInternalUrihttps://mail.contoso.com/autodiscover/autodiscover.xml

3.Change the InternalUrl attribute of the EWS. To do this, type the following command, and then press Enter:
Set-WebServicesVirtualDirectory -Identity "CAS_Server_Name\EWS (Default Web Site)" -InternalUrlhttps://mail.contoso.com/ews/exchange.asmx

4.Change the InternalUrl attribute for Web-based Offline Address Book distribution. To do this, type the following command, and then press Enter:
Set-OABVirtualDirectory -Identity "CAS_Server_name\oab (Default Web Site)" -InternalUrl https://mail.contoso.com/oab

5. Change the InternalUrl attribute of the UM Web service. To do this, type the following command, and then press Enter:
Set-UMVirtualDirectory -Identity "CAS_Server_Name\unifiedmessaging (Default Web Site)" -InternalUrlhttps://mail.contoso.com/unifiedmessaging/service.asmx

Note The command in step 5 is required only in an Exchange 2007 environment. This command no longer exists in an Exchange 2010 environment. Instead, the WebServices URL is used for this purpose.
6.Open IIS Manager.
7.Expand the local computer, and then expand Application Pools.
8.Right-click MSExchangeAutodiscoverAppPool, and then click Recycle.

5Dec/130

Framework 3.5 Service Pack / Security Updates Fail

Taken from http://blogs.technet.com/b/essentialbusinessserver/archive/2009/05/07/microsoft-net-framework-3-5-sp1-kb951847-fails-to-install-on-ebs-servers.aspx

I have had several servers that were having .Net Framework 3.5 SP1 installation and security update issues. I ran the following commands and it cleared up the issue with the .Net 3.5 updates.

Event log showed Error 1325.'Microsoft.NET' is not a valid short file name. 

Create PowerShell Script file .ps1: (Note: PowerShell must be installed check windows installed updates from appwiz.cpl)

# determine the framework and ebs guids. these will be unique for each install

$productskey = "HKLM:\SOFTWARE\Classes\Installer\Products"
$installedproducts = get-childitem $productskey
$guidstofix = 1..6

foreach ($product in $installedproducts)
{
$product = $product -replace("HKEY_LOCAL_MACHINE","HKLM:")
$PackageCode = get-itemproperty -path $product -name "PackageCode"
if ($PackageCode.PackageCode -match "4C78A69B7517C0446978C7906EBD7950")
{ $guidstofix[0] = $PackageCode.PackageCode
$guidstofix[1] = $product.Substring($product.LastIndexOf("\")+1)
}
elseif ($PackageCode.PackageCode -match "971651411F68D9B4CAF6FCDFB652BB9F")
{ $guidstofix[2] = $PackageCode.PackageCode
# get the guid from the name of the key
$guidstofix[3] = $product.Substring($product.LastIndexOf("\")+1)
}
elseif ($PackageCode.PackageCode -match "89C1D03477CD8054881EFCE6FAAFB588")
{ $guidstofix[4] = $PackageCode.PackageCode
$guidstofix[5] = $product.Substring($product.LastIndexOf("\")+1)
}
}

# get a list of the registry keys to parse
$regkeys = reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18 /s

# find and replace all instances of D?\ with C?\

for ($i = 0; $i -lt $regkeys.Length; $i++)
{
if ( ($regkeys[$i] -match "D\?\\") -or ($regkeys[$i] -match "C\\\?\\\\") )
{
$badkey = $regkeys[$i-1]
$badkey = $badkey -replace("HKEY_LOCAL_MACHINE","HKLM:")
for ($j = 0; $j -lt $guidstofix.count; $j++)
{

$badvalue = (get-itemproperty $badkey $guidstofix[$j] -ea silentlycontinue).($guidstofix[$j])
# filter out null values
if ($badvalue -match "^D\?\\")
{
$goodvalue = $badvalue -replace ("D\?\\", "C?\")
set-itemproperty -path $badkey -name $guidstofix[$j] -value $goodvalue
write-host ":::::replacing $badvalue with $goodvalue"
}
elseif ( $badvalue -match "^C\\\?\\\\")
{
$goodvalue = $badvalue -replace ("^C\\\?\\\\", "C:\")
set-itemproperty -path $badkey -name $guidstofix[$j] -value $goodvalue
write-host ":::::replacing $badvalue with $goodvalue"
}
}
}
}
# now replace c\\?\\\\ with c:\\

if(!(test-path "C:\Windows\Microsoft.NET\Framework\v3.5\WFServicesReg.exe"))
{
write-host -fore 'Red' -back 'Black' "Please copy WFServicesReg.exe from a working installation to C:\Windows\Microsoft.NET\Framework\v3.5
"
}
if(!(test-path "C:\Windows\Microsoft.NET\Framework64\v3.5\WFServicesReg.exe"))
{
write-host -fore 'Red' -back 'Black' "Please copy WFServicesReg.exe from a working installation to C:\Windows\Microsoft.NET\Framework64\v3.5"
}

Here is the direct script download, but I don't like downloading scripts from the internet as a best practice. But, for you lazy people that don't want to create the ps1 file and run it yourself: dotnetfixupv2

Note: If it keeps opening up in notepad, select open with and navigate to c:\windows\system32\Windows Powershell\1.0\powershell.exe

After the Script is run install .Net Framework 3.5 SP1

The from Run Box type:

MsiExec.exe /fp {CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9}

27Nov/130

Fix Windows Update error in Windows Vista

I uninstalled WSUS and had most of the client computers unable to check for updates, even after updating the GPO to grab them from the net. I found the following solution and it fixed the issue: (Note: I didn't follow all these instructions and found that just stopping the Crypto service and deleting catroot2 folder was sufficient.)

You can try to register the following DLLs if Windows Update service is not starting up or having some issue updating/running Windows Updates:

1. Create a batch file and copy the following contents in it and then double click on it to register modules.

regsvr32 c:\windows\system32\vbscript.dll
regsvr32 c:\windows\system32\mshtml.dll
regsvr32 c:\windows\system32\msjava.dll
regsvr32 c:\windows\system32\jscript.dll
regsvr32 c:\windows\system32\msxml.dll
regsvr32 c:\windows\system32\actxprxy.dll
regsvr32 c:\windows\system32\shdocvw.dll

2. Restart the Windows Update and Automatic service

3. Stop the Cryptographic Service

4. Remove the folder \Windows\System32\Catroot2

5. Rename the \Windows\SoftwareDistribution folder.

This above folder is the restoration point for Windows Update service.

6. Now restart the Cryptographic Service.

7. Create another batch file and put the following lines in it and then double click on it to register the modules:

regsvr32 /s Softpub.dll
regsvr32 /s Mssip32.dll
regsvr32 /s Initpki.dll
regsvr32 softpub.dll
regsvr32 wintrust.dll
regsvr32 initpki.dll
regsvr32 dssenh.dll
regsvr32 rsaenh.dll
regsvr32 gpkcsp.dll
regsvr32 sccbase.dll
regsvr32 slbcsp.dll
regsvr32 cryptdlg.dll
regsvr32 Urlmon.dll
regsvr32 Shdocvw.dll
regsvr32 Msjava.dll
regsvr32 Actxprxy.dll
regsvr32 Oleaut32.dll
regsvr32 Mshtml.dll
regsvr32 msxml.dll
regsvr32 msxml2.dll
regsvr32 msxml3.dll
regsvr32 Browseui.dll
regsvr32 shell32.dll
regsvr32 wuapi.dll
regsvr32 wuaueng.dll
regsvr32 wuaueng1.dll
regsvr32 wucltui.dll
regsvr32 wups.dll
regsvr32 wuweb.dll
regsvr32 jscript.dll
regsvr32 atl.dll
regsvr32 Mssip32.dll

Your Windows Update should work.

Filed under: Uncategorized No Comments
31Oct/130

CT Summation Summary Import Settings

When importing .dat or .csv files into CT Summation v3.0 you will find that the field separators and quote characters can change when using various vendors. Here are the 2 sets of characters that I've found most vendors use.

Summation Default

Field Seperator ASCII 44 ,

Quote Character ASCII 34 "

 

3rd Party Vendor Load files

Field Sperator ASCII 20 ¶

Quote Character ASCII 254 ■

 

Filed under: CT Summation No Comments
7Aug/130

Removing or Adding 9 to Dial out on VeriFone VX510

VeriFone VX510

33937_Vx510hero

 

 

 

 

 

 

 

 

First go into Quick Setup (6 on pad)

Password is 1 Alpha Alpha 66831

Select Phone

Edit to add or remove 9 and then exit

Done!

Filed under: Uncategorized No Comments
1Jul/130

Installing .NET Framework 3.5 / 3.0 / 2.0 in Windows 8 in domain WSUS network

Recently I ran into a network where any machine attached to the network wouldn't install .NET Framework Web Download for a line of business application I was installing. I found the following article on Microsoft that fixed the issue. http://support.microsoft.com/kb/2734782 Note: You could take this resolution further and push it out via network script if needed. Make sure to copy the windows 8 dvd to a local network drive before attempting.

To resolve this problem, use one of the following methods, as appropriate for the error code that you are receiving.

Error code: 0x800F0906

This error code occurs because the computer cannot download the required files from Windows Update.

This behavior can be caused by network, proxy, or firewall configurations or by network, proxy, or firewall failures. To resolve this problem, try to connect to the following Microsoft website:

Microsoft Update

If you cannot access this website, check your Internet connection or contact the network administrator to determine whether there is a configuration that blocks access to the website.

This behavior can also be caused by a system administrator who configures the computer to use Windows Server Update Services (WSUS) instead of the Microsoft Windows Update server for servicing. In this case, contact your system administrator and request that they enable the Specify settings for optional component installation and component repair Group Policy setting and configure the Alternate source file path value or select the Contact Windows Update directly to download repair content instead of Windows Server Update Services (WSUS) option.

To configure the Group Policy setting, follow these steps:

  1. Start the Local Group Policy Editor or Group Policy Management Console.
    Collapse this imageExpand this image

  2. Expand Computer Configuration, expand Administrative Templates, and then select System.
    Collapse this imageExpand this image

  3. Open the Specify settings for optional component installation and component repair Group Policy setting, and then select Enabled.
    Collapse this imageExpand this image

  4. If you want to specify an alternative source file, in the Alternate source file path box, specify a fully qualified path of a shared folder that contains the contents of the \sources\sxs folder from the installation media. Or, specify a WIM file. To specify a WIM file as an alternative source file location, add the prefix WIM: to the path, and then add the index of the image that you want to use in the WIM file as a suffix. The following are examples of values that you can specify:
    1. Path of a shared folder: \\server_name\share\Win8sxs
    2. Path of a WIM file, in which 3 represents the index of the image in which the feature files are found: WIM: \\server_name\share\install.wim:3
  5. If it is applicable to do this, select the Contact Windows Update directly to download repair content instead of Windows Server Update Services (WSUS) check box.
  6. Tap or click OK.
  7. At an elevated command prompt, type the following command and then press Enter to apply the policy immediately:
    gpupdate /force

Or, you can use the Windows installation media as the file source when you enable the .NET Framework 3.5 feature. To do this, follow these steps:

  1. Insert the Windows 8 or Windows Server 2012 installation media.
  2. At an elevated command prompt, run the following command:
    Dism /online /enable-feature /featurename:NetFx3 /All /Source:<drive>:\sources\sxs /LimitAccess

    Note In this command, <drive> is a placeholder for the drive letter for the DVD drive or for the Windows 8 installation media. For example, you run the following command:

    Dism /online /enable-feature /featurename:NetFx3 /All /Source:D:\sources\sxs /LimitAccess