Jonathan's Virtual Blog

System Center Virtual Machine Manager and Orchestrator - Solutions and Guidance


 Jonathan's Virtual Blog

   Virtual Machine Manager - Orchestrator - Solutions and Guidance

  • VMMUpdate: Stay up to date!

    CURRENT VERSION: 2.7, RELEASED 12/07/11

    Windows and SCVMM SP1 updates included in scan

    “Are your Hosts and SCVMM Server up to date? And, does it really matter?'” …YES!Report_Small

    WHAT IS VMMUPDATE?

    VMMUpdate creates a report of required updates for technologies used by the SCVMM server and all Hosts.

    • Windows
    • Hyper-V
    • Failover Cluster

    As well as components SCVMM and other technologies leverage…

    • WinRM
    • BITS
    • WMI
    • VDS
    • VSS

    WHEN?

    VMMUpdate should be run on the SCVMM server and all Hosts once a month.

    WHY?

    Be Proactive. Prevent Problems.

    • Updates are released regularly for SCVMM Server, Hosts, and the Admin Console.
    • These updates must be applied to all Hosts no matter how many you have… very time consuming.

    Doesn’t Windows Update take care of updates for me?

    Not necessarily. There are certain Hotfixes that need to be downloaded manually, but for the most part Windows Update is the key. Unfortunately, rules in WSUS are sometimes set up such that all updates required do not find their way to SCVMM systems. So, there are layers of complexity in keeping systems up to date.

    HOW?

    Download the tool below by clicking the big GREEN BUTTON. Run ‘VMMUpdate.x’ from an elevated command prompt, or simply right click it and run as Administrator. Download the latest script version every few months below.

    Instructions: Download, extract, right click VMMUpdate.x and run as Administrator!

    Download VMMUpdate


    Feedback

    This script has been tested on many systems. That said, if you run into problems follow the directions below.

    • Open an elevated command prompt
    • Start the script with ‘VMMUpdatev2.x.cmd /debug’
    • Email all console output along with problem description to vmmupdate@live.com

     

     

      jonjor

  • WinRM (Windows Remote Management) Troubleshooting

    What is WinRM?

    New in Windows Vista, Windows Server 2003 R2, Windows Server 2008 (and Server 2008 Core) are WinRM & WinRS. Windows Remote Management (known as WinRM) is a handy new remote management service. WinRM is the “server” component of this remote management application and WinRS (Windows Remote Shell) is the “client” for WinRM, which runs on the remote computer attempting to remotely manage the WinRM server. However, I should note that BOTH computers must have WinRM installed and enabled on them for WinRS to work and retrieve information from the remote system.

    While WinRM listens on port 80 by default, it doesn't mean traffic is unencrypted. Traffic by default is only accepted by WinRM when it is encrypted using the Negotiate or Kerberos SSP. WinRM uses HTTP (TCP 80) or HTTPS (TCP 443). WinRM also includes helper code that lets the WinRM listener to share port 80 with IIS or any other application that may need to use that port.

    WinRM with SCVMM uses Kerberos for authentication, and does not support fall-back to NTLM. There will be an error instead. If no credentials are specified, then the logged-on credentials are used to authenticate against the remote machine. This allows for a single sign-on experience.

      

    What is WinRS?

    Remote Shell, (WinRS) is used to execute a program on a remote host. Similar in operation to the former Sysinternals tool PSExec, WinRS leverages Windows Remote Management to let you launch processes on remote machines. For example, if you want to perform a directory listing on the system drive on a remote machine, you can remotely launch ‘dir’ using this syntax:

    winrs -r:machinename dir

    Another handy use of WinRS can be when installing software on remote systems. If you want to quietly install an application using an MSI file onto a remote machine, use the following syntax. This syntax assumes the MSI file has already been deposited into the C:\ folder.

    winrs -r:machinename msiexec.exe /i c:\install.msi /quiet

    When specifying the remote machine, the following are valid:

    · Localhost

    · NetBIOS name

    · Fully Qualified Domain Name (FQDN)

    · IP address

    How to install WinRM

    The WinRM is not dependent on any other service except WinHttp. If the IIS Admin Service is installed on the same computer, you may see messages that indicate WinRM cannot be loaded before Interent Information Services (IIS). However, WinRM does not actually depend on IIS: these messages occur because the load order ensures that the IIS service starts before the HTTP service. WinRM does require that WinHTTP.dll be registered.

    (Stated simply: WinRM service should be set to Automatic (Delayed Start) on Windows Vista and Server 2008)

    · The WinRM service starts automatically on Windows Server 2008.

    · On Windows Vista, the service must be started manually.

    · UPDATE! Windows 2003 requires an update for WinRM

    936059 An update is available for the Windows Remote Management feature in Windows Server 2003 and in Windows XP

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;936059

    How to configure WinRM

    To set the default configuration type:

    winrm quickconfig (or the abbreviated version, winrm qc)

    ‘winrm qc’ performs the following operations:

    1. Starts the WinRM service and sets the service startup type to auto-start.

    2. Configures a listener for the ports that send and receive WS-Management protocol messages using either HTTP or HTTPS on any IP address.

    3. Defines ICF exceptions for the WinRM service and opens the ports for HTTP and HTTPS.

    (Note: Winrm quickconfig also configures Winrs default settings)

    If ‘winrm qc’ throws an error:

    If the firewall is disabled the quick config command will fail. The firewall can either be started in Services long enough to run ‘winrm qc’ or the commands below can be run:

    sc config "WinRM" start= auto

    net start WinRM

    winrm create winrm/config/listener?Address=*+Transport=HTTP

    netsh firewall add portopening TCP 80 "Windows Remote Management"

    Group Policy configuration:

    WinRM can be configured by group policies.

    1. Type gpedit at a command prompt. The Group Policy Object Editor window opens.

    2. Look for the Windows Remote Management and Windows Remote Shell Group Policy Objects (GPO) under Administrative Templates and Windows Components.

    Troubleshoot WinRM

    Common Issues:

    1. If the ISA2004 firewall client is installed on the computer, it can cause a Web Services for Management (WS-Management) client to stop responding. To avoid this issue, install ISA2004 Firewall SP1.

    2. Antivirus software can prevent proper WinRM communication. Disable antivirus software and reboot the machine if the Antivirus software is known to scan processes and protocols, or if there is any doubt about the software.

    Test WinRM communication on the local and remote machines

    This section addresses how to test whether WinRM is working on the local system, and whether it can communicate with the remote system. Test remote communication in both directions between machines.

    Local communication:

    Locate listeners and addresses: (No output means WinRM is not installed)

    winrm e winrm/config/listener

    Localhost Ping:

    (Successfully completing this step pretty much insure complete access to WSMan on the local system)

    Winrm id

    Further:

    Check state of configuration settings:

    winrm get winrm/config

    Check the state of WinRM service:

    winrm get wmicimv2/Win32_Service?Name=WinRM

    Remote communication:

    Locate listeners and addresses:

    winrm e winrm/config/listener

    Remote Ping:

    (Successfully completing this step pretty much insure complete access to WSMan on the remote system)

    Winrm id –r:machinename

    Further:

    Check state of configuration settings:

    winrm get winrm/config -r:machinename

    Check the state of WinRM service:

    winrm get wmicimv2/Win32_Service?Name=WinRM -r:machinename

    Sample Commands

    Here are some sample commands to play with. If you cannot get the ‘Test WS-Man...' step to work, none of the steps following will work either (you're probably not using the right credentials to access the remote machine). One more caveat, the remote commands work best on domain joined machines. For workgroup machines, the WinRM service needs additional configuration.

    Description

    Command

    Run from an Elevated Command prompt

    Quickly configure the WS-Man service

    winrm QuickConfig

    Quickly delete the WS-Man listener

    winrm invoke Restore winrm/Config @{}

    Run from an standard Command prompt

    Display your machine's basic hardware info

    winrm enumerate wmicimv2/Win32_ComputerSystem

    Display your operating system properties

    winrm get wmicimv2/Win32_OperatingSystem

    Output your OS info in XML

    winrm get wmicimv2/Win32_OperatingSystem -format:pretty

    Test WS-Man access to a remote machine**

    winrm id -remote:<some machine>

    Grab a remote machine's WS-Man config

    winrm get winrm/Config -r:<some machine>

    Grab a remote machine's CPU load

    winrm g wmicimv2/Win32_Processor?DeviceID=CPU0 -fragment:LoadPercentage -r:<some computer>

    Grab a remote machine's free memory

    winrm g wmicimv2/Win32_OperatingSystem -fragment:FreePhysicalMemory -r:<some computer>

    Stop a service on a remote machine

    winrm invoke stopservice wmicimv2/Win32_Service?name=w32time -r:<some computer>

    Start a service on a remote machine

    winrm invoke startservice wmicimv2/Win32_Service?name=w32time -r:<some computer>

    Reboot a remote machine

    winrm invoke reboot wmicimv2/Win32_OperatingSystem -r:<some computer>

    Run a command on a remote machine (this uses winrS, not winrM)

    winrs -r:<some computer> ipconfig /all

    Run from PowerShell

    Use PowerShell to grab the WS-Man Win32_OperatingSystem XML output

    [xml]$osInfo = winrm get wmicimv2/Win32_OperatingSystem /format:pretty

    Display the OS version property

    $osInfo.Win32_OperatingSystem.Version

    Display the last boot time

    $osInfo.Win32_OperatingSystem.LastBootupTime.DateTime

    Put free memory metric into an XML variable

    [xml]$freemem = cmd /c "winrm get wmicimv2/Win32_OperatingSystem -fragment:FreePhysicalMemory -f:pretty -r:<some computer>"

    Display the free memory value

    $freemem.XMLFragment.FreePhysicalMemory

    **Note: This step verifies that you have good connectivity to the remote machine, WS-Man is running and properly configured on the remote machine, AND you have the correct permissions to fully leverage WS-Man on the remote machine. If this step fails, it's probably a permissions issue.

    Advanced Concepts

    URI Aliases

    URI aliases can simplify the Winrm command line. The following URI aliases are supported:

    wmi = http://schemas.microsoft.com/wsman/2005/06/wmi

    wsman = wsman:microsoft.com/wsman/2005/06/

    cimv2.9 = http://schemas.dmtf.org/wsman/2005/06/cimv2.9

    cimv2 = http://schemas.microsoft.com/wsman/2005/06/wmi/root/cimv2

    For example, the following command:

    winrm get http://schemas.microsoft.com/wsman/2005/06/wmi/root/cimv2/Win32_Service?Name=WSMan

    Gets replaced with:

    winrm get wmi/root/cimv2/Win32_Service?Name=WinRM

    Performing an Invoke Operation

    ‘Invoke’ initiates commands

    winrm invoke StartService wmicimv2/Win32_Service?Name=WinRM -r:machinename @{}

    This will likely return ‘ReturnValue = 10’ on a remote system where WinRM is running

    WS-Man (WinRM) Architecture

    The following diagram shows a high-level overview of the WS-Man (WinRM) architecture. In the diagram the 'Client' is querying the 'Server' for WS-Man information. Note that HTTP.sys and WinHTTP support the HTTP(s) transport for WS-Man, not IIS. In addition, IIS (or another web publishing service) can co-exist with WS-Man and share port 80.

    Remember:

    WinHTTP = Client

    HTTP.SYS = Server

    clip_image002

    The Windows Remote Management architecture consists of components on the client and server computers. The following illustration shows the components on both computers, how the components interact with other components, and the protocol that is used to communicate between the computers.

    clip_image003

    Requesting Client

    The following WinRM components reside on the computer that is running the script that requests data.

    · WinRM application

    This is the script or Winrm command-line tool that uses the WinRM scripting API to make calls to request data or to execute methods. For more information, see the WinRM Scripting API [ http://msdn.microsoft.com/en-us/library/aa384469(VS.85).aspx ] .

    · WsmAuto.dll

    The OLE automation layer that provides scripting support.

    · WsmCL.dll

    C API layer within the operating system.

    · HTTP API

    WinRM requires support for HTTP and HTTPS transport.

    Responding Server

    The following WinRM components reside on the responding computer.

    · HTTP API

    WinRM requires support for HTTP and HTTPS transport.

    · WsmAuto.dll

    The OLE automation layer that provides scripting support.

    · WsmCL.dll

    C API layer within the operating system.

    · WsmSvc.dll

    WinRM listener [ http://msdn.microsoft.com/en-us/library/aa384465(VS.85).aspx ] service.

    · WsmProv.dll

    Provider subsystem.

    · WsmRes.dll

    Resource file.

    · WsmWmiPl.dll

    WMI plug-in [ http://msdn.microsoft.com/en-us/library/aa384465(VS.85).aspx ] . This allows you to obtain WMI data through WinRM.

    · Intelligent Platform Management Interface (IPMI) driver and WMI IPMI provider

    These components supply any hardware data that is requested using the IPMI classes. For more information, see Intelligent Platform Management Interface (IPMI) Classes [ http://msdn.microsoft.com/en-us/library/aa390891(VS.85).aspx ] . BMC hardware must have been detected by the SMBIOS or the device created manually by loading the driver. For more information, see Installation and Configuration for Windows Remote Management [ http://msdn.microsoft.com/en-us/library/aa384372(VS.85).aspx ] .

    References

    Installation and Configuration for Windows Remote Management

    http://msdn.microsoft.com/en-us/library/aa384372(VS.85).aspx

    Windows Remote Management Command-Line Tool (Winrm.cmd)

    http://technet.microsoft.com/en-us/library/cc781778.aspx

    How can Windows Server 2008 WinRM & WinRS help you

    http://windowsnetworking.com/articles_tutorials/How-Windows-Server-2008-WinRM-WinRS.html

    The things that are better left unspoken Remotely managing your Server Core using WinRM and WinRS

    http://blogs.dirteam.com/blogs/sanderberkouwer/archive/2008/02/23/remotely-managing-your-server-core-using-winrm-and-winrs.aspx

    Redmond Print First Look WinRM & WinRS

    http://redmondmag.com/columns/article.asp?EditorialsID=2262

    Otto Helweg - Management Matters A Few Good Vista WS-Man (WinRM) Commands

    http://blogs.technet.com/otto/archive/2007/02/09/sample-vista-ws-man-winrm-commands.aspx

    Windows Remote Management Architecture

    http://msdn.microsoft.com/en-us/library/aa384464(VS.85).aspx

  • SCVMM 2008 R2 February Rollup Released!

    Description of the System Center Virtual Machine Manager 2008 R2 hotfix rollup package: February 8, 2011

    http://support.microsoft.com/kb/2492980

    SCVMM Rollups are cumulative, so install this latest update whether or not you have installed prior rollups. The number of issues resolved makes each of these updates vital to maintaining a healthy SCVMM environment.

    By stopping the ‘Virtual Machine Manager’ and ‘Virtual Machine Manager Agent’ services on the SCVMM server prior to install, a server restart should not be required. Although this update is available on Windows Update, it is strongly recommended that a manual download and install be performed. This is to guarantee installation in the event that your corporate WSUS server does not provide the update, or only the most recommended updates are installed.

    Keep in mind that to perform a manual install you must open an elevated command prompt and type the command below, substituting the correct version of package name. This is explained in the associated article.

    msiexec /update PackageName.msp BOOTSTRAPPED=1

     

     

    List of issues that are resolved

    Issue 1

    Performance and Resource Optimization (PRO) Tip alerts are not displayed in the SCVMM Admin Console if the alert resolution state is set to a value other than 0 in System Center Operations Manager 2007.

    Issue 2

    If a network adapter for a Hyper-V host uses teaming software, Virtual Machine Manager (VMM) may incorrectly bind the Virtual Switch to the host network adapter. 

    Issue 3

    A Virtual-to-Virtual (V2V) migration to a Cluster Shared Volume (CSV) volume fails if the cluster node that owns the volume has insufficient disk space on the system volume. Additionally, you receive an error message that resembles the following:

    Error 2606
    Unable to perform the job because one or more of the selected objects are locked by another job.

    Issue 4

    A Physical-to-Virtual (P2V) migration from a computer that is running Windows Server 2003 fails. Additionally, you receive an error message that resembles the following:

    Error 416
    Agent installation timed out while waiting on service VMMAgentInstaller on servername.domain.com.

    Notes

    • servername is a placeholder for the name of a server.
    • domain.com is a placeholder for the name of the domain that the server joins.
    Issue 5

    The network migration of a highly available virtual machine to a different cluster fails. Additionally, you receive an error message that resembles the following:

    Error (12711)
    VMM cannot complete the WMI operation on server servername.domain.com because of error: [MSCluster_ResourceGroup.Name="4168e895-2831-32cf-b4d8-352ac13e28c9"] The cluster group could not be found.
    (The cluster group could not be found (0x1395))

    Notes

    • servername is a placeholder for the name of a server.
    • domain.com is a placeholder for the name of the domain that the server joins.

     

    This hotfix rollup package includes also the hotfixes that are documented in the following SCVMM 2008 R2 hotfix rollup packages:

    2308590 (http://support.microsoft.com/kb/2308590/ ) Description of the System Center Virtual Machine Manager 2008 R2 hotfix rollup package: September 14, 2010

    982522 (http://support.microsoft.com/kb/982522/ ) Description of the System Center Virtual Machine Manager 2008 R2 hotfix rollup package: June 8, 2010

    978560 (http://support.microsoft.com/kb/978560/ ) Description of the System Center Virtual Machine Manager 2008 R2 hotfix rollup package: February 9, 2010

    976244 (http://support.microsoft.com/kb/976244/ ) Description of the System Center Virtual Machine Manager 2008 R2 hotfix rollup package: November 10, 2009

     

     

      Are you up to date? Use VMMUpdate to find out!

      jonjor

  • TCP/IP Conflict with Ghosted NIC: Legacy to Synthetic NIC

    Plug Ethernet Cat-5 wired high speed broadbandAs far back as Windows 95 there has been the problem of more than one NIC with the same IP address. Simply, you cannot should not do this. Most often this is seen when a computer has a static IP assigned to a NIC, then that NIC is removed (physical or virtual) and replaced with another. You could run into this situation now if you upgrade your Legacy NICs in Hyper-V (SCVMM) with Synthetic ones… providing greater throughput and less overhead on the host server. When you make this replacement and enter the same IP address as the old NIC had you run into one of the errors below.

    You can click ‘No’ and continue… and you will have problems. Or, you can somehow get rid of the old NIC that no longer shows up but is somehow causing an IP conflict. You don’t see the old NIC but it is conflicting with your new one?! You have a ghosted NIC.

    I mentioned that this type of issue has been around a while. So has the solution. I have used the article below since at least 1998. It has been updated recently with a ‘Fix it’ button, but the content and solution are the same. Click the linked title below.

    KB 269155: Error message when you try to set an IP address on a network adapter

    Error message when you try to set an IP address on a network adapter

    http://support.microsoft.com/kb/269155#

    There are two methods. The first is worth a try. It may work. The second, Method 2, is the one I have always used because it always works. Caution: you really can rip out a component you need. Luckily, performing this operation is easy, and any real NIC (or virtual) you remove will be added back on next reboot if still installed. The new ‘Fix it’ on the page I have never tried. Tell me your experience in the comments below.

    Using Method 2

    First, you need ‘devcon.exe.’ They quit shipping this in the product so you will need to download it from the link below. You may get a message about running it in Windows 2008 R2… ignore it.

    Windows Server 2003 Resource Kit Tools

    http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17657

    To make this correction on a virtual machine you need to tweak the syntax just a bit.

    With a physical machine you would type:

    devcon -r remove "@PCI\VEN_10B7&DEV_9200&SUBSYS_00D81028&REV_78\4&19FD8D60&0&58F0"

    With a virtual machine change it to something like this:

    devcon -r remove "@VMBUS\…”

    Here’s the step by step…

    Change to the ‘C:\Program Files\Support Tools>’ or wherever ‘devcon.exe’ lives.

    Type ‘devcon findall =net’ to list all NICs (yes, there is a space before the ‘=’)

    Identify from the list of NICs the virtual ones. Match the name of the NIC to what used to show up in Network Settings.

    Add an ‘@’ sign in front of the NIC information and enclose the who thing in quotes.

    Hit Enter and remove the NIC. You will see that the device is removed.

    Reboot and assign your new NIC the IP address the old one had. Easy.

     

     

    jonjor

  • VM does not Boot Following P2V or Disk2VHD

    So you perform a successful P2V using SCVMM. Or perhaps you use it’s cousin, ‘Disk2VHD’ from Sysinternals. All is well until you boot the new VM… FAILURE. For those situations where you simply get a black screen, maybe with a blinking cursor but definitely no Windows load, I have some solutions. (If you are experiencing a blue screen this article is not for you).

    First! Do not fear the black screen. It simply means the path to load Windows cannot be found by the boot loader. This may be due to the boot loader, or it may be due to the MBR or Boot Sector. Let’s just say we aren’t concerned with all of the technicalities and want to fix it. Here’s how.

     

     

    Windows 2008 R2 (Vista, Windows 7, Windows 2008)

    We’re going to fix the entire boot path, despite what part of it is broken. Go find an ISO or DVD of any of the operating systems just listed in the title. Prepare to boot your VM from this media. We’re going to use the recovery console. We’ll assume you are using Windows 7 media.

    1. Attach the Windows 7 installation disc to the virtual machine disc drive, and then start the computer.
    2. Press a key when you are prompted.
    3. Select a language, a time, a currency, a keyboard or an input method, and then click Next.
    4. Click Repair your computer.
    5. Click the operating system that you want to repair, and then click Next.
    6. In the System Recovery Options dialog box, click Command Prompt.
      1. If an operating system is not found simply continue anyway
    7. Type the following command in this order to set your system straight:
      1. bootrec /fixmbr    (Fixes MBR)
      2. bootrec /fixboot   (Fixes Boot Sector)
      3. bootrec /scanos    (Scans for Windows installations to add)
      4. Reboot! (Type Exit)
    8. If you still do not boot into Windows, or do not have a boot menu, or something is still wrong, follow steps 1 – 6 again. For step 7 type this instead
      1. bootrec /rebuildbcd    (Rebuilds entire BCD… not a really big deal)
      2. Reboot! (type Exit)

    You are now either booting into Windows, or you are not… Any blue screens I cannot help you with at this time. Search the internet for a solution, and in the meantime I intend to write an article on this as well. Comments welcome as always.

    Further Information:

    How to use the Bootrec.exe tool in the Windows Recovery Environment to troubleshoot and repair startup issues in Windows
    http://support.microsoft.com/kb/927392

    Windows 2003 R2 (Windows XP, Windows 2003)

    Again, we’re off to fix the boot path. Things are a bit different in Windows 2003. Same basic goal as with Windows 2008. Go find an ISO or DVD of any of the operating systems just listed in the title. Prepare to boot your VM from this media. We’re going to use the recovery console. We’ll assume you are using Windows 2003 media.

    1. Attach the Windows 2003 installation disc to the virtual machine disc drive, and then start the computer.
    2. When you receive the message that prompts you to press any key to start from the CD, press a key to start the computer from the Windows Server 2003 CD.
    3. When the Welcome to Setup screen appears, press the R key to start the Recovery Console.
    4. Select the Windows installation that you must access from the Recovery Console.
    5. Follow the instructions that appear on the screen, type the Administrator password, and then press ENTER.
    6. Type the following command in this order to set your system straight:
        1. fixmbr (Fixes MBR)
        2. fixboot (Fixes Boot Sector)
        3. bootcfg /rebuild  (Lists all Windows installations that you can add)
        4. Reboot! (type Exit)

    You are now either booting into Windows, or you are not… Any blue screens I cannot help you with at this time. Search the internet for a solution, and in the meantime I intend to write an article on this as well. Comments welcome as always.

    Further Information

    How To Use the Recovery Console on a Windows Server 2003-Based Computer That Does Not Start
    http://support.microsoft.com/kb/326215

    Description of the Windows XP Recovery Console for advanced users
    http://support.microsoft.com/kb/314058

     

     

    jonjor

  • Are All of My Servers Really Up to Date?

    SecurityGood

    With a single command you can pull a list of all installed updates. Use this to compare patch levels on all systems so you can easily target those not meeting the bar.

    We start with simple commands, then build on these to create robust queries with optional CSV and HTML formatting. I think of these commands, which I use on a daily basis, as basics for my Toolkit. If you don’t have a Toolkit I suggest you create one now. Place your often used tools in a folder such as ‘C:\Toolkit’ so that they are always at hand. Grab the first five items under ‘Top 10 Downloads’ from Sysinternals.com to round out your basics.

    speechuxcpl.dll_I03b8_0409TIP:  Go one step further and sign up for a Live Mesh account with your Windows Live ID. With this you can  keep your Toolkit directory, and other directories, synched up across all machines you designate. The folders will be available privately online as well. Further, remote control is built-in for all Mesh enabled systems. Sweet! Clearly remote capabilities are geared more towards workstations than servers, but I use it for both.Live_Mesh

    And yeah, it’s free. Get started here.

     


     

    Basic Commands

    Warm up by opening an elevated command prompt on your SCVMM server (or any server for that matter). If your command window does not show ‘Administrator:’ as below, you are not running an elevated console.

    Command_Admin

    > Single command to pull updates.
    wmic qfe

    http://support.microsoft.com/?kbid=963660  VMM2008R2-03  Update                        KB963660
                           NT AUTHORITY\SYSTEM  2/26/2009
    http://support.microsoft.com/?kbid=967062  VMM2008R2-03  Update                        KB967062
                           NT AUTHORITY\SYSTEM  2/26/2009

    You should see a torrent of information scroll through the command window. This is a list of all QFEs (Hotfixes and Updates) installed, along with a good bit of extraneous info.

    > Now let's work on formatting. This is my everyday method.
    wmic qfe list brief

    Update                        KB963660                                 NT AUTHORITY\SYSTEM  2/26/2009
    Update                        KB967062                                 NT AUTHORITY\SYSTEM  2/26/2009

    Now some of the noise is removed and it is easier to read the list of updates.

    speechuxcpl.dll_I03b8_0409

    TIP:  Is KBXXXXXX installed on this system?!? I can only remember the last three digits of the update anyway… Easy to check. Just pipe your output to ‘find.’

    wmic qfe list brief | find /i "660"

    Update                        KB963660                                 NT AUTHORITY\SYSTEM  2/26/2009

    Apparently it is installed. Nice.

    > This is good, but we can do better.
    wmic qfe get csname,hotfixid,description

    VMM2008R2-03  Update           KB963660
    VMM2008R2-03  Update           KB967062

    Now we're getting somewhere. We've selected the header for only those columns we are interested in and have returned a clean list of updates along with the system name.

    This much you can keep in your head. You might want to create a batch file for items in the next section.

     


     

    Advanced Queries

    Now that you've waded into the deep end let's perform some real work. These are the commands to place in a batch file for your Toolkit. The steps below assume you have already created a ‘C:\Temp’ directory on your system. CSName is not required for the next two commands; it is implied.

    > Create a CSV file from the output.
    wmic /output:c:\temp\qfe.csv QFE GET HotFixID,Description /format:csv

    The resulting CSV file lists these items, ready to be opened in Excel: Node,Description,HotFixID

    > CSV files are not as interesting as HTML, so let's shift output formats.
    wmic /output:c:\temp\qfe.html QFE GET HotFixID,Description /format:htable

    Now you have a clean multicolored table with results, complete with column headers.


    Remote Systems

    The only thing left to do is perform this same work on remote machines. First a single machine, then a list of systems. Replace <remotesystem> with your remote system name. Note that we add CSName to pull the remote name.

    > List remote system updates.
    wmic /node:"<remotesystem>" /output:c:\temp\qfe_remote.html QFE GET CSName,HotFixID,Description /format:htable

    If this did not work for you keep in mind that you must be an administrator on the remote machine, and Remote Management must be enabled.

    > Finally, let's feed a list of server names and create a single HTML file. Create a file named 'serverlist.txt' with one system per line.
    wmic /node:@serverlist.txt /output:c:\temp\qfe_serverlist.html QFE GET CSName,HotFixId,Description /format:htable

    That's it. You should have a table similar to this.WMI_POST


    Enjoy your new tools. Thanks for reading!

     

    For further reference:

    MSDN - WMI Command Line Tools
    http://msdn.microsoft.com/en-us/library/aa394531.aspx

     

     

  • ‘Unsupported Cluster Configuration’ - Virtual Networks

    There are a number of reasons a Virtual Machine (VM) can fall into a status of ‘Unsupported Cluster Configuration.’ A brief list, pulled from TechNet, shows that storage, networking, and other factors can cause this status. (Source: http://technet.microsoft.com/en-us/library/cc967323.aspx)

    • The virtual machine is on a LUN that contains more than one virtual machine.
    • The virtual machine is using non-clustered storage.
    • One or more virtual network adapters on the virtual machine are not connected to a highly available virtual network.
    • An ISO image is attached to highly available virtual machines.
    • A VMware HAVM is connected to a port group that does not exist on all nodes of the host cluster.

    This article deals with the third bullet, which effectively means, ‘settings are not identical on all virtual network (VN) adapters.’ Here are the TechNet instructions. Next we’ll discuss checking these automatically.

    For a virtual network to be considered common by VMM and available to highly available virtual machines on a host cluster, each virtual network in the host cluster must meet the following requirements:

    • The virtual network name must be identical on each host in the cluster. Virtual network names are case-sensitive, so the cases of all characters must match.
    • The host network adapters to which the virtual network is attached on each host in the cluster must have the same location.
    • The virtual network must have the same tag on each host in the cluster.

    After you update the virtual network configurations on all nodes, refresh the cluster to ensure that each virtual network is detected as common. Then check the Networks tab in the host cluster properties to verify that the networks have been added to it.

    Unsupported Cluster Configuration Blog7

    So, check the Network Name, Location and Tag for inconsistencies. Once you have done this for all VNs on each Host in the Host Cluster, corrected any inconsistencies and refreshed the Host Cluster, the VMs will change back to a healthy status. Verifying all of this can take some time, and is prone to human error as these settings are case sensitive and take into account spaces. Instead, why not run a PowerShell script that will report all settings for you? (Scroll to the bottom to download the script).

    Here are the three settings that must be consistent on all nodes.

    Unsupported Cluster Configuration Blog10

    Here’s the PowerShell script we’re going to use.

    Unsupported Cluster Configuration Blog8

    The script is saved as ‘VMNicInfo.ps1’ in the VMM Library. This way, it can be run from within the Admin console. I’ve created a folder named ‘Scripts’ to place it in. Refresh the library to see it.

    Unsupported Cluster Configuration Blog2

    Now we run the script by right clicking on it and answering a few prompts. Enter ‘r’ to run the script if prompted. Next, enter the name of your Host Cluster and press Enter. (This script must be run from an Admin console running on the VMM Server. To run it from the Admin console on a different system change ‘localhost’  to the name of your VMM Server and surround it with quotes.)

    Unsupported Cluster Configuration Blog3

    You see in the image above that the Name and Location are the same. There is no entry for Tag on either VN, so they match as well. In the example below we add a value to Tag on one of the systems.

    Unsupported Cluster Configuration Blog6

    Now we run the script again and see that the output reflects this change. (If this does not work for you make sure you have refreshed the Host Cluster, in the red box). You will also notice that the VMs running on the Host Cluster change to a state of ‘Unsupported Cluster Configuration.’

    Unsupported Cluster Configuration Blog4

    Change the Tag back to its previous value (nothing in my case) and perform another refresh to see your VMs change back to a healthy state.

    image

    That’s it. I hope this clears up any questions or misconceptions you may have had. Below is the script. Be sure to copy this to Notepad as it will remove all formatting characters. Or, download the script here, then run from a VMM PowerShell prompt.

     

    #####################################################################

     

    function DisplayNicInfo($VMHostName)

     

    {

     

      $yy= get-VirtualNetwork -VMHost $VMHostName;

     

      $yy | ForEach-object {write-host "    Name      " $_.Name;

     

                            write-host "    Locations " $_.Locations;

     

                            write-host "    Tag       " $_.Tag;

     

                           }

     

    }

     

    #####################################################################

     

    $clusname = read-host "Host Cluster name to check"

     

    Write-Host ""

     

    $VMMServer = get-vmmserver -computername localhost

     

    $Cluster = get-vmhostcluster -name $clusname

     

    $VMHosts = get-vmhost -vmhostcluster $Cluster

     

    $VMHosts | ForEach-object {Write-Host "VMHost: " $_.Name;

     

      DisplayNicInfo($_.Name);

     

      Write-Host ""}

     

    Big thanks to Austin, who reworked the script into a thing of beauty. Go Perf! (http://blogs.technet.com/askperf)

  • SCVMM PowerShell Commands Cheat Sheet

    PowerShell icon

    PowerShell. You keep meaning to learn it. You just need a push. Maybe a CubeNote (Cheat Sheet) would help.

    Think about this… every single command you perform in the SCVMM Admin Console can be performed in PowerShell. There isn’t a single thing in the Admin Console that is not available by interactive command or script. In fact, there are many things that can be done only in PowerShell. Further, when scripts (.ps1 files) are saved to the Library they are available to run immediately by right clicking them and selecting ‘Run Script.’ I published a script last year that determines which network settings on which Host are causing your virtual machines to show up as ‘Unsupported Cluster Configuration.’ Cool huh? That article is here. Below I’ve right clicked the script to show other available options.

    image 

    So what’s a CubeNote?

    Basically, a quick reference of all SCVMM specific commands. Sure, you could type the line below, but then you’d have to sort it all out yourself. I’ve formatted the commands to fit on a single sheet, organized by function. I glance at it all the time to find the right command. The sheet is organized by command type, so find the action (verb) you are interested in, then locate the object you want to act on (noun). Possible actions are: Add, Get, Move, New, Refresh, Set, Update, and various others.

    Tip: Make sure you open a PowerShell console that has the SCVMM cmdlets already loaded by clicking the PowerShell button shown below. Open the Admin Console on the SCVMM Server itself to save yourself some headache. (PowerShell guru’s do what you like…)

    Get-Command -PSSnapIn "microsoft.systemcenter.virtualmachinemanager" | write-outfile c:\temp\SCVMM_Commands.txt

    PowerShell

     

    CUBENOTE SCVMM 2008 R2 PowerShell Commands

    PowerShell Resources

    If you’re a complete newb to PowerShell, I’ve got that covered too. Links below provide the best ramp and reference material online. There are great books too. Check some of the Microsoft Press books in particular.

    TechNet Script Center

    Hey, Scripting Guy! BLOG

    SCVMM PowerShell Resources

    SCVMM specific URLs with plenty of examples ready to run now.

    SCVMM Scripting on TechNet – EXAMPLES!

    Virtual Machine Manager 2008 R2 Scripting Guide (Word Doc)

    System Center Virtual Machine Manager 2008 R2 Cmdlet Reference (Word Doc)

    Troubleshooting VMM Cmdlet Issues

    SCVMM CubeNote Downloads

    CUBENOTE SCVMM 2008 R2 PowerShell Commands      CUBENOTE SCVMM 2008 R2 PowerShell Commands      CUBENOTE SCVMM 2008 R2 PowerShell Commands

     

     

    ...

     jonjor

  • VMMTrace and VMMTraceALT: Simplified VMM Tracing

    Now Supports SCVMM 2008 R2 SP1 and VMM 2012!

    WHAT IS VMMTRACE?Trace_Cleared

    VMMTrace and VMMTraceALT capture detailed information on systems participating in a reproducible VMM problem. This is a verbose data capture and should be run for a short period of time while the problem is reproduced. VMMTrace has been used by IT professionals in the user community and at Microsoft for years.

    Why are there two versions of this tool?!?

    VMMTrace uses DebugView from Sysinternals to capture VMM data and produce readable text. The downside to the tool is that it must restart the VMMAgent and VMMService services prior to each trace. This is usually not a problem, but if you have many jobs running this will stop them and they will have to be restarted manually. VMMTraceALT does not require these two services to be restarted and thus may have less impact if you are continuously running jobs. Both tools produce the same output and are nearly identical in use.

    WHEN?

    VMMTrace and VMMTraceALT are a solid last step. When you’ve made it through the items below and are still are no closer to resolution you should consider capturing a trace.

    • Review Application and System Event logs on the SCVMM server and Hosts involved in the problem

    • Install all Updates and verify using the VMMUpdate utility

    • Verify required basics again:

      • DNS resolution in all directions

      • Account running VMMService is located in ‘Administrators’ and ‘Virtual Machine Manager Servers’ groups on SCVMM server and Hosts

      • Hyper-V, Cluster and so on are healthy

    HOW?

    Download the tool below by clicking a big GREEN BUTTON. Then identify your scenario and run the tool on the right systems at the same time. Use an elevated command prompt. Generally, the trace must be run on the SCVMM server, in addition to systems as indicated below.

    WHICH SYSTEMS DO I RUN THE TRACE ON?

    Issue 1: Console crash or unable to connect
    Collect traces from both the computer where you run Admin Console and the SCVMM Server

    Issue 2: Add Hosts issues
    Collect traces from the SCVMM Server and the Host system

    Issue 3: Host status or VM issue
    Collect traces from both the SCVMM Server and the Host in question

    Issue 4: Cluster issues
    Collect traces from a single Cluster Node and the SCVMM Server

      Download VMMTrace           Download VMMTraceALT

    Download VMMTrace              Download VMMTrace

    Quick link: http://tiny.cc/vmmtrace

     

     

       jonjor

  • Common P2V Failures Explained

    Desktop Virtualization   plus sign    default_VMM_logo  equal sign =     application virtualization 2

    Physical to Virtual (P2V) conversion is one of the most popular features of SCVMM. And, there are many articles written to make the process easy to understand, or to resolve common problems. Last week I worked with an company that had converted around three hundred systems (nice!). Two systems were giving them a headache, so they reached out to Microsoft Support. Since they had successfully converted so many systems already, I knew the problem was almost certainly NOT with the SCVMM server or any Destination Hosts (managed Hyper-V systems) they had been using. What does this leave? The two P2V Source machine (ones to be converted). In the end this proved true.

    When there is not already a great track record (if at all) of successful P2V jobs for SCVMM, then you need to look at SCVMM and the Hosts. That is what follows.

     

    Identify and Resolve

    Information below may resolve your problem based on whether the symptoms match up with yours. The most important thing to check is the job itself that failed in SCVMM. What step was being performed on the ‘Details’ tab when it failed? What DID work prior to this step? Compare this to the full P2V process as it is laid out in TechNet… with pictures!

     

    P2V: Converting Physical Computers to Virtual Machines in VMM

    http://technet.microsoft.com/en-us/library/cc764232.aspx 

    The ‘Summary’ tab is also useful, but I can’t place enough emphasis on the ‘Details’ tab. What was logically going on? Think it through.

     

    Questions to Ask Yourself

    First, do you have all updates installed on the SCVMM Server and Hosts? Difficult to know… Follow this link to a simple solution… then proceed. http://tiny.cc/vmmupdate (It’s safe, I wrote it.)

    1. Have you ever performed a successful P2V with this installation of SCVMM?
      1. If so, what is different about this conversion?
      2. If not, try another P2V source, and a different Destination Host as a test.
    2. What is the exact OS with service pack of the Source machine (one you are trying to capture)?
      1. Do these meet basic requirements as listed on the TechNet article above?
    3. What is the Destination system (Hyper-V system that the converted system is being placed on)? See below…
      1. Scenario #1: A different machine running Hyper-V?
      2. Scenario #2: The SCVMM server itself? (This means you have Hyper-V installed on the SCVMM Server)

     

    >>> Identify your scenario from the section to follow! <<<

    clip_image002[5]

     

    Scenario2_VMM Server is Destination Alsov2

     

    Possible Quick Fix

    Pick which scenario matches your environment, and then follow the two test steps. I need to know what step, if any, below fails. Pick your scenario as it matches the illustrations above.

     

    Scenario #1

    1. Create a small temporary VM and deploy it directly to the Destination Host.
    2. Create this with a blank hard drive
    3. Change the hard drive size to 2GB as you go through the wizard
    4. Do not change anything else in the wizard (No OS will actually be installed for this test)
    5. Deploy this temporary VM to the exact same disk or LUN the Source machine image was being placed on in the failed job

     

    Did this complete successfully? If not, exactly what failed?

    1. If ‘Scenario #1’ succeeded, perform this quick move.
    2. In the SCVMM Admin Console select the new temporary VM you deployed
    3. Right click this VM and select ‘Store in Library’
    4. Place this VM in the default SCVMM Library share anywhere (must be a share on the SCVMM Server)

     

    Did this complete successfully? If not, exactly what failed?

     

    Scenario #2

    1. Create a small temporary VM and deploy it directly to the SCVMM itself.
    2. Create this with a blank hard drive
    3. Change the hard drive size to 2GB as you go through the wizard
    4. Do not change anything else in the wizard
    5. Deploy this temporary VM to the exact same disk or LUN where the Source machine image was being placed on the SCVMM Server in the failed job

     

    Did this complete successfully? If not, exactly what failed?

    1. If ‘Scenario #2’ succeeded, perform this quick move.
    2. In the SCVMM Admin Console select the new temporary VM you deployed
    3. Right click this VM and select ‘Store in Library’
    4. Place this VM in the default SCVMM Library share anywhere (must be a share on the SCVMM Server)

     

    Did this complete successfully? If not, exactly what failed?

     

     

    Possible Reasons for the failure

    Depending on results from the above tests, one of these may be applicable.

     

    Possible Resolution #1

    If any of the test scenarios above fail…

    In this event, follow the steps in the article below to remove the Destination Host from SCVMM, clean up certificates on both machines, then add the Host back and verify certificates. Explanatory article on removing a Host provided.

     

    > Article to follow:

    P2V fails with Error 2912 0x80072F0C with System Center Virtual Machine Manager 2008 or System Center Virtual Machine Manager 2008 R2

    http://support.microsoft.com/kb/2385280

    > Shameless plug… Article with same steps as above, but more detail.

    P2V fails with Error 2912 0x80072F0C

    http://blogs.technet.com/b/jonjor/archive/2010/09/07/p2v-and-other-jobs-fail-with-error-2912-0x8007xxxx.aspx

    > If you need help removing a Host:

    How to Remove a Host

    http://technet.microsoft.com/en-us/library/cc956121.aspx

     

     

    Possible Resolution #2

    If none of the test scenarios above failed…

    1. Delete any failed P2V virtual machines still listed in the Admin Console
    2. Start a new P2V job using the same steps you have in the past
    3. Watch the steps of the job as it runs. Once past the BITS transfer portion take a look at the new VM that is being created.
      1. Open Hyper-V Manager and connect to the Destination Host where the converted image is being placed
      2. The new VM will already show up in the list of virtual machines in the Hyper-V console. Simply click the new VM once normally
      3. Notice at the bottom of the screen that a thumbnail is available
      4. Double click this thumbnail to view the virtual machine as it is being created by SCVMM
    4. Do NOT UNDER ANY CIRCUMSTANCES INTERACT WITH THE VM AS IT IS BEING CREATED. Do not click in the watch window. Simply watch it
    5. The VM will turn on, then shut down after a while. This may repeat.
    6. You may see the system sitting at a prompt waiting to log on for a long time. DO NOT LOG ONTO THE VIRTUAL MACHINE! It will shut down on its own.
    7. In the SCVMM Admin Console, what is the name of the job step being performed?
    8. Compare this to what you see in Hyper-V. This may help you determine what SCVMM is attempting to do that is going wrong. Address the issue you see in SCVMM, or perform research based on what you see.

     

    NOTE: If you interfere with the P2V process in the Hyper-V window whatsoever and the job fails it is because something you modified affected what SCVMM expected.

     

     

     

     

     

    jonjor

  • How to Capture a WinRM Trace

    When working with Microsoft Support you may be asked to capture traces to assist with issue resolution. Below are two methods for capturing WinRM traces. Following a reboot these will need to be set up again. The GUI setup is simple. The logman method allows a template with pre-populated settings to be imported. Choose the method that suits you.

    Method 1 using GUI

    1. Open Perfmon and navigate to Event Trace Sessions. In your case you will run this from a non-core box and connect to the core box first.

    clip_image002

    2. Right click Event Trace Sessions and choose New Data Collector Set.

    3. Name it WinRM, select “Create manually” and click Next

    4. Click “Add” when prompted “Which event trace providers would you like to enable?”

    5. Select “Windows Remote Management Trace”.

    clip_image004

    6. Select the Keywords(Any) Property and choose edit.

    7. Add the desired values. I selected all of them and clicked OK.

    clip_image006

    8. Select Level and then Edit.

    9. Select the Manual option, change the value to 0x05, and click OK.

    clip_image008

    10. Click Next.

    11. Change the Root Directory to the destination location for the trace log.

    12. Click Finish  (Repeat process for both client and server)

    13. Start the trace by selecting WinRM and choosing Start (on client and server)

    clip_image010

    14. Reproduce the issue.

    15. Stop the trace by selecting WinRM and choosing stop for both systems.

    16. You will have a winrm.etl file in the location that was set in step 11.

     

    Method 2 using LOGMAN

    1. Rename the attached WinRMETL.txt file to WinRMETL.xml

    2. Create a folder called “winrm” on the root of the C drive of the node that is having the Winrm problem, node 2 for example.

    3. Copy the xml file to that folder and change into that folder

    4. Enter “logman /import –n mytrace –xml c:\winrm\WinRMETL.xml” and press enter.

    5. Enter “logman” and press enter and should see the “mytrace” as a Data Collector Set”

    6. Repeat this for the client from where you will run the Winrm command.

    7. On both systems Enter “logman start mytrace” to start the tracing.

    8. On the client system enter the “winrm id -r:<targetname>

    9. Stop trace by entering “logman stop mytrace” on both systems.

    10. There will be a file created called winRM2.etl in the C:\winrm directory.

  • SCVMM P2V fails with at 40 percent with 0x809933BB or 0x80070539

    New article published in Microsoft Support. It should be available soon. In the meantime, here’s what I’ve put together. Hope it helps some people out there!

    Symptoms

    Error when performing online P2V. Stops at 40 percent every time.

    Job result in SCVMM Admin Console
    Error (13243)
    The snapshot creation failed because the VSS writer {4dc3bdd4-ab48-4d07-adb0-3bee2926fd7f} on source machine xxx did not respond within the expected time interval.
    (Internal error code: 0x809933BB)

    Recommended action:
    Ensure that VSS writer is functioning properly and then try the operation again.
    4dc3bdd4-ab48-4d07-adb0-3bee2926fd7f is the Shadow Copy Optimization Writer

    Event in Application Event Log on Source machine
    Log Name:      Application
    Source:        VSS
    Date:          2/15/2010 6:19:11 PM
    Event ID:      8193
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      ServerName.Domain.com
    Description:
    Volume Shadow Copy Service error: Unexpected error calling routine ConvertStringSidToSid.  hr = 0x80070539.

    Operation:
       OnIdentify event
       Gathering Writer Data

    Context:
       Execution Context: Shadow Copy Optimization Writer
       Writer Class Id: {4dc3bdd4-ab48-4d07-adb0-3bee2926fd7f}
       Writer Name: Shadow Copy Optimization Writer
       Writer Instance ID: {d19e5030-d027-4b0d-b783-02d87be808f4}

    Cause

    Volume Shadow Service (VSS) 'Shadow Copy Optimization Writer' is not fuctioning correctly. In the event log above the issue involves resolving a SID.

    Resolution

    • There were unresolvable SIDs in the 'Administrators' group on the SCVMM Source machine. These were deleted.
    • Followed steps in 'KB947242 - A temporary profile is loaded after you log on to a Windows Vista-based system' to resolve issue where customer's profile was deleted from the system (in this case the profile was simply corrupt).
    1.  
      1. Open regedit and locate 'HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList'
      2. Under the ProfileList subkey, delete any subkey that is named SID.bak.

    Note SID is a placeholder for the security identifier (SID) of the user account that is experiencing the problem. The SID.bak subkey should contain a ProfileImagePath registry entry that points to the original profile folder of the user account that is experiencing the problem.

    More Information

    Shadow Copy Optimization Writer
    Beginning with Windows Vista and Windows Server 2008, this writer deletes certain files from volume shadow copies. This is done to minimize the impact of Copy-on-Write I/O during regular I/O on these files on the shadow-copied volume. The files that are deleted are typically temporary files or files that do not contain user or system state.

    The writer name string for this writer is "Shadow Copy Optimization Writer".

    The writer ID for the shadow copy optimization writer is 4DC3BDD4-AB48-4D07-ADB0-3BEE2926FD7F.

    In-Box VSS Writers
    http://msdn.microsoft.com/en-us/library/bb968827(VS.85).aspx

  • Migrating from VMM 2008 Beta to VMM 2008

    When migrating from SCVMM 2008 Beta to the final release bits (RTM), a utility is required in order to complete the process successfully. This tool is no longer posted on the Microsoft 'Connect' site, but is still available by request from Microsoft Support. The name of the utility is 'upgradev2beta.exe'.

     

    Migrating from VMM 2008 Beta to VMM 2008

    http://technet.microsoft.com/en-us/library/cc764282.aspx

  • Resolve Communication Issues in SCVMM - Part 1

    Disable Task Offloading and Update WMI

    Communications issues with SCVMM can take on the form of access denied, timeouts, and often as intermittent connectivity issues. The steps in this post are the same ones I use to resolve a good number of customer issues.

     

    Feedback on this article is welcome. If you have technical questions please post them appropriately in the forums:

    http://social.technet.microsoft.com/Forums/en-US/category/virtualmachinemanager/

     

     

    Two types of issues are addressed here

    1) Many new settings available to NIC drivers that do not always function as well as would be expected.

    2) SCVMM relies heavily on WMI. The updates listed in this article resolve issues with WMI that will allow SCVMM to function properly.

     

    This MDSN article lists all values available.

    Using Registry Values to Enable and Disable Task Offloading
    http://msdn.microsoft.com/en-us/library/aa938424.aspx

     

     

    WMI

    Install three WMI updates on all Windows 2008 server running Hyper-V (and therefore are SCVMM Hosts)

    958124  A wmiprvse.exe process may leak memory when a WMI notification query is used heavily on a Windows Server 2008-based or Windows Vista-based computer

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;958124

     

    954563  Memory corruption may occur with the Windows Management Instrumentation (WMI) service on a computer that is running Windows Server 2008 or Windows Vista Service Pack 1

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;954563

     

    955805  Certain applications become very slow on a Windows Server 2008-based or Windows Vista SP1-based computer when a certificate with SIA extension is installed

    http://support.microsoft.com/default.aspx?scid=kb;EN-US;955805

     

    Network Settings

    NOTE

    - If working with a core server you may want to connect via remote registry and make these changes.
    - All values should be set to '0' EXCEPT for the last one which is related to IPSEC, and thus Kerberos. Leave this one alone ---> 'HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Ipsec\EnabledOffload'  

     

     

    1 - Locate all physical NICs in the registry under:
    'HKLM\System\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}'

    2 -  There will be folders with four digits, starting with '0000'. Locate the ones that show the physical NIC names on the right. Look for the 'DriverDesc' value on the right; this should have the name of a NIC such as 'HP NC360T PCIe Gigabit Server Adapter.' For each of these, make the changes below.

    3 - Disable All Vendor specific Offloading
    Set values for any entries below that include the word 'Offload' to '0' (Disabled)
    *FlowControl

         No description available

    *IPChecksumOffloadIPv4
         Describes whether the device enabled or disabled the calculation of IPv4
    checksums.
    *TCPChecksumOffloadIPv4
         Describes whether the device enabled or disabled the calculation of TCP Checksum
    over IPv4 packets.
    *TCPChecksumOffloadIPv6
         Describes whether the device enabled or disabled the calculation of TCP checksum
    over IPv6 packets.
    *UDPChecksumOffloadIPv4
         Describes whether the device enabled or disabled the calculation of UDP Checksum
    over IPv4 packets.
    *UDPChecksumOffloadIPv6
         Describes whether the device enabled or disabled the calculation of UDP Checksum
    over IPv6 packets.
    *LsoV1IPv4
         Describes whether the device enabled or disabled the segmentation of large TCP
    packets over IPv4 for large send offload version 1 (LSOv1).
    *LsoV2IPv4
         Describes whether the device enabled or disabled the segmentation of large TCP
    packets over IPv4 for large send offload version 2 (LSOv2).
    *LsoV2IPv6
         Describes whether the device enabled or disabled the segmentation of large TCP
    packets over IPv6 for large send offload version 2 (LSOv2).
    *IPsecOffloadV1IPv4
         Describes whether the device enabled or disabled the calculation of IPsec headers
    over IPv4.
    *IPsecOffloadV2
         Describes whether the device enabled or disabled IPsec offload version 2
    (IPsecOV2). IPsecOV2 provides support for additional crypto-algorithms, IPv6, and
    co-existence with large send offload version 2 (LSOv2).
    *IPsecOffloadV2IPv4
         Describes whether the device enabled or disabled IPsecOV2 for IPv4 only.
    *RSS
         Receive side scaling
    *TCPUDPChecksumOffloadIPv4
         Describes whether the device enabled or disabled the calculation of TCP or UDP
    checksum over IPv4.
    *TCPUDPChecksumOffloadIPv6
         Describes whether the device enabled or disabled the calculation of TCP or UDP
    checksum over IPv6.

    4 - Disable Offloading in Windows.
    Use the following registry values to enable or disable task offloading for the TCP/IP protocol:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters\DisableTaskOffload

    Setting this DWORD value to ‘1’ disables all of the task offloads from the TCP/IP transport. Setting this value to zero enables all of the task offloads.

    Related Links
    Network Issues with Windows Server 2008 RDP and VS/Hyper-V on Dell Servers
    http://www.petri.co.il/network-issues-with-windows-server-2008-rdp-on-dell-servers.htm

     

  • What version of VMM am I running?!?

    A new KB has been released that makes it simple to know what build of VMM you are running. This is important as you should always be at the latest Update Rollup or Service Pack possible. By knowing your build number you can identify updates that need to be installed. Find your build number on the list, then look for a higher build number in the same release of VMM. Best of luck!

    Stay up to date on updates!

     

    How to determine the version of Virtual Machine Manager

    http://support.microsoft.com/kb/2627355

     

    an excerpt:

    System Center 2012 SP1 RTM  KB Date Released  3.1.6011.0  
    System Center 2012 SP1 Update Rollup 1 2785682
    11/20/2012
    3.1.6018.0 http://support.microsoft.com/kb/2785682
    System Center 2012 SP1 Update Rollup 2 2802159
    1/11/2013
    3.1.6020.0

    http://support.microsoft.com/kb/2802159

    System Center 2012 SP1 Update Rollup 3 2836751
    4/5/2013
    3.1.6027.0 http://support.microsoft.com/kb/2836751
    System Center 2012 SP1 Update Rollup 4 2879276
    8/12/2013
    3.1.6032.0 http://support.microsoft.com/kb/2879276
             
    System Center 2012 R2 RTM     3.2.7510.0

     

    Denis pointed out that there is a similar list here. Thanks!

    social.technet.microsoft.com/.../15361.list-of-build-numbers-for-system-center-virtual-machine-manager-vmm.aspx

     

     

      jonjor 

Jonathan's Virtual Blog

Jonathan's Virtual Blog