Resolve Cloudflare warning about exposed IP

When setting-up DNS entries for a website on Cloudflare, the website displays the following warning when adding an MX record:

The fix is to not use Cloudflare’s server for the A record that the MX record references:

Warning message presented by Cloudflare:

This record is exposing your origin server’s IP address, potentially exposing it to denial of service.

Advertisement

Reset LEDE/OpenWRT using Failsafe boot mode

I had just installed OpenWRT and was making changes (of course without reading the documentation) when I had changed the networking settings losing access to the router’s interface.

Fortunately OpenWRT provides a way to recover according to OpenWRT’s website: “LEDE allows you to boot into a failsafe mode that overrides its current configuration. If your device becomes inaccessible, e.g. after a configuration error, then failsafe mode is there to help you out. When you reboot in failsafe mode, the device starts up in a basic operating state, with a few hard coded defaults, and you can begin to fix the problem manually.”

First, thing is to set your computer’s IP address to something like 192.168.1.2. The router will use 192.168.1.1 when booted in Failsafe mode.

Then connect the computer to the router’s WAN port.

Now the hard part. According to the documentation the router’s LEDs will display a moderate 0.1 second blinking rhythm during those two seconds, when router waits for user to trigger the failsafe mode. After plugging in the router I just guessed at when the 2-second window arrived and pressed the QSS/WPS button. After which the SYS LED started blinking rapidly.

Back on the computer I SSH’d to the router using root@192.168.1.1 for the username and address. There is no password for root.

joey@HAVEN-E6520 ~ $ ssh root@192.168.1.1
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
RSA key fingerprint is SHA256:PAkYhCNr1sBDT/ADAn/iPh3ztT1yvlgR+RTHYVM0/fA.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.1' (RSA) to the list of known hosts.

BusyBox v1.25.1 () built-in shell (ash)
     _________
    /        /\      _    ___ ___  ___
   /  LE    /  \    | |  | __|   \| __|
  /    DE  /    \   | |__| _|| |) | _|
 /________/  LE  \  |____|___|___/|___|                      lede-project.org
 \        \   DE /
  \    LE  \    /  -----------------------------------------------------------
   \  DE    \  /    Reboot (17.01.4, r3560-79f57e422d)
    \________\/    -----------------------------------------------------------

================= FAILSAFE MODE active ================
special commands:
* firstboot	     reset settings to factory defaults
* mount_root	 mount root-partition with config files

after mount_root:
* passwd			 change root's password
* /etc/config		    directory with config files

for more help see:
http://wiki.openwrt.org/doc/howto/generic.failsafe
=======================================================

=== WARNING! =====================================
There is no root password defined on this device!
Use the "passwd" command to set up a new password
in order to prevent unauthorized SSH logins.
--------------------------------------------------
root@(none):~# 
root@(none):~#

Because I had just installed OpenWRT I decided to just reset the router and start over. To do this I just entered the command firstboot and hit enter.

TP-LINK 300M Wireless N Gigabit Router
Model No. TL-WR1043ND
https://wiki.openwrt.org/doc/howto/generic.failsafe
https://openwrt.org/docs/guide-user/troubleshooting/failsafe_and_factory_reset
https://openwrt.org/toh/tp-link/tl-wr1043nd#installation

Transfer files using Bluetooth in Linux Mint

On Linux computer make sure Bluetooth is enabled and is discoverable. I’m running Linux Mint 18.2 using Blueman package.

From the Bluetooth applet open devices. This is not necessary to pair the device but, is helpful to have open. This will display all the devices already paired with the computer.


On the phone the computer should be listed under Available Devices if the computer is discoverable. If it is not listed press Scan on the phone.

Tap the device that represents the computer. The phone will display a message about confirming the passkey for pairing.

A message will appear on the computer prompting you to confirm. This is not readily apparent and the message is not displayed for long. Click on the word Confirm to allow the pairing. The phone will display the key icon indicating it is paired.

On the phone the computer will be listed under Paired Devices.

On the computer trust the phone to allow receipt of files from the paired device.

Now that the phone and computer are paired we can trasnfer files between them. In this example I am going to transfer pictures from the phone to the computer. Starting the Gallery app select the pictures to transfer and tap Share. The following screen appears where Bluetooth is an option.

After tapping Bluetooth this screen appears where you select the Bluetooth device to receive the files. Tap the paired device that represents the computer.

The phone will start transferring the files to the computer.

In Linux Mint a notification will display stating that a file is being received from the phone.

Bluetooth is configured on my computer to put received files in the Downloads folder. Opening the Downloads folder shows the new files received from the phone.

To change the location where received files are saved click on View in Bluetooth Manager and select Local Services. Then change the location under Incoming Folder.


How to format SD card on Linux Mint

When an SD card is inserted into a computer running Linux Mint the card is automatically mounted and an icon is displayed on the desktop. Using this icon you can view and modify files. It also would appear that you could format the card as well by right-clicking on the icon.

When the option to Format is selected a dialog box to format the card is displayed but, the button to Format is not clickable:

The trick is to use the Disks utility to format the partition on the card. First, open the Disks utility:

Next, select the SD card on the left then click the gear icon under the partition on the SD card:

Then select Format… from the context menu:

Now a dialog box is displayed with the Format button enabled. Provide a name then click the button Format:

The next window is confirming your actions. Click Format to begin formatting the partition on the card:

That’s it!

Note: if you click the single gear icon at the top-right corner (near the SD card’s name) the same dialog box will be displayed. It will appear to format the card but, it doesn’t. You have to format the partition on the card.

Default Font Color Test

WordPress default for this theme:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris nec augue euismod, vehicula dolor ut, lobortis orci. Aenean et nibh lacus. Proin diam leo, euismod vel imperdiet in, accumsan vel eros. Fusce condimentum dictum ultricies. Nam massa dui, varius in nisi vel, mollis blandit sapien. Nulla convallis mauris mi, fermentum lacinia ipsum venenatis ac. Morbi a vehicula turpis. Ut tempus orci quis ex pretium tincidunt. Etiam vel metus in leo ultrices pellentesque.

Cras hendrerit lacus erat, non placerat mauris ullamcorper sed. Ut laoreet, magna ornare efficitur pretium, massa justo mollis risus, ac suscipit felis ante aliquet ante. Donec eu volutpat eros. Nulla iaculis, libero sed dictum pretium, purus tortor aliquet elit, in lacinia augue nulla et urna. Suspendisse lacinia diam eu feugiat elementum. Vivamus feugiat felis mauris, vitae faucibus metus consectetur maximus. Proin lobortis pretium erat non tincidunt.

Font using in-line CSS:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris nec augue euismod, vehicula dolor ut, lobortis orci. Aenean et nibh lacus. Proin diam leo, euismod vel imperdiet in, accumsan vel eros. Fusce condimentum dictum ultricies. Nam massa dui, varius in nisi vel, mollis blandit sapien. Nulla convallis mauris mi, fermentum lacinia ipsum venenatis ac. Morbi a vehicula turpis. Ut tempus orci quis ex pretium tincidunt. Etiam vel metus in leo ultrices pellentesque.

Cras hendrerit lacus erat, non placerat mauris ullamcorper sed. Ut laoreet, magna ornare efficitur pretium, massa justo mollis risus, ac suscipit felis ante aliquet ante. Donec eu volutpat eros. Nulla iaculis, libero sed dictum pretium, purus tortor aliquet elit, in lacinia augue nulla et urna. Suspendisse lacinia diam eu feugiat elementum. Vivamus feugiat felis mauris, vitae faucibus metus consectetur maximus. Proin lobortis pretium erat non tincidunt.

PDF files not included in Windows Search on Windows 7 and 8

As you probably know searching is the most efficient way to find documents, applications, and settings in Windows 7 and 8. By clicking on the Start button and typing you can quickly find files containing specific text and phrases.

The mechanism that allows this is Windows Search that runs as a Windows service. Windows Search has it’s roots in the Indexing Service that first appeared in NT4 and Internet Information Services (IIS). Indexing involves building a catalog (index) that contains the meta-data for files and applications. The meta-data is retrieved via plugins called IFilters.

Windows Search by default includes IFilters for common filetypes, including Word documents, Excel spreadsheets, PowerPoint presentations, HTML files, text files, MP3 and WMA music files, WMV, ASF and AVI video files and JPEG, BMP and PNG images. PDF files are indexed by Windows Search using an IFilter installed automatically when Adobe Reader is installed. However, on 64-bit versions of Windows the IFilter is not installed and the Indexing Service is unable to parse and index these files. Fortunately, the fix is easy and can be done without a reboot.

First, to confirm the IFilter is not installed you need to open Indexing Options in the Control Panel. To do this click on Start and enter the text index. Windows will search for anything with “index” and display the Control Panel option Indexing Options.

Search for Indexing Options

When selected the Indexing Option window appears. This window tells you the status of the Indexing Service, the number items in the catalog, and the options to add or remove search locations. In the following example my computer has indexed 12,033 items.

Indexing Options before installing the PDF IFilter

Click on the button Advanced and then click on the tab File Types. Scroll down to the PDF extension. If the IFilter has not been installed the filter description will state Registered IFilter is not found as in the following screenshot:

Missing IFilter in Indexing Options

After confirming the IFilter is missing you can close the Indexing Options window and download Adobe’s IFilter for 64-bit Windows. The current version as of the time of this writing is PDF iFilter 64 11.0.01 and can be downloaded from Adobe’s HTTP site or FTP site.

Once downloaded, you can install it using an elevated command prompt (run Command Prompt as administrator) with the following command:

msiexec /i “C:\Install\PDFFilter64Setup.msi” REBOOT=R /qb /L*v c:\temp\install_ifilter.log

After the installation completes go back into Indexing Options and confirm the IFilter was installed and registered. The following screenshot shows that the Indexing Service will use an IFilter named “PDF Filter”.
Installed IFilter

Now, all that is left to do is to rebuild Windows Search index. Click on the Index Settings tab and then on the button labeled Rebuild.
Rebuilding Windows Search index

After clicking the Rebuild button Windows will display a warning, click OK to start the rebuild.
Rebuild warning

The status of the rebuild can be monitored on the Indexing Options window. While you are using your computer Windows will reduce the speed of the indexing operation.

Eventually (within an hour or two, depending on size of catalog) the index will be rebuilt and now contain search items from PDF files. On my computer the number of indexed items increased to 40,913.
Indexing Options

List Mailboxes in Exchange 2010 using Powershell

This will list user mailboxes – mailboxes that are not resource mailboxes (rooms, calendars, etc.).

Does not work cannot match on actual word “False” (or “True”):

get-mailbox -resultsize unlimited | where { $_.IsResource -eq ‘False’ } | select Alias, Name, IsResource, IsMailboxEnabled | ft -auto

Instead you must match on the results of the evaluation:

get-mailbox -resultsize unlimited | where { $_.IsResource -eq $False } | select Alias, Name, IsResource, IsMailboxEnabled, OrganizationalUnit | ft -auto

Get number of user mailboxes:

$c = get-mailbox -resultsize unlimited | where { $_.IsResource -eq $False } | select Identity
$c.count

Google humor: shut your piehole!

I was reading the documentation for using Google’s Chart features – specifically the how to create a donut chart documentation. It was all pretty routine boring documentation until the last sentence.

These little jokes are one thing I have always liked about Google! For what’s worth I am probably not going to use Google Charts. I had an internal app that used Google Charts to generate a QR code. Unfortunately, Google decided to stop supporting the generation of QR codes and have deprecated this feature. It looks like I am going to go with Flot.

PowerShell E2010 is not installed on this machine

After applying an update roll-up to Exchange 2010 server I ran into a problem when running the powershell script UpdateCas.ps1. This is the script updates the OWA site in IIS to fix the error where OWA could not initialize (usually with the error Couldn’t find a base theme (folder name=base)). It appears this script must be run each time Exchange is updated.

Unfortunately, when I tried to run the script in EMS I received the following error:

[PS] C:\Users\Administrator.000>cd “C:\Program Files\Microsoft\Exchange Server\V14\Bin”
[PS] C:\Program Files\Microsoft\Exchange Server\V14\Bin>UpdateCas.ps1
Add-PSSnapin : The Windows PowerShell snap-in ‘Microsoft.Exchange.Management.PowerShell.E2010’ is not installed on this machine.
At C:\Program Files\Microsoft\Exchange Server\V14\bin\UpdateCas.ps1:36 char:13
+ add-PSSnapin <<<< -Name Microsoft.Exchange.Management.PowerShell.E2010
+ CategoryInfo : InvalidArgument: (Microsoft.Excha…owerShell.E2010:String) [Add-PSSnapin], PSArgumentException
+ FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand
[10:00:01] ***********************************************
[10:00:01] * UpdateCas.ps1: 10/26/2014 10:00:01 AM
[10:00:04] Updating OWA/ECP on server DELLR710
[10:00:04] Finding ClientAccess role install path on the filesystem
[10:00:05] Updating OWA to version 14.3.174.1
[10:00:05] Copying files from 'C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\owa\Current' to 'C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\owa\14.3.174.1'
[10:00:11] Found 1 OWA virtual directories.
[10:00:11] Updating OWA virtual directories
[10:00:11] Processing virtual directory with metabase path 'IIS://DELLR710.AP.local/W3SVC/1/ROOT/owa'.
[10:00:11] Creating metabase entry IIS://DELLR710.AP.local/W3SVC/1/ROOT/owa/14.3.174.1.
[10:00:11] Configuring metabase entry 'IIS://DELLR710.AP.local/W3SVC/1/ROOT/owa/14.3.174.1'.
[10:00:11] Saving changes to 'IIS://DELLR710.AP.local/W3SVC/1/ROOT/owa/14.3.174.1'
[10:00:11] Saving changes to 'IIS://DELLR710.AP.local/W3SVC/1/ROOT/owa'
[10:00:11] Update OWA done.
[10:00:11] Updating ECP to version 14.3.174.1
[10:00:11] Copying files from 'C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\ecp\Current' to 'C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\ecp\14.3.174.1'
[10:00:12] Update ECP done.
Remove-PSSnapin : No Windows PowerShell snap-ins matching the pattern 'Microsoft.Exchange.Management.PowerShell.E2010' were found. Check the pattern and then try the command again.
At C:\Program Files\Microsoft\Exchange Server\V14\bin\UpdateCas.ps1:154 char:16
+ remove-PSSnapin <<<< -Name Microsoft.Exchange.Management.PowerShell.E2010
+ CategoryInfo : InvalidArgument: (Microsoft.Excha…owerShell.E2010:String) [Remove-PSSnapin], PSArgumentException
+ FullyQualifiedErrorId : NoPSSnapInsFound,Microsoft.PowerShell.Commands.RemovePSSnapinCommand

The update removed the E2010 and Support keys from the registry that the EMS was trying to call. Apparently Microsoft doesn’t want you running EMS scripts at the server. Instead we should be running them from a remote workstation. To see which plugins were available I ran the following command:

[PS] C:\Program Files\Microsoft\Exchange Server\V14\Bin>Get-PSSnapin –Registered
Name : Microsoft.Exchange.Management.PowerShell.Setup
PSVersion : 1.0
Description : Setup Tasks for the Exchange Server

Name : Windows.ServerBackup
PSVersion : 2.0
Description : This Windows PowerShell snap-in for Windows Server Backup contains cmdlets used to configure, run, and manage backups.

According to the command only two plugins have been installed. Fortunately the fix is easy – two keys need to be added to the registry. The two plugins that need their information added to the registry are Admin Tasks for the Exchange Server and Support Tasks for the Exchange Server. You can export the keys from a working Exchange server or you can create .reg files using the Pastebins below and merge the files.

Create two registry files by copying and pasting the code from Pastebin and then merge them by right-clicking on each one and selecting Merge. There is no need to reboot or restart Exchange services.
Merging registry packages

Now, when the Powershell script is run it completes without error:

[PS] C:\Program Files\Microsoft\Exchange Server\V14\Bin>UpdateCas.ps1
[10:48:17] ***********************************************
[10:48:17] * UpdateCas.ps1: 10/26/2014 10:48:17 AM
[10:48:17] Updating OWA/ECP on server DELLR710
[10:48:17] Finding ClientAccess role install path on the filesystem
[10:48:17] Updating OWA to version 14.3.174.1
[10:48:17] Copying files from ‘C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\owa\Current’ to ‘C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\owa\14.3.174.1’
[10:48:18] Found 1 OWA virtual directories.
[10:48:18] Updating OWA virtual directories
[10:48:18] Processing virtual directory with metabase path ‘IIS://DELLR710.AP.local/W3SVC/1/ROOT/owa’.
[10:48:18] Metabase entry ‘IIS://DELLR710.AP.local/W3SVC/1/ROOT/owa/14.3.174.1’ exists. Removing it.
[10:48:18] Creating metabase entry IIS://DELLR710.AP.local/W3SVC/1/ROOT/owa/14.3.174.1.
[10:48:18] Configuring metabase entry ‘IIS://DELLR710.AP.local/W3SVC/1/ROOT/owa/14.3.174.1’.
[10:48:18] Saving changes to ‘IIS://DELLR710.AP.local/W3SVC/1/ROOT/owa/14.3.174.1’
[10:48:18] Saving changes to ‘IIS://DELLR710.AP.local/W3SVC/1/ROOT/owa’
[10:48:18] Update OWA done.
[10:48:18] Updating ECP to version 14.3.174.1
[10:48:18] Copying files from ‘C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\ecp\Current’ to ‘C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\ecp\14.3.174.1’
[10:48:19] Update ECP done.
[PS] C:\Program Files\Microsoft\Exchange Server\V14\Bin>

The following image shows the two new entries for the missing plugins in the registry:
Registry

Registry code for Support Tasks on Pastebin
Registry code for Support Tasks on Pastebin

IIS: Cannot add duplicate collection entry

Running IIS 7.5 (Windows 7) on a development machine when I visit a site I have been working on and get the following error:

What?!? This was working just the other day and I hadn’t changed anything on this site. In fact, this site is just a vanilla WordPress site used for documentation. Other than a child theme there is no coding work done here.

So, I open up IIS and attempt to view the properties for this site and I am greeted with this error:

Ok this helps, there is a problem with the web.config file, having to do with default documents. I remember making a change in IIS recently with default documents. The problem is on line 6 of the web.config file so lets go look at that.

Not much here – were just adding a “index.php” as a default document to this site. Now, I know what is going on. When I setup PHP on this machine I added “index.php” to the list of the default documents for the site I was working on at that time. As I created new sites I added “index.php” as a default document local to the site.

A couple of days ago while adding another site and decided instead of adding “index.php” to the local site’s default documents I would add it to the IIS server’s list of default documents. This would be inherited by all the sites.

There it was I created a situation where the server had a default document of “index.php” and I had a site with a web.config file where I was attempting to add another default document of “index.php” – a duplicate collection entry.

Since, the addition of a default document was the only thing in the web.config the fix was simple – delete the web.config file (I renamed it to test before deleting). After deleting the web.config file IIS was able to display the site’s properties without error:

Viewing the default document properties for the site showed “index.php” was still a default document and it was inherited from the IIS server.

Yes, 4G hotspot works when call received

This is a quick video I made to show that while using the hotspot feature on a Verizon HTC Incredible 4G phone you can still browse the Internet when a phone call is received. We’ve got an employee who is adamant that this is does not work.

Turns out the problem my user had was with an iPhone 5. We’re a Windows shop and he insisted on getting an iPhone.

 

Set Out-of-Office in Exchange using Powershell

The Powershell script below can be used to set the out-of-office auto-reply message for a specific mailbox from a workstation.


# start remote session from workstation
$s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://MyExchangeServer/PowerShell/ -Authentication Kerberos
Import-PSSession $s

# enable Out of Office reply
$mbox = 'JCDough'
$internal = 'I am currently out of office and unable to return phone calls and emails. Please contact your TAS Specialist and or someone else on the TAS team with any immediate concerns. Thanks!'
$external = 'I am currently out of office and unable to return phone calls and emails. Please contact your account manager with any immediate concerns and we will make sure your taken care of. Thanks!'
Set-MailboxAutoReplyConfiguration $mbox -AutoReplyState enabled -ExternalAudience all -InternalMessage $internal -ExternalMessage $external

# Disable Out of Office reply
$mbox = 'JCDough'
Set-MailboxAutoReplyConfiguration $mbox -AutoReplyState disabled

References:
https://blogs.technet.microsoft.com/samdrey/2013/07/15/exchange-2010-enabling-an-autoreply-message-out-of-office-using-the-exchange-management-shell-powershell/

How to re-enable Recovery Media creation on Lenovo T530

I had to restore a Lenovo T530 laptop running Windows 8 back to Windows 7. I tried to use the recovery media that I put on an SD card but, the laptop couldn’t boot from the SD card. So, I decided I would just recreate the recovery media using DVDs.

I went to another T530 laptop running Windows 7 to create the recovery media but, was presented with the following message:

You can have only one copy of the Microsoft Windows operating system.
The Product Recovery Media Creator will exit now.

Apparently, I had already created recovery media from this machine. Setting aside the stupidity of this tactic or it’s implied meaning (creating recovery media = piracy), I needed to trick this machine into letting me do this.

A quick Google search shows just how common this problem is and fortunately a fix. Unfortunately, many of the results are for older Thinkpads that reference a file that no longer exists. Fortunately, the latest fix was found in this forum post on superuser.com.

To fix, just run this command from a CMD prompt:

echo 0 > Q:\FactoryRecovery\RECOVERY.INI:Done

After running go back into ThinkVantage Tools and retry creating recovery media – it should work.

Fullshot tip: reassign Hotkeys

I have been using Fullshot from Inbit for years and one thing that always got under my skin was not being able to remember the hotkey combination for certain types of captures. It would be really cool if you could hover over the “SWORD” buttons to get a hint with the Hotkey but, you cannot.

However, I have found one way to remember the hotkey combination is to reassign the hotkeys to match the SWORD order for the buttons. In other words 1 = S, 2 = W, 3 = O, and so on. To change the key assignments in Fullshot go to Options > Capture Settings…

Now, all I have to do is count to the letter I want. For example, if I want to capture the Region, I count to the “R” in “SWORD” which is 4. Therefore, the hotkey combination is CTRL+4

Repairing Exchange Discovery Mailboxes

I went to perform a Discovery Search on our Exchange 2010 server for the first time since installing the server. Naturally, there was a problem. When trying to create a search using the Exchange Control Panel (ECP) the response was an error and the search could not be saved. My first thought was to make sure the arbitration accounts were setup and had the correct permissions. So, in the Exchange Management Shell I ran the command get-user -arbitration which showed the system mailboxes were in an inconsistent state:

This fix for this problem is to delete the system accounts and recreate them. The following steps are what I did to recreate the system accounts.

  1. In Active Directory Users and Computers delete the following accounts:
    • FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042
    • SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}
    • SystemMailbox{1f05a927-f5af-4646-bf20-4a3a41282c07}
      NOTE: The last account may be different but, should start with “1f05a927”
  2. Open a Command prompt change directory to the setup files for Exchange. On my server this was located in:
    C:\Program Files\Microsoft\Exchange Server\V14\Bin
  3. Run the command: setup.com /preparead. This will recreate the system accounts.
  4. In the Exchange Management Shell run the following commands:
    • Enable-Mailbox –Arbitration –Identity “FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042”
    • Enable-Mailbox –Arbitration –Identity “SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}”
    • Enable-Mailbox –Arbitration –Identity “SystemMailbox{1f05a927-f91e-4cc2-b79a-00f3c790c250}”
      Note: last account name will be different. Copy-and-paste name from AD Users and Computers.
  5. Still in the EMS run the following commands to set the display name and quota on the Federated mailbox:
    • Set-Mailbox –Arbitration –Identity “SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}” –DisplayName “Microsoft Exchange”
    • Set-Mailbox –Arbitration –Identity “FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042” –ProhibitSendQuota 1MB

After rebuilding the accounts the commands get-user -arbitration and get-mailbox -arbitration should report no errors:

The complete error I was encountering was:

[PS] C:\Program Files\Microsoft\Exchange Server\V14\Scripts>get-user -arbitration
Name RecipientType
—- ————-
SystemMailbox{1f05a927-f5af-4646-bf20-4a3a4128… UserMailbox
WARNING: The object AP.local/Users/SystemMailbox{1f05a927-f5af-4646-bf20-4a3a41282c07} has been
corrupted, and it’s in an inconsistent state. The following validation errors happened:
WARNING: Database is mandatory on UserMailbox.
WARNING: Database is mandatory on UserMailbox.
SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d82… UserMailbox
WARNING: The object AP.local/Users/SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9} has been
corrupted, and it’s in an inconsistent state. The following validation errors happened:
WARNING: Database is mandatory on UserMailbox.
WARNING: Database is mandatory on UserMailbox.
FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa… UserMailbox
WARNING: The object AP.local/Users/FederatedEmail.4c1f4d8b-8179-4148-93bf-00a95fa1e042 has been
corrupted, and it’s in an inconsistent state. The following validation errors happened:
WARNING: Database is mandatory on UserMailbox.
WARNING: Database is mandatory on UserMailbox.

Additional Resources:

http://social.technet.microsoft.com/wiki/contents/articles/5317.recreate-and-enable-missing-arbitration-user-accounts-and-mailboxes-in-exchange-server-2010.aspx

Block Google ads in AdBlock Plus

Recently, it has come to light that the developers of the super popular Firefox plugin AdBlock Plus have been taking money by some sites to exempt their ads from being blocked. Probably, the most notable contributor to the plugin developers is Google. The reasons and ramifications have been discussed on several sites like TechCrunch, The Verge, and at Search Engine Watch.

Fortunately, this behavior can be reversed by changing the settings in the AdBlock Plus plugin. The following depicts how:

That’s it! Browsing bliss restored.

It is easy to get angry that such a useful plugin is being eroded due to companies with deep pockets but, we (me and you) have to ask ourselves “how much did we pay for the plugin?” It would not surprise me if in a couple of years the option to block the whitelisted ads will disappear. However, it is my hope that there will be an option to donate to a small amount (5.00 – 10.00 per year) to enable to ability to block whitelisted ads.

 

 

Check php.ini for syntax errors

In the middle of setting-up a new webserver on a Windows Server 2008 machine using IIS7 and PHP 5.4 I ran into a problem that had me stumped for a short time. Though not something that is done frequently setting-up PHP on a Windows server is something that I am well-versed in doing. I know of the most common stumbling blocks and how to get around them – especially on Windows machines.

A common issue for those new to PHP is the php.ini file. Most problems can be attributed to editing the wrong one (albeit a more common problem years ago). This morning I was editing the php.ini on my new server using my normal routine: copy the supplied production version, open the php.ini file on my existing server, and making the new version match as close as possible. The only problem was it appeared the PHP was ignoring the timezone setting in the PHP.

Warning: phpinfo(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone ‘UTC’ for now, but please set date.timezone to select your timezone. in C:\Websites\AP-WWW\pinfo.php on line 2

I was willing to ignore this warning for the time being but, I was also experiencing a problem with MySQL. I was getting the following error: Fatal error: Call to undefined function mysql_connect(). I checked the usual cause – the location of the php.ini file and made sure I was editing the correct file:

I checked the file permissions, folder permissions, rebooted the server, etc. No matter what I did I kept getting the warning that PHP was assuming UTC for the timezone and displayed the lack of a setting for date.timezone in the php.ini file:

The most common cause I could find was to a misspelling of the timezone or using quotes on the line in the php.ini file. This seemed unlikely since I had copied-and-pasted the value from PHP.net’s website and from the php.ini file from my current PHP server.

Fortunately, the source of my frustration was easily identified when I went to compare the information by phpinfo() in a browser to the information displayed in the PHP CLI. From a DOS command window I ran the command php -i which displayed the following error:

When I looked at line 810 of the php.ini file I immediately saw the problem on line 809:

Fixing the error on line 809 and restarting IIS allowed PHP to recognize the timezone setting and eliminated the error connecting to MySQL: