I recently encountered an issue with email alerts in Team Foundation Server 2012. Unfortunately the process to enable email logging is a little more in-depth than it should be and I’ll cover that process here.

1. First open a command prompt on the TFS application server and navigate to the “tools” directory under your TFS install directory. Then run the following command:

tfsconfig configuremail /Enabled:True

2. Open PowerShell on the TFS application server and run the following commands to increase the log level from 0 to 2:

# Load client OM assembly.
$collectionBaseUrl = "http://YOURTFSSERVER:8080/tfs/YOURCOLLECTION/";
$tfs = [Microsoft.TeamFoundation.Client.TeamFoundationServerFactory]::GetServer($collectionBaseUrl);
$collectionHive = $tfs.GetService([Microsoft.TeamFoundation.Framework.Client.ITeamFoundationRegistry]);
# Set the setting in the collection hive.
$collectionHive.SetValue("/Service/Integration/Settings/NotificationJobLogLevel", "2");

3. Login to the SQL server and run the following query against the TFS_Configuration database:

SELECT TOP 10 DATEADD(HOUR, -7, StartTime) AS StartTimePDT, RESULT, ResultMessage
FROM [Tfs_Configuration].[dbo].[tbl_JobHistory]
WHERE JobId = 'A4804DCF-4BB6-4109-B61C-E59C2E8A9FF7' AND RESULT <> 0

4. You will now see a detailed error under the “ResultMessage” column. In my case the following part of the error pointed me in the right direction:


5. To clear this specific issue I needed to allow SMTP relay on our Exchange server for the TFS application servers IP. Generally this isn’t needed when sending to internal addresses but I think the way TFS was pulling the email addresses from AD had something to do with it.

6. After you are done troubleshooting remember to set the logging level to 0 in PowerShell:

# Set the setting in the collection hive.
$collectionHive.SetValue("/Service/Integration/Settings/NotificationJobLogLevel", "0");

Having to use another keyboard to unlock a secondary computer over Synergy can be annoying. Synergy let’s you unlock a secondary computer by sending CTRL + ALT + Pause/Break, however a default Windows setting prevents this from working. To allow this follow these steps.

1. Launch the local group policy editor by clicking start and enter “gpedit.msc”.

2. Navigate to Computer Configuration/Administrative Templates/Windows Components/Windows Logon Options

3. Double click “Disable or enable software Secure Attention Sequence”.

4. Check the “Enabled” box and then select “Services” from the dropdown.

5. Click OK.

Unfortunately you will not be able to lock the secondary computer with this same command. For faster locking I recommend creating a shortcut with the following target:

This can then be placed on your start bar or start menu.


Private key for yourdomain.com
SSL for yourdomain.com
Intermediate certificate from the issuing authority
Root certificate from the issuing authority

2. Save the file as “yourdomain.pem”.


openssl pkcs12 -export -in yourdomain.pem > yourdomain.p12



keytool -importkeystore -srckeystore yourdomain.p12 -destkeystore server.jks -srcstoretype pkcs12



<Connector port="8443"
sslProtocol="TLS" />




When attempting to start sites in IIS the following error was thrown:

Full error from EventID: 15005


First check to see what is listening on port 80. Open a command prompt and enter the following command:
netstat -ano | find ":80"

In this case process ID 4228 was listening on port 80. To check what this process is open task manager and locate that PID. (Note you may need to select View -> Select columns -> PID first).

It turns out a developer installed Apache which was listening on port 80 and causing a conflict. To resolve the conflict change one service to run on a different port or uninstall the unnecessary web server.

While trying to work with Microsoft Word on a server through .NET the following error was thrown:


To resolve this you will need to grant COM permissions to the user running the application pool.

1. Open up Component Services (Start -> Run -> dcomcnfg)
2. Expand Component Services -> Computers
3. Right click My Computer -> Properties

4. On the COM Security tab click Edit Default under the “Launch and Activation Permissions” section

5. Add the IIS_IUSRS group and check allow next to Local Launch and Local Activation




ERROR:Unknown error -1073738789 (c0000bdb)







2. Navigate to the following key:



4. Uninstall as normal through Programs and Features




2. Expand Component Services -> expand Computers.



5. Click Add -> Advanced -> Find Now.



8. Click OK -> OK





First check the current instance name by running these two queries:

select @@servername

Then to actually change this instance name run the following query. Make sure to update ‘old_instance_name’ and ‘new_instance_name’ accordingly:

sp_dropserver 'old_instance_name'
sp_addserver 'new_instance_name','local'

Restart the SQL service in order to apply this change. Then confirm it took effect by running the two queries mentioned above:

select @@servername