How to uninstall MSE from Windows Server 2012 R2

We recently ran into a situation where we had a Windows 2012 R2 server with Microsoft Security Essentials installed on it (from a few years ago), and now with a recent Windows Update – the Windows update will not install because MSE is no longer compatible with this OS.

The issue is that you can not uninstall MSE via the standard “add/remove” programs.  When that is attempted I get the following error:

Error Code: 0x8004FF04

At that point you’re dead in the water and can’t remove MSE.

Here’s the EASY fix:

go to

C:\Program Files\Microsoft Security Client

and RIGHT CLICK on Setup.exe

Go to Compatibility, check it and change to WIN 7.

Bring up a command prompt

Type in:

“C:\Program Files\Microsoft Security Client\Setup.exe” /disableoslimit /u

This will bring up MSE and at this point you will see an “uninstall” button.

Click Uninstall and remove it!

 

How to Migrate Office 2013 or 2016 to new computer

I recently upgraded my workstation to a new computer running Windows 10 Pro.  I needed to move over my Outlook 2016 email accounts and calendars to the new location.

 

This is a very easy process.

  1. Install Office 2013 or 2016 on the new computer.
  2. Run windows updates
  3. Make sure both computers are not currently in Outlook
  4. Copy the entire outlook data folder to your new computer.  I am not providing directions for this.  You should know what your doing here (or use google).
  5. Now you will have a copy of outlook data (PST’s) in both locations.
  6. Copy over any internet shared calendars from your old machine to the new machine.  File location is here, and it would be sitting in the root if it exists:
    1. C:\Users\{username}\AppData\Local\Microsoft\Outlook
  7. On your old machine run REGEDIT.  EXPORT this entire key which contains all your email account settings.
    1. HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\Profiles\Outlook
    2. Note: If you are on a different version of outlook the version 16.0 will be a different number.
  8. Copy that REG file to your new PC and double click and let it insert it into the registry
  9. Move over any signatures from your old computer to your new computer.  Those are located here:
    1. C:\Users\{username}\AppData\Roaming\Microsoft\Signatures
    2. Note: You probably should just copy the entire folder and paste it in the same place on your new PC.
  10. Launch Outlook on the new PC.  Pick your profile and set as default.  Then go update each accounts’ passwords.  Once you update the passwords you will be able to resume doing email exactly as you were doing it on the old PC.

 

Seagate Backup Exec 14.x reuse improperly allocated tape

Let’s say you have a DLT drive and you are running a backup job like this:

Full

Incremental

Incremental

{eject}

Next tape

etc.

Every so often, due to power outages, mistakes etc. a tape may eject out of the drive. So you pop it back in but the job won’t run, it ejects the tape and asks for a tape that is over writeable and the current tape is already (previously) allocated and you can’t use it.

There is an easy solution for this, but you’ll need to re-run your full backup job.

How to address it:

  1. With the current tape out, cancel the current job, so that the jobs re-queue as queued in the future
  2. pop the tape in
  3. go to the Storage tab, click on the DLT drive
  4. pick INVENTORY -> Inventory Now
  5. Let that complete
  6. pick Erase -> Erase now
  7. restart the FULL job and let it complete.
  8. the next incremental job will then run as scheduled and you are back on track with the backup cycle.

 

WordPress 4.x auto updates under windows

If you want your WordPress install to do auto-updates (in a Windows Server based hosting setup), you need to do one simple step.

 

Edit the hosts file.

Put a local IP in there for the domain name of the site.

Save the changes.

 

Example:

10.5.5.5  www.whatever-the-site-is.com

Re-log into WordPress and go to dashboard-updates and in there it should tell you “future updates will be automatically applied”

Why is all of this needed?  WordPress uses PHP CRON and that is reliant on the server being able to find the local website.  Therefore it is necessary to put a hard-coded IP in the hosts file so the CRON job can “see” the wordpress site.  Without the hosts entry the website will resolve to the external IP of the site, and you will have an unreachable IP issue and auto-update won’t work.

Proper FTP setup via IIS using Passive FTP

Since PASSIVE FTP seems to be a relative standard (that I experience), and since most clients don’t understand or want to use “ACTIVE” FTP, here is the easy way to configure your firewall and FTP software on an IIS machine to permit PASSIVE FTP.

Firewall Setup

You’ll need two rules and one “one to one” NAT mapping (this may vary a bit due to your firewall software).

The one to one NAT mapping needs to map the external IP address to the internal IP of the server.  Such as “66.33.123.21” mapped to “10.1.1.21”

One rule to allow the world into TCP port 21, mapped to the specific server in question.  (Allow * from ANY to 10.1.1.21 TCP port 21).

Second rule, specifically for PASSIVE FTP.  Allow * from ANY to 10.1.1.21 on ports range 50000 to 50100.

FTP Server Setup

We normally use Filezilla Server (latest version, of course).

Add a user and setup the standard settings.

Passive settings are as follows (below).

Most importantly, the “X.X.X.X” area below is your PUBLIC IP that is mapped through your firewall.

Click OK and save the settings.

FTP1

 

FTP Client Settings

Nothing fancy here, just check to make sure the settings look like this:

FTP2

Throttling bandwidth on an IIS based site

If you need to throttle (or limit) the amount of bandwidth a specific site on Microsoft Server — this is for you.  This should work with any Microsoft Server OS from 2008 to present. Open IIS. Go to the specific site in question (in the tree to left expand and click on the specific site name).

on the right side panel, click Configure — Limits.

Check “limit bandwidth usage” and type in a number.

Click OK.

limits

WordPress and Google Fonts HTTP and HTTPS error messages and resolutions…

If you are trying to deal with the dreaded insecure messages when trying to use Google Fonts on WordPress based sites, here are a few things to try. Within the specific theme folder you are using, edit the functions.php file. You want to examine the file and search/look for “googleapis”.  That should help you find the correct area of the code. In my example site (below), notice how the url is referenced as “//fonts.googleapis.com” and not as “http://fonts…”.

Make sure your theme is using just “//fonts.googleapis…” and is not hard coded to HTTP or HTTPS

// Retrieve Font URL to register default Google Fonts
function courage_google_fonts_url() {
    
 $font_families = array('Lato', 'Fjalla One');
 $query_args = array(
  'family' => urlencode( implode( '|', $font_families ) ),
  'subset' => urlencode( 'latin,latin-ext' ),
 );
 $fonts_url = add_query_arg( $query_args, '//fonts.googleapis.com/css' );
    return apply_filters( 'courage_google_fonts_url', $fonts_url );
}

 

If you make these changes and this does not help, or if you cannot locate similar code in the functions file – and you’re still getting the SSL warning messages on your site, then you’re probably at the mercy of a specific plugin, or issue with your particular theme.

Try shifting the site to a basic theme like 2015 (for a few minutes for testing…) and see if the site works fine in http/https modes with the google fonts.  If it DOES, then the issue is your theme.  Contact the theme developer or look hard through the theme code and determine where the googleapis call is.

If the theme does not seem to be the issue, then it’s probably a plugin that’s causing your issues.  If you feel brave, disable the plugins and start testing one after another to try and localize which plugin is causing the issue.  (Disable all of them. Test the site.  See if the fonts work without issue.  Enable one plugin.  Test again, enable another plugin, more testing, etc.)

Hope that helps a bit!

How to stop attacks on your site via IIS

Often we see hack-bots or other automated hacking tools crawling our sites and hammering various pages looking for vulnerabilities.  There is an easy way to put a stop to this through Microsoft IIS 7.0 (and later).

Make sure you have the “IP Address and Domain Restrictions” module loaded in IIS (if not, install it.)

Launch it and add a DENY entry.

If the attacker is coming from AAA.BBB.CCC.49, I usually put a range block in there from

AAA.BBB.CCC.0 to AAA.BBB.CCC.254

At that point I usually restart the server because I’ve noticed that these blocks do not tend to take effect until (at minimum) the whole IIS process is restarted.  Restarting the box works for me.

Attacks blocked…

eXtplorer does not allow login under PHP 5.6 and IIS Windows Server

Have you deployed out eXtplorer and received this error:

PHP Deprecated:  Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in X:\XXXXXX\WWW.AAAAA.com\www\libraries\JSON.php on line 828

it’s an easy fix.

edit the file

X:\XXXXXX\WWW.AAAAA.com\www\libraries\pear.php

edit line 247

change this:

function isError($data, $code = null)

to this:

static function isError($data, $code = null)

1 2 3 4 5 6 10