• Exchange Support For Windows Server 2012 R2

    Windows Server 2012 R2 And Exchange Support Previously Windows 8.1 and Windows Server 2012 R2 were released to the TechNet subscriber download centre.   Prior to Windows Server 2012 R2 being tested and validated by the Exchange Product Group, we had asked to pause deployments of 2012 R2 DCs into environments where Exchange was installed. 

    Exchange 2013 Service Pack 1, Exchange 2010 SP3 RU5 and Exchange 2007 SP3 RU13 were all released today, the 25th of February 2014.   As announced back in November the Exchange team were working to test and validate Exchange against Windows Server 2012 DCs.   That work has been completed, and the support stance has been updated on TechNet. 

    To prevent confusion for folks that may have read this post prior to today’s updated support stance it has been heavily edited to reflect the new information.  Probably not much point showing out-dated stuff, eh?

    Walking The Supported Path

    TechNet documents the Exchange Product Group’s supported OS for each version of Exchange.  Here are the links for your convenience:

    System Requirements Supportability Matrix
    2007 2007
    2010 2010
    2013 2013

    There have been a couple of posts in the TechNet forums where people have run into some issues when they have either:

    • Upgraded the OS in place to Windows Server 2012 R2
    • Tried to install Exchange 2010  onto Windows Server 2012 R2

    Unfortunately there is not much that can be done to help apart from digging out backups as they are not supported options.

    I didn’t list Exchange 2003 as hopefully no one out there is going to be trying that with Server 2012 R2. **

     

    Supported Operating System Platforms

    The following tableidentifies the operating system platforms on which each version of Exchange can run. Supported platforms are identified by an X character.

    Exchange Supported Operating Systems

    You will note that Windows Server 2012 R2 is currently only listed as a supported OS platform for Exchange 2013 SP1.  In addition to this please also note that Windows Server 2012 R2 is listed as a supported Domain Controller for Exchange 2013 SP1, Exchange 2010 SP3 RU5 and Exchange 2007 SP3 RU13 or later builds of each. 

    Supported Active Directory Environments

    The following tableidentifies the Active Directory environments with which each version of Exchange can communicate. Supported environments are identified by an X character. An Active Directory server refers to both writable global catalog servers and to writable domain controllers. Read-only global catalog servers and read-only domain controllers aren't supported.

    Exchange Supported Active Directory Servers

    Exchange Supported Domain And Forest Function Levels

     

     

    Previous update history to this post for full disclosure:

    Update  3-10-2013: Added additional note about Domain Controller support

    Update 12-11-2013: Added note to indicate TechNet has updated support stance to say Exchange 2013 support  for Windows Server 2012 R2 will be provided by future version of Exchange 2013.

    Update 20-11-2013:  Additional details here.

    Update 25-2-2014:  Re-wrote this post to reflect the current support stance

     

    Cheers,

    Rhoderick

    ** Well you never know I suppose….

    >>>>

  • Remote Desktop Connection Manager Download (RDCMan) 2.2

    Remote Desktop Connection Manager (RDCMan) is a great tool to consolidate multiple RDP connections into a single window to prevent desktop clutter.

    Update 19-11-2014: RDCMan 2.7 is now available. Please see here.

     

    Remote Desktop Manager Download

    The tool can be downloaded from the Download Centre.

     

     

    Installation Pointers

    There are a couple of things worth noting about the tool:

    It will install into the x86 Program Files folder on a x64 machine:

    C:\Program Files (x86)\Remote Desktop Connection Manager

    Do not save your custom RDG files in the installation folder, just in case your local workstation dies and the file is gone. I always keep my .RDG files in a  subfolder of My Documents, which is a redirected folder to a file server.

    The RDG files are portable, and you can share them within your organisation.  For example, when you get a new admin give them a copy of the RDG files and they are able to review your list of servers and get connected easily – assuming they have the permissions….

    The help file is located in the same directory  - unsurprisingly this is called help.htm

    Finally and most importantly, please say a big thank you to Julian Burger the developer who wrote this and David Zazzo for working to get it released!!

     

    Cheers,

    Rhoderick

  • Updated Exchange 2010 SCOM Management Pack – June 2012

    An updated System Centre Operations Manager (SCOM) Management Pack (MP) for Exchange 2010 has been released to the Microsoft download center.  This is build 14.03.0038.004 of the MP.  

    Edit 3-9-2012 Updated MP build 14.03.0038.004 released

    EDIT 9-8-2012 - Updated MP build 14.03.0038.003 is currently unavailable due to an issue.

    EDIT 8-8-2012  - Updated MP build 14.03.0038.003 released. 

    EDIT 27-6-2012  - NOTE that the MP is currently unavailable due to an issue.  Please see the comments

    System Center Operations ManagerThe Microsoft Exchange Server 2010 Management Pack includes a complete health model, extensive protocol synthetic transaction coverage, and a full complement of diagnostics-based alerts and service-oriented reporting, including mail flow statistics.  Alerts are classified by impact and recovery action, and are now processed by a new component called the Correlation Engine. The Correlation Engine suppresses duplicate alerts whenever possible to help front-line monitoring technicians monitor Exchange more efficiently.  Most diagnostic information used in the Exchange 2010 Management Pack, including events and performance counters, is specifically engineered for monitoring. Very little tuning is required to monitor your Exchange organization. The Exchange 2010 Management Pack will scale with your environment.

    The Exchange 2010 Management Pack is engineered for organizations that include servers running Exchange 2010. It isn't based on the Exchange 2007 Management Pack. Therefore, you'll notice some differences in the way you deploy and configure the Exchange 2010 Management Pack if you used the Exchange 2007 Management Pack in the past. 

    Please ensure that you download and thoroughly read over the Exchange 2010 Management Pack guide before installing the Management Pack.  There are important considerations including:

    • Running the Exchange 2010 Management Pack installation program installs a new Windows service component named the Correlation Engine service
    • Determine which machine will host the Correlation Engine service
    • Ensure all Exchange 2010 computers that are manager use LocalSystem as the Agent Action Account
    • Ensure that all members in a specific DAG are monitored
    • Ensure Exchange 2010 computers are allowed to perform Agent Proxy 
    • Install required prerequisites

     

    Cheers,

    Rhoderick

    Technorati Tags: ,
  • Windows Hyper-V 2012 & 8.1 Hyper-V Did Not Find Virtual Machine to Import

    Back in May 2013, we discussed an issue which caused the Hyper-V Did Not Find Virtual Machines To Import error.  Well, as mentioned in that blog post there are a few reasons for this error message being displayed and it does depend on the versions of Hyper-V in use.

    There were some comments posted (thanks again for that by the way!) which mentioned an issue with importing VMs into Windows Server 2012 R2 and Windows 8.1.  I thought it may be worth bubbling this up again now that Windows 8.1 is available and people may be running into the same import issue.  Ideally we can raise awareness so that we can plan the right approach.

    The issue is that VMs which were previously exported from Windows Server 2008 or Windows Server 2008 R2 Hyper-V cannot be imported into Windows Server 2012 R2 Hyper-V and Windows 8.1.   Please note that the same  VMs could be imported into Windows Server 2012 Hyper-V  (note the missing R2 there) without any issue.

    Update 2-12-2013: Added new post to walk through the conversion process using Server 2012.

    Let’s take a peek at the issue, and then discuss what we can do!

    Importing Windows 2008 R2 Hyper-V VM Into Windows 8.1

    For the purposes of this post, let’s try and import a VM called AD1HC1.  This was successfully exported from Windows Server 2008 R2 Hyper-V.  Currently this VM and all its associated files reside in the G:\VMs\AD1HC1 folder.  The various files can be seen here:

    Windows Server 2008 / 2008 R2 Exported Virtual Machine Directory Structure

    There are no hidden tricks and this is an exported VM that can be imported to Windows Server 2008 R2 without issues, and has been many times.

    If we use the GUI and try to import the VM into Windows 8.1

    Importing a Virtual Machine From Windows 2008 R2 Hyper-V Into Windows 8.1

    We get the following error:

    Hyper-V did not find virtual machines to import from location ‘G:\VMs\AD1HC1’

    Importing a Virtual Machine From Windows 2008 R2 Hyper-V Into Windows 8.1 - Hyper-V did not find virtual machine to import

    When reviewing what Process Monitor sees on the file system, there are no Access Denied error messages.  We are able to read the disk and review the files contained within.

    Importing a Virtual Machine From Windows 2008 R2 Hyper-V Into Windows 8.1 - Process Monitor Analysis

         

    If the files exist on the disk and we can read them, what’s up then?  For the eagle eyed out there, you may be wondering why the .exp file has not been read…..

    Digging In

    If you wrote scripts to import/export Windows Server 2008 Hyper-V VMs, there is a small clue in the Hyper-V section located in the Features Removed or Deprecated in Windows Server 2012 page on TechNet.   **

    • VM Chimney (also called TCP Offload) has been removed. The TCP chimney will not be available to guest operating systems.
    • Support for Static VMQ has been removed. Drivers using NDIS 6.3 will automatically access Dynamic VMQ capabilities that are new in Windows Server 2012.

    • The WMI root\virtualization namespace is deprecated. The new namespace is root\virtualization\v2.
    • Windows Authorization Manager (AzMan) is deprecated. You may need to use new management tools for virtual machines or redesign the authorization model.

    And if we then look at the same section in the Features Removed or Deprecated in Windows Server 2012 R2

    • WMI root\virtualization namespace v1 (used in Hyper-V)

    So the WMI v1 namespace was deprecated in Windows Server 2012, and then removed in Windows Server 2012 R2.   Why is this important?  When the Export call was made to export the VM from Windows 2008 R2, the WMI v1 namespace was used.  This can be seen with a PowerShell snippet  which binds to the Hyper-V WMI Namespace.

    $VMManagementService = Get-WmiObject -Namespace root\virtualization -Class Msvm_VirtualSystemManagementService -ComputerName $HyperVHost

    In a post on the Hyper-V TechNet forum there are some details worth reading from Taylor Brown, and if you don't already read his blog the RSS feed is here.

    VM's that are exported from Windows Server 2008 or 2008 R2 utilized the version 1 WMI namespace which resulted in an .exp file to represent the exported virtual machine. In Windows Server 2012 we introduced a new WMI namespace (version 2 or root\virtualization\v2) which implemented a much better import/export model – allowing you to effectively just copy the virtual machine folder (with the VM’s XML configuration file inside it) as well as the VM’s VHDs and then import that directly. For Windows Server 2012 we maintained the version 1 WMI namespace which allowed for importing of Windows Server 2008/R2 VM’s on 2012.

    In Windows Server 2012 R2 we have removed the old version 1 namespace which means we can’t import virtual machines that where exported from Windows Server 2008/R2.

    What To Do

    As you can see, VMs that were exported from Windows Server 2008 & 2008 R2 cannot be imported as-is into Windows Server 2012 R2 or Windows 8.1.

    Don’t Panic Captain Mainwaring, Don’t panic!   ***

    Don’t panic as there are options!!  Let’s look at them based on the scenario.  There are two basic takes on this:

    1. Original Hyper-V Server and the VM is still available
    2. Original Hyper-V Server is not available

    Original Hyper-V Server & VMs Available

    If you exported from Windows Server 2008 or 2008 R2, and the original host is still available with the VMs then probably the easiest option will be to get the VMs off that machine in a format that is easily importable to Hyper-V 2012 R2.

    On the original Hyper-V server, power down the VMs.  Once they have shut down, then stop the Hyper-V Virtual Machine Management Service (VMMS).  This will unlock the VM’s files.  Simply copy over the VM folders to the Windows Server 2012 R2 server and they can be imported.  Remember this was one of the features added to Windows Server 2012 - we do not have to specifically export a VM before it can be imported.  Funnily enough this functionality was added in the WMI v2 namespace for Hyper-V….

    Original Hyper-V Server Unavailable

    If the original server or a copy of the VMs is no longer available, there are still a couple of options.  This may be the scenario if you are re-purposing the hardware and the original machine has been wiped, or if these are archived lab VMs that you are trying to import to a new version of Hyper-V.

     

    Perform Intermediate Import

    If, and this will not apply to everyone, you have a Windows Server 2012 Hyper-V machine, the 2008 / 2008 R2 VMs can be imported to that server.  Note that this is not a R2 2012 server. Since 2012 still has the WMI v1 namespace (albeit deprecated), we can import the .exp machines.  Once successfully imported to 2012, the VMs can be exported or copied over to Windows Server 2012 R2.  You do not need to power on the VMs after importing them to the intermediate Windows Server 2012 machine, that server is only used to perform the import thus allowing the VM to be copied to Windows Server 2012 R2.

    Travis mentioned an interesting take on this in the comments below.  Consider a temporary boot to VHD option just to get the necessary import step done.  Thanks Travis!  Would love to know if that helps folks out at all – please post a comment below!

    Update 2-12-2013: Added a How To on this topic.  Please see this post.

     

    Create New VM – Reuse Virtual Hard Disk

    If the above method is not available, or is too time consuming, an option is to create new VM configuration and specify to use an existing virtual hard disk.  By doing so we can re-use the VM’s virtual hard disk file.  Since the virtual NIC now has a different GUID Windows will recognise it as a different NIC, and you will need to re-enter the IP address in the VM.

    Cheers,

    Rhoderick

     

    ** – What is the etymology of the word deprecated? – and Wikipedia doesn’t count!  Personally I prefer depreciate since the original Latin dēprecātus was to pray.

    *** – If you have not seen the classic BBC comedy Dad’s Army take a look!

    >>>

  • Fine Grained Control When Registering Multiple IP Addresses On a Network Card

    Edit: 24-1-2013:  A second article using PowerShell 3.0 is here

    Edit: 30-1-2013: – A third article is using advanced PowerShell 3.0 is here.

    Edit 28-8-2013: – A similar issue with the setting being removed is present in Windows Server 2012.  Article with workaround is here

     

     

    The previous behaviour in Windows was to register all IP addresses that were entered on the network card’s property sheet into DNS if the “Register this connection’s address in DNS” option was selected (Which is the default).

    Register In DNS Option on Network Card

     

    For servers with a single NIC which has one IP bound to it this works great as we can dynamically register changes in IP addressing into DNS and all in the world is good.  What happens though when you start to complicate matters and have additional IPs and additional NICs?

    In the two NIC scenario, it is easy to set one NIC to register into DNS and then clear the register in DNS option for the second NIC.  That allows for the IP on the first NIC to be registered and the IP on the second NIC will not.  This would be a common scenario for a server that had multiple interfaces where one would be used for a management/backup purpose and end users should not be able to resolve the server’s name to the management IP as their traffic would not be allowed to route to that interface.  That’s fine but what about the scenario of a single NIC with multiple IPs bound to it? An example would be a web server with multiple IPs for different web sites.

    Previously, if you did not want the server to register all of its IPs into DNS, then the register in DNS option would have to be disabled and the administrator would have to manually maintain the DNS registration information in the DNS zone.  If this was not done then all the IPs that were bound to the server would be registered in DNS and clients potentially would be returned an incorrect IP.

    Windows 2008 and 2008 R2 now have the option to selectively register IPs into DNS.  This capability was first released as an update for Windows 2008 and 2008 R2.  After you install this hotfix, you can assign IP addresses that will not be registered for outgoing traffic on the DNS servers by using a new flag of the Netsh command. This new flag is the skipassource flag.

    For example, the following command creates an IPv4 address that is not registered for outgoing traffic on the DNS servers:

    Netsh Int IPv4 Add Address <Interface Name> <IP Address> SkipAsSource=True

     

    "Interface Name" is the name of the interface for which you want to add a new IP address.

    "IP Address" is the IP address you want to add to this interface.

     

    For Example:

    Netsh Int IPv4 Add Address Team-1 172.16.5.10  SkipAsSource=True

     

     

    How can I see what IPs have this flag set?  To list the IPv4 addresses that have the skipassource flag set to true, run the following command:

    Netsh int ipv4 show ipaddresses level=verbose
     

    Note the “Skip As Source” entries in the below:

    Skip As Source

     

    That’s all pretty neat but if you are are wondering what is my interface name check the GUI or run the following Netsh command to show the interfaces:

    Netsh Interface Show Interface

     

    Netsh Interface Name

    Note the Interface Name column on the right hand side.

    Which corresponds to the GUI:

    Windows Network Connections

     

    Note that once you have configured the above, if you then go to the regular GUI and make changes there, the SkipAsSource flag is overwritten unless you have installed the update to correct this known issue.

    Consider the following scenario:

    • You have a computer that is running Windows 7 or Windows Server 2008 R2.
    • You install hotfix 2386184 (http://support.microsoft.com/kb/2386184/ ) on the computer to enable the skipassource flag of the netsh command.
    • You assign many IP addresses to a network adapter on the computer by using the netsh command together with the skipassource flag.
    • You update some IP settings for the network adapter in the Network and Sharing Centre graphical user interface (GUI). For example, you edit the subnet mask of an IP address that has the skipassource flag set to true.

    The issue occurs because the GUI does not recognize the skipassource flag, and the GUI uses an incorrect method to handle changes of IP settings. When IP settings are changed, the GUI deletes all the old IP addresses from the old list and then adds new IP addresses to the new list. Because the GUI does not know the skipassource flag, the GUI does not copy the flag when IP addresses are added to the list. Therefore, the skipassource flag is cleared.

     

    Cheers,

    Rhoderick