Posts

Roaming for Canadians (and Americans) in Mexico

Here's the problem. Canadians like to vacation in Mexico, but the Canadian cell phone providers do not have any reasonable data plans for roaming in Mexico. Roam Mobility is advertising Mexico service now, but it's really T-Mobile roaming and is still stupid expensive. Option 1 is to get a SIM card from a local provider while you are in Mexico. If you speak spanish, this could work well for you. You'll need to find a cell phone provider, get a prepaid SIM card, and then go through the activation process. Option 2 costs you about $10 more, but they ship you the SIM card ahead of time and it's already activated. I chose option 2 which is www.mexicosimcard.com . They charge $20 for the SIM card instead of the $10 that the local provider charges. In my mind it's well worth it to have a card that just plain works. You need to have your phone unlocked to use the SIM card, but assuming that is done, all you need to do is swap out the SIM card and you're good to go. Fo...

Script to Remove Old IIS Logs

One of the ongoing issues I seem to run into is Exchange servers running low on disk space for the C: drive. When this happens messages stop flowing because Exchange doesn't want to run out of disk space. Much of the time, the disk space on C: is being eaten up by IIS logs. IIS does not have any functionality to automatically delete old logs. So, I've seen servers with years of logs stored in C:\Inetpub\Logs\. Here is a script that you can schedule as a task to remove old IIS log files: # Adjust these two variables $iisLogDir = "C:\inetpub\logs" $deleteAfterDays = 14 #calculate date for deletion $removeDate = (Get-Date).AddDays(-$deleteAfterDays) #Delete Files Get-ChildItem -Path $iisLogDir -Recurse -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $removeDate } | Remove-Item -Force This calculates the age of the file based on the creation time. If you want it to be based on modified time use $_.LastWriteTime instead. The Where-Object command uses !$_...

Elevate to Administrator from a PowerShell Script

I haven't tested it out yet, but here is a link to code that will raise the prompt to admin credentials if you didn't when you started it: https://gist.github.com/fearthecowboy/0781e8914ad9b3a1b104

Unhealthy Directory Synchronization Notification - Expired Credentials

Image
As you may be aware, when there are issues with Dirsync connecting to O365, you get an Unhealthy Directory Synchronization Notification email. The email doesn't provide any information other than to check the event logs. I got this notification for my test environment recently. I happened to have the Synchronization Service Manager (miisclient.exe) open on my Dirsync server and looked in there first. The Active Directory Connector had a status of Success, which is expected. So, all good on the local side. However, the Windows Azure Active Directory Connector had a status of "stopped-extension-dll-exception". The Application event log gave more information: Directory Synchronization, Event ID 115 - Access to Windows Azure Directory has been denied Directory Synchronization, Event ID 0 - Update your password and try again Directory Synchronization, Event ID 655-  Failed credential provisioning ping The cause of my error was an expired password on the account I was using for...

Updated Exchange Online Protection Addresses - Jan 2015

Microsoft has indicated that they are going to be updating the Exchange Online Protection addresses in January 2015. Here is a link with the new IP addresses: http://technet.microsoft.com/en-us/library/dn163583%28v=exchg.150%29.aspx What does this mean to you? Well, these are the outbound addresses from EOP to your on premises email system. So, if you are using EOP for your on-premises email system, you need to ensure that your firewall is updated to allow traffic from these IP addresses to your on-premises email system. Also, it is not explicitly stated, but I would be concerned that mailflow for hybrid environments will be affected. So, it may be necessary to go into the receive connector used for hybrid mailflow and allow these IP addresses there also. I'll try to check on my hybrid system when the changes go into effect in January and update this post.

Terminal Services Device Redirector Missing

We have a client using SBS 2008 that is unable to use printer redirection to print locally when connected to the server via RDP. Printer redirection is basic functionality in RDP and normally works without any setup at all. We took over maintenance on this server from another organization about 4 years ago, but never had any need to test or use printer redirection until recently. After taking a look at the event logs, we saw EventID 1103 for Microsoft-Windows-TerminalServices-Printers with the following message: An internal communication error occurred.  Redirected printing will no longer function for a single user session.  Check the status of the Terminal Services Device Redirector in the System folder of Device Manager. The Terminal Services Device Redirector is a device driver that is responsible for printer redirection. On this server, the Terminal Services Device Redirector did not exist in Device Manager. So, we need to install it. Conveniently, several web sites provid...

Outlook 2013 - Constant restarts required

Image
During a recent migration from Exchange 2007 to Exchange 2013, we ran into an issue that I was unaware of. Outlook 2013 was popping up multiple times per day with the following message: The Microsoft Exchange administrator has mad a change that requires you to quit and restart Outlook. After doing some research this appears when the default public folder database for a Mailbox database is set to a non-existent public folder database. In our scenario, we removed Exchange 2007 public folders after introducing Exchange 2013. Consequently, the Exchange 2013 databases were configured to use the Exchange 2007 public folder database as default. After removing the Exchange 2007 public folder database, the Exchange 2013 database were still configured to use the deleted public folder database that was now in deleted objects. This issue seems to be specific to Outlook 2013 and Exchange 2013 CU5. I have not applied CU6 because there are known compatibility issues with Exchange 2007 coexistence for...