Login Form

We have a few clients on Office 365 all of which have been upgraded to the new version, which is being rolled out to everyone this year.

One client asked us to remove the forwarding of email from one mailbox to another, easy you would think....

We logged in to the Office 365 Exchange Control Panel and checked the fowarding on the mailbox, nothing set:

So we fired up a PowerShell

$LiveCred = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange
 -ConnectionUri https://ps.outlook.com/powershell/
 -Credential $LiveCred -Authentication Basic –AllowRedirection
Import-PSSession $Session

Then checked the mailbox

Get-Mailbox UserMailbox

Sure enough it had an ForwardingSmtpAddress set which wasn't appearing in the Exchange Control Panel, furthermore trying to clear the options in the ECP caused it to moan, so back to PowerShell to clear it

Get-Mailbox <user's mailbox> | 
 Set-Mailbox –ForwardingAddress $null –ForwardingSmtpAddress $null
 
Published on Tuesday, 21 May 2013 09:54

In between moving to our new larger premises I thought I'd find time to migrate some virtual machines from Citrix XenServer 5.6 to Microsoft Hyper-V 2012, lowering costs and improving performance, this turned out to be relatively painless.

Step 1 - Build a Windows Server 2012 Hyper-V

I've got two HP ProLiant with a single RAID5 volume of 8x300GB giving just shy of 2TB storage, 72GB of RAM and 2 6 Core Xeon 2.67GHz processors giving 25 logical processors, not a bad bit of kit at all, one will be live the other will be configured with Hyper-V replica.

Started off by installing Windows Server 2012, configured a team of 6 gigabit network adapters, installed Hyper-V role, Windows Backup and BitLocker.  This allows us to backup from the host to externally attached encrypted storage, Windows backup in 2012 is child aware so my newer guests will use the child snapshot the older ones will have to use saved state.

 

Step 2 - Migrate XenServer Guests

Next I installed XenCenter on the host and shutdown the guest servers and used the Export Appliance Tool

This allows you to export the guests to OVF Appliances, which comprise of a VHD and a configuration file.  I exported these to a temporary storage location as the next step was converting the VHDs to VHDX files.

Step 3 - Convert VHDs and create VMs

Once the export had finished I converted the VHD files to VHDX and created virtual machines for each of the guests I'd exported.  Once created I booted up each guest, removed the 'Citrix Tools for Virtual Machines' and installed the Hyper-V Integration Services.

Summary

There were some hurdles to jump in the process, at one point the Citrix XenServer disk space filled up and I got "The underlying Xen API is not running. This console will have reduced functionality. Would you like to attemt to restart xapi?" which was rather worrying, but issuing a DF -h in Linux highlighted the lack of space and I was then able to mount a USB drive and MoVe the log files from /var/log, reboot and all was well, phew!!

Overall though the process was fairly painless, just took some time to export the 1.5TB of data and convert it.  The cost saving from switching to Hyper-V in conjuction with the improved features are going to be a winner.

Now I better finish moving offices :)

Published on Sunday, 21 April 2013 10:19

This problem has cropped up a few times recently.

When using an iOS Device (iPhone/iPad etc) to connect to a Microsoft Exchange Server, sometimes the device will report an incorrect number of Unread Messages.

The following instructions are to clear the incorrect Unread Message Count when running iOS v6.

Open Settings
Select Mail, Contacts, Calendars
Select Exchange (or the name of the account)
Turn mail OFF
Select Done
Reboot the phone
Open Settings
Select Mail, Contacts, Calendars
Select Exchange (or the name of the account)
Turn mail ON
Select Done
Exit Settings
Open Mail
Force a sync by dragging Inbox contents down

Published on Tuesday, 09 April 2013 12:28

Ooooh this will be an interesting read

http://blogs.technet.com/b/virtualization/archive/2013/04/01/multi-tenant-disaster-recover-solution-using-windows-server-2012.aspx

This was one of the areas I was really looking forward to in Windows Server 2012 to enable low cost disaster recover for SMB clients.  It will be interesting to see how we can provide this locally in Jersey for jurisdictionally sensitive clients as well as look at off-island provision for extra reselience.

 

Published on Tuesday, 02 April 2013 17:15

In the days of tape backup it was easy to tell when a backup had completed because the tape could be configured to eject from the drive. A lot of our clients use a pool of USB backup drives which are swapped at the beginning of each day. This causes an occasional problem when a client swaps their USB backup drive before the backup has completed - this can happen when a full server backup takes place on a server containing large amounts of data.

One such client asked if their server could send them an automated email when the backup had completed so they would know it was safe to change the backup media. Windows Server Backup cannot do this out of the box, so we configured two scheduled tasks to run a PowerShell script when a 'successful' or 'failed' backup event was written to the Windows Event Log. 

Create a PowerShell script using Notepad and save it on the server as 'EmailBackupResults.ps1'. You will need to amend the text in red to fit your configuration:

# Set up variables
$SmtpServer = "192.168.1.1"
$SmtpPort = 25
$FromEmail = "admin-email-address"
$ToEmail = "recipient-email-address"
$OutputFile = "C:\BackupEmail\BackupResults.txt"

# Create backup results file
add-pssnapin windows.serverbackup
$NextBackup = Get-Date (Get-WBSummary | select "NextBackupTime" | ft -hide | out-string)
$LastBackup = (Get-Date $NextBackup) - (New-TimeSpan -day 1)
Get-WinEvent -LogName "Microsoft-Windows-Backup" | Where {$_.timecreated -ge $LastBackup} | Sort-Object TimeCreated | Format-Table TimeCreated, Message -AutoSize -Wrap | Out-File $OutputFile

# Construct and send email
$SmtpClient = new-object system.net.mail.smtpClient
$Msg = new-object Net.Mail.MailMessage
$SmtpClient.host = $SmtpServer
$SmtpClient.Port = $SmtpPort
$computer = gc env:computername
$Msg.From = $FromEmail
$Msg.To.Add($ToEmail)
$Msg.Subject = "## Backup Complete on " +$Computer +" ##"
$Msg.Body = "The backup for " +$Computer+" has completed. Please see the attached file for backup results."
$Msg.Attachments.Add($OutputFile)
$SmtpClient.Send($Msg)

Next you will need to create a scheduled task which launches the PowerShell script you have just created. The 'EmailBackupResults' task will need two triggers configured as shown below - Event ID 4 is a successful backup, and Event ID 5 is a failed backup.

The Action for this task will start a program powershell.exe with the arguments -command "& C:\BackupEmail\EmailBackupResults.ps1"

You will need to change the path in the arguments to match the location you saved the script to.

Now, as soon as your backup has completed (with a success of failure) the email address you configured in the script will be sent an email confirming the backup has completed. A text file will also be attached to the email which contains the backup results.

You may also need to configure your mail server (in this case it was Exchange installed as part of a Small Business Server 2011) to accept anonymous emails from the IP address of the backup server.

Guest Post by Richard Goatly
Authentic IT - Web Design and IT Consultancy

Published on Tuesday, 02 April 2013 08:30