OfficeBackgroundTaskHandlerRegistration Flashes a black CMD window every hour

This is an annoying issue I’ve been trying to find the answer to for a couple of days.

I get a quick flash on my screen with a black box which looks like a command window. I finally had this happen on a slow enough computer where I could see where it was running from. See below.

To fix this issue, do the following:

  1. Open task scheduler from the start menu
  2. Find Microsoft Office under tasks
  3. Disable OfficeBackgroundTaskHandlerRegistration

A fix from Microsoft on this issue is underway.

Accessing VMWare CLI via Lenovo IMM2 (KVM)

I’ve just recently run in to a problem trying to access ESXi’s CLI from the console using IMM2 (Integrated Management Module). The KVM seems to be intercepting commands incorrectly. This seems to be the case for a number of KVM tools.

The normal command for accessing the CLI once enabled, is to press ALT+F1. This won’t work. You will need to hold down ALT+Space, release Space and press F1 while keeping ALT held down.

ALT+Space release space ALT+F1

VMWare: Set IP Hash policy via CLI

I recently lost a host at one of my sites which have a failover policy set of IP Hash. No problem, connect a new host remotely and add it back to the network. Problem is, I cannot access this host from vCenter because of this policy. After posting on Reddit, someone gave me the following command to enter via CLI

You will need to enable the CLI from the console -> troubleshooting options.

esxcli network vswitch standard portgroup policy failover set -p "Management Network" -l iphash

Once this is set, you should now be able to see your host from vCenter.

Veeam cannot see ReFS 3.1 volumes in backup (Server 2012 R2)

We had a problem recent where Veeam 9.5 which was installed on Windows 2012 R2 trying to restore from Exchange 2016 on Server 2016 with ReFS datastores.

It turns out, Server 2012 R2 cannot recognise ReFS 3.1 which is on Server 2016. From the screenshot below, this backup is missing two drives which are ReFS:

When logging in to the Exchange server, you will see the correct drives

To fix this you really only have one option: Install Veeam B&R on Server 2016, or at the bare minimum, the mount points on Server 2016.

Once you have a Server 2016 mount point, you will be able to see the ReFS drives.

Method ‘Upgrade’ in type ‘Microsoft.SharePoint.WorkflowServices.WorkflowServiceApplicationProxy’ Sharepoint 2013 pre SP1

We have an old install of Sharepoint 2013 which has the March 2013 PU installed. A bunch of security updates slipped through which patched Sharepoint. You will get the following error:

Method 'Upgrade' in type 'Microsoft.SharePoint.WorkflowServices.WorkflowServiceApplicationProxy' from assembly 'Microsoft.SharePoint.WorkflowServices, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c' does not have an implementation.

This is apparently caused by newer security updates shipping with Sharepoint 2013 SP1 dll files. In order to fix this issue, download and install KB2880963. The install may take some time.

Installing 3CX v15 on Azure with Debian

I spent hours trying to sort out how to install 3CX on Microsoft’s Azure platform. Even though Microsoft Azure has a Debian 8.0 Jessie image, things do not quite go to plan. Also be aware, this isn’t officially supported, and as this post will show, we know why.

Here we go.

    1. Create a new Debain 8 instance in Azure. Configure this however you like.
      chrome_2016-11-18_22-50-38
    2. Once installed, SSH to your new instance.
    3. Once logged in, run the following commands:
      wget -O- http://downloads.3cx.com/downloads/3cxpbx/public.key | apt-key add -
      echo "deb http://downloads.3cx.com/downloads/3cxpbx/ /" | tee /etc/apt/sources.list.d/3cxpbx.list
      apt-get update
      apt-get install 3cxpbx

      Install all the things.

    4. Once installed, you will see the following. I suggest the web method
      putty_2016-11-18_22-53-31
    5. You will also need to open this port on Azure
      chrome_2016-11-18_22-54-47
    6. Now we are in business. BUT YOU ARE GOING TO RUN IN TO A BIG ISSUE. This is to do with the default template with the postgres database. If you don’t fix it, you will get the following error (text included for Google searches
      System.Exception: Error in CreatingCloudServerManagementDatabase.sql: 22023: new encoding (UTF8) is incompatible with the encoding of the template database (SQL_ASCII) ---> Npgsql.PostgresException: 22023: new encoding (UTF8) is incompatible with the encoding of the template database (SQL_ASCII) at Npgsql.NpgsqlConnector.DoReadMessage(DataRowLoadingMode dataRowLoadingMode, Boolean isPrependedMessage) at Npgsql.NpgsqlConnector.ReadMessageWithPrepended(DataRowLoadingMode dataRowLoadingMode) at Npgsql.NpgsqlDataReader.NextResultInternal() at Npgsql.NpgsqlDataReader.NextResult() at Npgsql.NpgsqlCommand.Execute(CommandBehavior behavior) at Npgsql.NpgsqlCommand.ExecuteScalarInternal() at PostInstall.DBConnection.ExecuteScriptInternal(NpgsqlConnection connection, String sqlQuery, IDictionary`2 parameters) at PostInstall.DBConnection.ExecuteScript(String sqlQuery, IDictionary`2 parameters) at _3CXCloudDBManager.DbConnectionExtensions.ExecuteScript(IDBConnection connection, Object configurationStructure, String scriptText, Boolean asResourceName) --- End of inner exception stack trace --- at _3CXCloudDBManager.DbConnectionExtensions.ExecuteScript(IDBConnection connection, Object configurationStructure, String scriptText, Boolean asResourceName) at _3CXCloudDBManager.CloudDBManager.CreateCloudServerManagementDatabase(IDBConnection superuser, CloudServerManagementDatabaseConfiguration configuration) at PostInstall.SetupExecutor.CreateDatabase(Action`1 stateChanged) at PostInstall.SetupExecutor.ExecuteSetup(SetupSettings setupSettings, Action`1 stateChanged) at PbxWebConfigTool.PbxSetupService.CreatePbxInternal(SetupSettings settings)

      chrome_2016-11-18_22-32-58

    7. Let’s fix this. Trying to login to psql is going to give you an error. So you need to type the following:
      sudo su - postgres
    8. Type psql and enter the followin
       UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';
      DROP DATABASE template1;
      CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE';
      UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';
      \c template1
      VACUUM FREEZE;
      \q
      

      spotify_2016-11-18_23-03-04

    9. Now run through the web setup on http://yourip:5015 and you will no longer get the error
      chrome_2016-11-18_23-04-40

If this saved you a huge amount of pain, please leave a comment 🙂

ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY Server 2016/Exchange 2016

Over the weekend I’ve been installing Microsoft Server 2016 with Exchange 2016 on top. Once my SSL certificates were loaded, I got the following error when accessing OWA

ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY

I’ve seen this before on Apache. However, I was amused that this was an issue with Server 2016 since I thought that Microsoft would have disabled the Cipher suites used which cause this error. Apparently not.

A brute-force way to quickly fix this is to disable SPDY. To do this, open up the following registry key

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Http\Paramaters

Add the following two dword keys

EnableHttp2Cleartext 0
EnableHttp2Tls 0

It should look like the following

vmware_2016-10-30_17-00-25

You can likely disable your offending cipher suites by following these guidelines.

Update 1: I solved my issue by disabling SHA and MD5 hashes on the Exchange server using IISCrypto. See below:

IIS Crypto

Chrome: Aw, Snap – Windows 10

Microsoft has released a new update. This update causes Google Chrome to produce an Aw, Snap error whenever opening Chrome. Even if you click on the settings page.

There have been fixes, such as the –no-sandbox command line. However, this isn’t a nice solution.

The best way (for now), is to set compatibility mode on all users to Windows 7.

To do this, navigate to:

  1. C:\Program Files (x86)\Google\Chrome\Application
  2. Right click on Chrome.exe and select properties.
  3. Click Compatibility
  4. Select Change Settings for All Users
    dllhost_2016-09-20_15-01-09
  5. Select Run this in compatibility mode for Windows 7
    dllhost_2016-09-20_15-02-27
  6. Click Ok

This will change the compatibility mode for all users. If you do not select all users, the setting will revert after the first time it’s run.

PHP Fatal error: Uncaught Error: Call to undefined function xml_parser_create()

I’ve recently upgraded this WordPress site to PHP7, along with Ubuntu 16. When logging in today, I received an error 500.

Looking through the /var/log/apache2/error.log I found

[Wed Sep 07 21:25:43.730755 2016] [:error] [pid 710] [client 84.247.81.102:43280] PHP Fatal error:  Uncaught Error: Call to undefined function xml_parser_create() in /var/www/tecfused.com/public_html/w               p-includes/class-IXR.php:264\nStack trace:\n#0 /var/www/tecfused.com/public_html/wp-includes/class-IXR.php(464): IXR_Message->parse()\n#1 /var/www/tecfused.com/public_html/wp-includes/class-IXR.php(432               ): IXR_Server->serve('<?xml version="...')\n#2 /var/www/tecfused.com/public_html/wp-includes/class-IXR.php(440): IXR_Server->__construct(Array, false, false)\n#3 /var/www/tecfused.com/public_html/wp-in               cludes/class-wp-xmlrpc-server.php(197): IXR_Server->IXR_Server(Array)\n#4 /var/www/tecfused.com/public_html/xmlrpc.php(84): wp_xmlrpc_server->serve_request()\n#5 {main}\n  thrown in /var/www/tecfused.c               om/public_html/wp-includes/class-IXR.php on line 264

This is because the XML module is missing. you can check this by typing php -m from the command line:

root@tecfused:~# php -m
[PHP Modules]
calendar
Core
ctype
date
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
Reflection
session
shmop
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
Zend OPcache
zlib

To fix this, type the following:

apt-get install php7.0-xml

Then

service apache2 restart

Your WordPress site should now be working. You can check your modules to make sure.

root@tecfused:~# php -m
[PHP Modules]
calendar
Core
ctype
date
dom
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zlib