I was recently trying to Upgrade the AADconnect server to stop the high 100% CPU issues

After running the MSI . then running AzureADConnect.exe , the upgrade came up with the error

Unable to upgrade the LocalDB Sql Express database Running

I went to the event log and found the error :

Error installing msi package ‘SqlLocalDB.msi’. Full log is available at ‘C:\ProgramData\AADConnect\SqlLocalDB_Upgrade-20180813-094321.log’.

I checked through the Log and there seemed to be lots of 1603 errors

I ran the SQL Setup ( C:\Program Files\Microsoft Azure Active Directory Connect\SetupFiles\SqlLocalDB.msi ) manually and it asked if I wanted to upgrade my LocalDB from 2008 to 2012 which I said yes to 

The installer then came up with the error SQL Server 2012 Express LocalDB

Could not open key: UNKNOWN\Components\. Verify that you have sufficient access to that key, or contact your support personnel.

I ran through the workaround 1 from this guide


And then the SqlLocalDB.msi finished successfully , I was then able to run through the AzureADConnect.exe upgrade

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Sometimes people need to document of capture a facebook profile page in a point in time. Due to the way facebook only loads the current data , a file and print does not work 

The only easy way we have found to do this is the use this Chrome Add In 


If you press the Capture Icon once installed , then scroll down to the very bottom of the page ( you have to do this because the Page only loads whats on the screen ) , it saves the whole page as a single image

You can then print this Image to PDF which should divide it up into pages

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

You need to be listing on port 80 then redirect to https:// 443 , then after you can redirect non to www ( or the other way around ) for SEO

Default nginx.conf location is in /etc/nginx/

server {
#Listen on http first and redirect to https://
listen 80 default_server;
listen [::]:80 default_server;
server_name www.domain.com domain.com;
return 301 https://domain.com$request_uri;
server {
#Listen on HTTPS:// then redirect non www to www
listen 443 ssl;
server_name www.domain.com;
ssl_certificate /etc/pki/nginx/star2018.pem;
ssl_certificate_key /etc/pki/nginx/wildcard.key;
root /usr/share/nginx/html;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload";
# Set client body size to 10M.
client_max_body_size 10M;
if ($host = 'domain.com') {return 301 https://www.domain.com$request_uri;}
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location / {
        index index.php;
        try_files $uri /index.php$is_args$args;


error_page 404 /404.html;
    location = /40x.html {

error_page 500 502 503 504 /50x.html;
    location = /50x.html {
location ~ \.php$ {

        fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

         fastcgi_index index.php;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;


After saving this you need to restart nginx

sudo service nginx restart

Then use : https://hstspreload.org to test

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Recently on booting a Xseries IBM x3650 server the following error was diplayed on the bios and the server would not start

Fatal Error : Controller monitor Failed. Controller now started

This is an error on the onBoard raid controller. Reseating the memory and unplugging and plugging in the battery did not help.

In the end we had to swap the whole mainboard out. The metadata for the Raid drives is stored on disk so no data was lost 

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

After upgrading to the lastest wordpress version I was greeted with a chance to install Gutenberg Plugin

My first instinct of using this was it felt a lot like Squarespace! As a WordPress developer I have been moving some customers across to Squarespace because of the ease of design and use, not to mention its fully hosted , and updated and even come with a free domain name.

The whole editor is so much easier to write with and less technical, you can do so much now like insert tables without a plugin , Titling is now much easier to define. It feels like a huge step in the right direction

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

So you have a user who you have enabled Legal Hold on , who had gone and deleted all his emails then deleted them out of recovery bin ( e.g. Shift Delete ) 

The workflow for Exchange ( 365 ) email deletions : 

Item gets deleted and goes to deleted Items
-Items gets deleted from deleted items goes to deleted items recovery which has a default age of 14 days ( can be increased to max of 30 days )
-Items go to legal hold ( Folder called Deletions or Purges under Recoverable Items forever ( Only if it is enabled on the user account

Instead of performing a eDiscovery on the whole mailbox , downloading the PST then restoring the folder you can actually use MFCMAPI 

On a PC with Outlook installed , grant the logged in user full permission to the mailbox you want restoring ( or login as the user ) and make sure the mailbox you are trying to access is in Outlook

Install MFCMAPI and open the tool.

Go to Tools and select Options.

  • Enable the MDB_ONLINE and MAPI_NO_CACHE option. OK.
  • Go to Session and select Logon
  • Once click on Logon, it will pop-up with your configured outlook profile and choose the profile, else you can open required profile. 
  • Double Click on the profile, Expand the folder Root Container.
  • Map into Recoverable Items under the Root Container folder and expand.
  • Here, Look into Deletion and Purges only. Right click on Deletions and select open Content table.
  • If you find any deleted items, proceed step 11 to step 13. Else follow the same procedure with Purges folder.
  • Found all deleted mailbox items in Purges. Total 2119 deleted mailboxes, its appear in the bottom.
  • Review and select required deleted items to restore and copy the messages.
  • Go to Top of Information Store available in the Root Container folder. Expand the TIS folder and choose your desired path to restore deleted items.
  • If required, create sub folder in your mailbox and past the same items into sub folder. I created a sub folder (deleted) under the Sent Items.
  • Once you paste, make sure your Outlook profile is active, Wait some time to get reflected in both Outlook and OWA.

Reflected in Outlook and Outlook web access.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Avaya IP Office upgrade from R10 and above to R11

Part 1:

Either the Business Partner or Distributor log onto PLDS and access the End Users Activation record for the site they want to upgrade.

Using the Host ID is the easiest way

Or you can search on the FL ID

Once you have the record you need check the licenses under “View Summary” and make sure they are R10 and above

Next choose “Options” then “Upgrade”

Check details then click “Next”

Check all the “Qty to Upgrade” quantities match the “Avail to Upgrade” quantities. You may notice the number of licenses here do not match exactly to what they have in the Summary. That is because a lot of the existing R10 licenses can be used on the R11 systems

Choose “Request Paid Upgrade Entitlement” from the drop-down box and press “Select”

Check the “Qty Needed” and “Request Qty” match then click “Next”

Add the email/s to where you want the record sent and press “Finish”

The Upgrade Request Notification that is received has the licenses and their amounts that must be crreated in Avaya One Source for the upgrade

Part 2:

Log into Avaya One Source (A1S) and create a new quote

Choose IP Office Software Upgrade and enter the Business Partner name

Now this is where it is different. Since you are upgrading an R10 system, under existing choose R10.

The Target will automatically change to R11 and you will need to select how many nodes you are upgrading. This is determined by how many Server Edition licenses were in the Upgrade Request Notification (in this case 1). (If the upgrade is for an IP500v2 it will always be 1). Once done click “Continue”

Choose the correct Solution Type. SMB is for an IP500v2. Mid-Market is for a Server Edition. Then go to Physical Location 1.

If there is a valid IPOSS support contract in place for this site, choose “Yes”. In not it is obviously no. Enter the Host ID that this site is using

Under the “Existing” column, add the licenses as they are in the Upgrade Request Notification that was retrieved from PLDS. The “Target” column should automatically update. (Note: not all licenses are available in R11. The Avaya Softphone in this case. If you cant add it make note and advise the Business Partner). Click “Next”

If there is a valid existing support contract the support can be left at 0, otherwise add support if need be.

Save and then Configure Design and you are done. Make sure you note what IPOSS support contract is to be used when the order is placed


VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)




After installing this update on a DHCP Failover Server, Enterprise clients may receive an invalid configuration when requesting a new IP address.  This may result in loss of connectivity as systems fail to renew their leases.

This issue is resolved in KB4345418.

After installing this update, some devices running network monitoring workloads may receive the 0xD1 Stop error because of a race condition.

This issue is resolved in KB4345418.

Restarting the SQL Service service may fail occasionally with the error, “Tcp port is already in use”.

This issue is resolved in KB4345418.

When an administrator tries to stop the World Wide Web Publishing Service (W3SVC), the W3SVC remains in a “stopping” state, but cannot fully stop or be restarted.

This issue is resolved in KB4345418.


VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

365 Standards

New Users

1 ) 2fa Enabled for Users

2 ) enable Litigation Hold :
Get-mailbox -Filter {(RecipientTypeDetails -eq 'UserMailbox')} | ForEach {Set-Mailbox $_.Identity -LitigationHoldEnabled $true }
3) enable mailbox auditing 
Get-mailbox -Filter {(RecipientTypeDetails -eq 'UserMailbox')} | ForEach {Set-Mailbox $_.Identity -AuditEnabled $true}
9) Increase Deleted Items from 14 days to 30 days – 
Set-Mailbox -Identity “user” -RetainDeletedItemsFor 30

Maintenance Tasks

1) Run the Health Score in Azure
2) Failed Logins -> Compliance Center , Audit Log Search , Change Filtet to Failed
6) Check and Report on any Email Forwarders -> https://gcits.com/knowledge-base/find-external-forwarding-mailboxes-office-365-customer-tenants-powershell/
7) Check Spam Policy
  • Image links to remote sites = OFF
  • Numeric IP addresses = ON
  • URL redirect to other port = ON
  • URL to .biz or .info websites = ON
  • Empty messages = ON
  • Javascript or VBScript in HTML = ON
  • Frame or iFrame tags in HTML = ON
  • Object tags in HTML = ON
  • Embed tags in HTML = ON
  • Form tags in HTML = ON
  • Web bugs in HTML = ON
  • Apply sensitive word list = ON
  • SPF record hard fail = ON
  • Conditional sender ID hard fail = ON
  • NDR backscatter = ON
8) Check Retention Policy: Security and Compliance Center, Retention
10 ) Disable users being able to installed 3rd party Plugins : 
set-MsolCompanysettings -UsersPermissionToUserConsentToAppEnabled $false
VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Recently upgraded a IPV500 v2 phone system from Version 9 to 10 and had a phone stuck on 

Discover xxx.xx.xxx.x


To perform a reset in the Craft Menu you can try clearing the phones values so that when it establishes DHCP again it’ll point to the PBX (as long as the port its connected to has a route to the PBX).

Reboot the phone and when you see the “Press * to program” screen, press it and try entering the passcode as (CRAFT) 27238#.. Thats the default so it may not work on all phones. If it works, scroll down to “Clear values” and select it.

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)