Live Migrate Server 2012 R2 HyperV to New Storage

After creating a new Storage Volume I want to move this from Volume1 to the new Volume10 without disrupting user access and avoid any downtime on our HyperV environment.  To accomplish this follow these steps.

On the Server navigate to the original storage volume
Copy the folder name from the original volume to the new volume

Cluster1

 

 

Cluster3

 

 

Now go to the new volume and create a new folder with the name you copied from above

Cluster4

 

Go back to the Failover Cluster Manger > Roles and right click on the Hyper-V

Select Move > Virtual Machine Storage

Cluster5

 

 

 

 

You will see the following box below

Click on your NEW cluster storage to expand then select the folder you created from above and  click the + next to the Virtual Machine you want to move

 

 

There are 2 ways to move/copy the files.  You can drag each one individually or select them all and click on the Make sure to select all the files and select copy and then paste or you can move each individually to the Name section

 

 

 

 

 

 

 

 

Cluster9

 

 

 

 

 

 

 

Should now look like this:

Cluster10

 

Now click on Start

Cluster11

 

 

In the Failover cluster you will now see this but without any indicator on the percentage:

Cluster12

 

Instead if you open up Hyper-V Manager you will see the percentage:

Cluster13

 

Once this is completed right click on the server in Hyper-V Manager and select settings.

View the Hard Drive, Checkpoint File Location and Smart Paging (Which ever you selected to move) to verify they have been moved to the proper location.  In my case I Moved from Volume1 to Volume10 as you can see from the before and after.

Before:  Notice it is on Volume1

Cluster14

 

After:  Notice it is now on Volume10

Cluster15

Install OS on R620 through idrac and Lifecycle Controller

Once you have configure the iDrac you will need to connect via HTTPS://IP-ASSIGNED/

 

Default login is

Username: root

Password: calvin

Once logged in It will ask you if you want to change your password

 

Click on Overview > Server > Virtual Console

In my experience using the Native does not work well so unfortunately we will need to change it to Java.

1Virtual Console

Now click on Apply

 

Click on Launch Virtual Console and the Java window will now launch

2Virtual Console3java

You will get a few pop ups from Java click on Continue

4java security

Now you will need to attach the Virtual Media.  Its always best and faster to use a local copy

In the iDrac window click on Virtual Media > Connect Virtual Media

5virtual media

Now click on Virtual Media again and click on Map CD/DVD.  I am using an ISO so this will work

6virtual mediaBrowse to you ISO file and click on OPEN and then Map Device

8virtual media os

9virtual media selected

Normally you would boot directly to the ISO but Dell has built-in support with drivers that will assist in the install.

Click on Next Boot > Lifecycle Controller (LCC)

10lsc boot

Click OK

11lsc boot device

Now Power on the server.  Click on Power > Power On System

12lsc powerNow wait until you get into the LCC

14lsc booting Change settings if needed then click Next

12lsc language You can configure your NIC cards but I will do I later. Click Finish

13lsc network

If you configured you NIC earlier you can update the firmware via network share or FTP or File.

15 lsc mainI have already configure RAID but will do it again.  Click on Configure RAID and Deploy Operating System > Then Click Next to configure Raid

16 lsc raid

17 lsc virtual disk

I want to mirror so I selected RAID 1

18 lsc raid level

Select your disks to put in the RAID you choose

19 lsc raid wizard

Enter a NAME for the Virtual Disk

20 lsc raid name

21 lsc confirm

Make sure you don’t need to save anything.  If all is OK then click YES

22 raid wipeOnce finished click OK > Finish

23 raid success

Now let’s configure the OS

Click on the server you are installing.  I will use Microsoft Windows Server 2012 R2 > Click Next

24 OS deploy

It will now gather all the drivers needed for the server

25 os driversI don’t have an Unattended file so I will click on Manual Install

26 os manual install

27 os bios

28 os media

Server will now reboot and start the OS installation

30 os loadingNow install your OS as normal

31 os selection

Click on Custom: Install Windows Only

32 os customSelect your OS Disk

33 os disk selection

34 os installing

Unless you need the ISO for adding roles you can disconnect it

Virtual Media > Disconnect Virtual Media

35 media detach

For Best Practice I like to download and install the latest version of the drivers before putting the server into production.

Windows Server 2012 Update Error 800F0922

After setting up a new Server 2012 on Hyper-V “Gen2” and running updates I found that it was always failing and rolling back.  After installing the updates one by one I found the issue was KB2871690

After trying to install you receive error 800F0922
KBError

The problem is that Secure Boot is enabled on the virtual machine.  Because Microsoft did not properly test this Shut down your VM

  1. Go to File > Settings
  2. Click on Firmware > Uncheck Enable Secure Boot

KBSecure_uncheckKBSecure

4. Now start your VM and run the update againKB_Success5. Now shutdown and follow the process from step 2-4 but enable Secure Boot again

6. In my environment I saw the update again after I enabled Secure Boot and logged into Windows.  I was then able to run it again with no issues.

Run as Different User in Windows 8

 

In all previous version of Windows you could simply click on Shift + Right-click but on Windows 8 and 8.1 that is no longer the case.

To enable this in Windows 8

Bring up the run box and type in gpedit.msc

1GPedit

Now drill down to:

User Configuration\Administrative Templates\Start Menu and Taskbar

2Config

In the right panel look for Show “Run as different user” command on Start

It will say Not Configured.  Double click on Show “Run as different user” command on Start and click Enabled

3Enable

4Runas

Close the Windows and open up elevated command pormpt and run gpupdate/force

Lync 2010 Mobility not working with ASP.NET 1309 Error

This article assumes you have the Lync Mobility pack installed on your server.

 Errors on device:

Can’t connect to the server right now, please try again

Can’t reach server, retrying

 

Errors on Lync Front End every time a Mobile Client connected:

Lync ASP Warning

EVENT CODE:

Event code: 3005

Event message: An unhandled exception has occurred.

Event time: 1/14/2014 4:56:05 PM

Event time (UTC): 1/14/2014 9:56:05 PM

Event ID: 30334e245aa64a6d9d4f95a79c855515

Event sequence: 2

Event occurrence: 1

Event detail code: 0

Application information:

Application domain: /LM/W3SVC/34578/ROOT/Mcx-1-130342101245810604

Trust level: Full

Application Virtual Path: /Mcx

Application Path: C:\Program Files\Microsoft Lync Server 2010\Web Components\Mcx\Ext\

Machine name: LYNC SERVER

Process information:

Process ID: 13560

Process name: w3wp.exe

Account name: NT AUTHORITY\NETWORK SERVICE

Exception information:

Exception type: HttpException

Exception message: Unable to gain access to resources

Request information:

Request URL: https://webext.DOMAIN.com:4443/mcx/mcxservice.svc/mex

Request path: /mcx/mcxservice.svc/mex

User host address: 10.1.X.X

User:

Is authenticated: False

Authentication Type:

Thread account name: NT AUTHORITY\NETWORK SERVICE

Thread information:

Thread ID: 1

Thread account name: NT AUTHORITY\NETWORK SERVICE

Is impersonating: False

Stack trace:    at System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app)

at System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers)

at System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context)

at System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context)

at System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)

 

 

You will need to start out basic troubleshooting here.  If all passes please proceed.

We started getting emails from users saying they could no longer connect their phone to Lync from the outside.  Testing internally worked but on the outside it was a no go.  While searching for these events I found nothing relevant and after restarting IIS and other troubleshooting it was not working I decided to open a case with Microsoft.  I was advised that my Web Components Server and IIS were corrupt and I had to remove them and reinstall.  Seeing that mobility just stopped working it sounded about right but I was not about to perform all of that without trying what seems to of fixed the issue.  Being use to SharePoint and having ASP.NET errors in that environment I decided to try something.  Lync has an Application Pool which goes hand in hand with IIS and seeing the error was trying to access the MXCSERVICE I decided to recycle the pool.  This still did not work.  So here our fix:

 

  1. On your Lync Front end
  2. Open IIS
  3. Expand and navigate to Application Pools
  4. Right click on CSExtMcxAppPool and click Stop
    1. You will have to wait about 20 seconds before you can start or it will error outLync App Pool
  5. Now right click the same App Pool and select Start
  6. Wait another 5-10 minutes and test

Windows 8.1 Annoyances

With all the complaints everyone had about the missing Start screen in Windows 8 Microsoft (MS) finally listened somewhat!  Well they did bring back the Start button but made a lot of items that were easy for end users harder to find or removed them entirely.  Come on MS you say this was done because of user feedback but I don’t believe it.

So what am I talking about?

Metered Connection

They moved the Metered Internet connection from the networks navigation.  Now to set a metered connection you must go to Settings>Change PC settings>Network>Connections>then Set a metered connection.

Easier right..not

Forget this Network (Wireless)

Removed the forget this network.  Now must use PowerShell to forget a wireless network.  What the hell was MS thinking on this one.  Well if you navigate to some forums Microsoft claims it was user feedback.  Yes, I see how this makes sense cause all end users know how to use PowerShell and can remember the command. If your curious on how to do this now here are the steps:

  1. Open command prompt or PowerShell in admin mode
  2. Netsh wlan show profiles
    1. Locate the wireless profile you wish to forget
  3. Netsh wlan delete profile name=”(Profile Name from step 2)”

Easy Transfer

Since MS is on the cloud kick with Windows 8 and 8.1 they are trying to force everyone to use SkyDrive.  This isn’t entirely a bad idea for backing up files but when it comes to moving from an older version of Windows it becomes a problem.  Sure you can copy or move your files to your new profile but what if you want all your settings to go with you.  Well again 3rd party companies have to step in and do what MS should of done (You can use Laplink).  This is all good for non-domained accounts but if your trying to move a domain users well good luck.

Bing Images for Lock Screen

If you used the Bing Images for the lock screen this feature is now removed in 8.1.  Why you ask, again who knows what MS was thinking here again..

DirectAccess LocalDNS

This was the same in Windows 8 but I figured I would bring it up again for anyone using DirectAccess (DA).  In Windows 7 you had the option (If you had the DCA client installed) to right click and use local dns if there were any issues with DA.  In Windows 8 & 8.1 you will have to wait until Windows figures out it cannot connect to the DA server until you can use local dns to try and VPN in or start addressing the issue.  Again this is not making anything easier for the end user or the admins.  The work around I found which is not something I would tell users unless it was critically needed is to perform the following.

  1. Open up task manager
  2. Click on the Services tab
  3. Find the Name “NcaSvc” or look for the description for “Network Connectivity Assistant” and stop the service

This will force DA to stop trying to connect until you start the service again.

Recovery

Just like in Windows 8 if you have an issue where you need to boot into safe mode, forget about it.  Now you will need to rely on Windows to determine if your computer is having issues and it will then prompt you to go into an advanced startup mode.  Otherwise you would need to kick this off within Windows but again if you have startup issues how would you know to kick it off before?

 

If you have any other annoyances shoot me a message and I will add it.

Federate Lync server with Skype

I was getting a lot of request to be able to have users chat with people on Skype.  I was going to wait until I upgraded our servers to 2013 but it looked pretty easy as long as you already have an Edge server.  If you don’t have an Edge server you have some work to do.

 

Provisioning for Skype

If your environment is not federated with MSN/Windows messenger currently, you’ll have to submit a provisioning request to Microsoft via website https://pic.lync.com which will contain following information:

  1. Your SIP Domain for environment
  2. Edge server external interface DNS namespace.
  3. Primary and secondary contact persons from your environment for the request

 

Once you’ve submitted the request, MS says it can take up to 30 days for completing this request.

Once you’ve provisioning is setup, you can proceed into second part of process which is configuring your Lync environment for Skype federation.

Setting up Lync/Communications environment for Skype federation

Currently Skype supports federations with below version of communications server environment, if you’re not on one of the versions listed below, you will need to upgrade for this to work.

  1. Lync 2013 and Lync online
  2. Lync 2010 and Office 365
  3. Office communications server 2007 R2

The steps for setting up your environment for Skype federation are as follows:

    1. Enable federation and public access: First thing first, you need to ensure that your environment/access edge configuration has public IM connectivity in your environment. These features will be used by your users and Skype for end to end connection.Lync 1
    2. Setup a global/site/user policy providing public access: Based on your business/environment requirements, you can either enable public access on global policy OR create a site level/user level policy which allows user to communicate to public IM providers like Skype, Yahoo, AOL.

Lync 2

  1. Edit MSN IM Provider: By default in any communications environment, you’ve a MSN IM provider already in list, Not enabled by default, but it’s in there. All you’ve to do is modify same accordingly using commands below:
    1. Remove-CsPublicProvider -Identity Messenger
    2. For Lync 2013:
      New-CsPublicProvider -Identity Skype -ProxyFqdn federation.messenger.msn.com -IconUrl “https://images.edge.messenger.live.com/Messenger_16x16.png” -VerificationLevel 2 -Enabled 1
    3. For Lync 2010:
      New-CsPublicProvider -Identity Skype -ProxyFqdn federation.messenger.msn.com -VerificationLevel 2 -Enabled 1
    4. For OCS 2007 R2, you’ll need to simply modify Name of MSN IM provider and update it to Skype via Edge server GUI under list of IM provider, once done you can enable same accordingly.
  2. If using Lync 2013 client with Lync 2010 Server you will not get the add Skype picture you will need to just click on other
    Lync 3Once added it may take some time but this is what you should now seeLync 4

    This will work out of the box for @outlook.com, @live.com and hotmail.com.  If you want to chat with someone who has another domain such as gmail.com it’s a little more work. You must do this:

     

    If you are adding a Windows Live Messenger user with an account or ID with a non-Windows Live domain, you must enter the address in the following format: user name(domain name)@msn.com, where <domain name> is the domain name in the e-mail address of the user.

    For example to add  user01@gmail.com you would use the following format user01(gmail.com)@msn.com

    See this KB as well http://support.microsoft.com/kb/2566829/en-us

    If you try to contact someone on Skype and you know they are online but Lync is telling you they are offline then the problem is the Skype user needs to sign out and log in with the option of Microsoft account not Skype name.

    Also, if a Skype user tries to find you and they cannot it is the same as above and they are logged in with a Skype account not associated with a MS account.

    MS information: https://support.skype.com/en/faq/FA12081/how-do-i-sign-in-to-skype-for-windows-desktop-with-my-microsoft-account

    Lync 5

Lync 6

Outlook Address Book Not Updating with New Contacts

Have you added new users or rooms in Exchange and have users say they cannot find them?  The easiest trick for me is to have the user rename their OAB folder.

 

1. Close out of all Office products including Lync

2. Click on Start and paste this in:   %userprofile%\Local Settings\Application Data\Microsoft\Outlook\Offline Address Books

start-png

3. Now rename the file there with a .old at the end ..example 81bc7ac3-6618-4c53-b711-f647e4f4a.old

rename-png

old-png

4. Open Outlook and give it a few minutes while it re-downloads the address book

Renew CRM 2011 SSL Certificate

1.  Delete the old cert using MMC on the CRM web servers & ADFS servers.  Verify removal of the cert by reviewing your  IIS https bindings.  [notice][/notice] If this cert is kept CRM authentication will not work.

2. Add the new cert to the ADFS server first.  Import new cert into MMC cert snap-in console. Be sure your AppPool user account has read permissions. You also need to be sure that the ADFS service user account has full permissions to the cert.  Bind new cert to https in IIS.  From your cmd line, perform an IISreset.

To add permissions to the cert in the cert MMC right click on the certificate you are going to use, click on All Tasks then Manage Private Keys

CRM SSL 1

Now add your service and grant the rights for each server.

3. Add the new cert to your CRM Web App Server(s).  Import new cert into MMC cert snap-in console. Be sure your AppPool user account has read permissions. Bind new cert to HTTPS in IIS.  Now from cmd line, perform an IISreset.

4.  On your ADFS server, update the cert in ADFS MGMT console.  Under Service > Certificates > Set Service Communications Certificate to new cert.

CRM SSL 2

 

5. Back again to your CRM Web server, fire up the ‘Configure Claims Wizard’, update to the new certificate, and apply.

CRM SSL Claims

6. On the ADFS server, in the ADFS Mgmt Console, under ‘Trust Relationships’, update relying trust federation metadata for all instances.

CRM SSL 4

7.  Test CRM.  Again if you get an authentication error or other error make sure you delete your old certificate

 

GoToMeeting Error Unable to Join the Meeting Your Computer’s OS and/or Web Browser are not supported

Have you tried to join a GoToMeeting or GoToWebinar only to get an error saying Your Computer’s OS and/or Web Browser are not supported and you know both are?  Most likely you have a Dell computer with a 2 video cards on is Nvidia and the other is Intel.  Well your problem is the Nvidia card.  You can either upgrade your card but if you want to have a full proof method try this:

Error: When user tries to connect to a goto meeting and they receive “Unable to Join the Meeting

Your Computer’s OS and/or Web browser are not supported”

gtm1-png

This is Nvida graphics card issue.

The work around is to create an exception in the Nvida software/control panel , allowing GoToMeeting software to use the integrated video card on the motherboard.

1) Right click on desktop and select NVIDA control Panel
gtm2-png

2) In the control Panel Select Manage 3D settings
gtm3-png
3) Select Program settings and click on Add
gtm4-png

4) Go to where GoToMeeting stores g2mdlhlpx.exe (this is usually in the user’s profile folder Ex, c:\user\sbruno). Select this file “g2mdlhlpx”
gtm5-png

5) Once you select the program select the preferred processor for the program. Click on the drop down menu and select Integrated graphics.
gtm6-png

6) Select apply and close out the control panel

7) Then have the user try to join a GoToMeeting session.