<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Matthijs's blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/matthts/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/matthts/feed.xml</link>
    <description>Virtualization tools and stuff.
By Matthijs ten Seldam</description>
    <lastBuildDate>Thu, 28 Apr 2016 05:18:15 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>MAP Toolkit 9.0 Beta now available!</title>
      <link>https://docs.microsoft.com/archive/blogs/matthts/map-toolkit-9-0-beta-now-available</link>
      <pubDate>Mon, 11 Nov 2013 22:52:54 GMT</pubDate>
      <dc:creator><![CDATA[Matthijs ten Seldam]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/matthts/2013/11/11/map-toolkit-9-0-beta-now-available/</guid>
      <description><![CDATA[MAP Toolkit 9.0 Beta now available!  The beta&#160; of the Microsoft Assessment and Planning (MAP)...]]></description>
      <content:encoded><![CDATA[<h1>MAP Toolkit 9.0 Beta now available!</h1>  <p>The beta&#160; of the Microsoft Assessment and Planning (MAP) Toolkit version 9.0 is now available. This beta release of the MAP Toolkit helps increase the agility and cost effectiveness of deploying the latest Microsoft technologies. It also enhances usage tracking to include accounting for Remote Desktop Services as well as Server and Cloud Enrollment licensed deployments. MAP 9.0 beta additionally helps organizations assess their environment for Office 2013 and Office 365, track usage of Windows Server 2012, Lync Server 2013, SharePoint Server 2013, Exchange Server 2013, System Center Configuration Manager 2012, and SQL Server 2012.&#160; The Windows Azure assessment report has also been updated to include the latest Azure sizing.</p>  <h2>New Server and Cloud Enrollment scenario helps to simplify adoption</h2>  <p>Server and Cloud Enrollment (SCE) is a new offering under the Microsoft Enterprise Agreement that enables subscribers to standardize broadly on one or more Microsoft Server and Cloud technologies.&#160; The MAP Toolkit 9.0 features an assessment scenario to identify and inventory SCE supported products within an enterprise and help streamline enrollment.</p>  <h2>New Remote Desktop Services Licensing Usage Tracking scenario creates a single view for enterprise wide licensing</h2>  <p>With an increase in enterprises deploying Remote Desktop Services (RDS) across wider channels, RDS license management has become a focus point for organizations.&#160; With the new RDS Licensing scenario, the MAP Toolkit rolls up license information enterprise-wide into a single report, providing a simple alternative for assessing your RDS licensing position.</p>  <h2>Support for software inventory via Software ID tags now available</h2>  <p>As part of the Microsoft effort to support ISO 19770-2, the MAP Toolkit now supports inventory of Microsoft products by Software ID (SWID) tag.&#160; SWID enhanced reports will provide greater accuracy and assist large, complex environments to better manage their software compliance efforts by simplifying the software identification process and lowering the cost of managing software assets.</p>  <h2>Improved Usage Tracking data collection for SQL Server Usage Tracking scenario</h2>  <p>As part of our ongoing improvement initiatives, Usage Tracking for SQL Server 2012 has been enhanced to use User Access Logging (UAL).&#160; UAL is a standard protocol in Windows Server 2012 that collects User Access information in near real time and stores the information in a local database, eliminating the need for log parsing to perform Usage Tracking assessments.&#160; UAL vastly improves the speed and helps to eliminate long lead times for environment preparation associated with running Usage Tracking assessments.</p>  <p><a href="https://connect.microsoft.com/site297">Download the MAP Toolkit 9.0 now!</a></p>  <p>Not already a part of the MAP Toolkit beta community?&#160; Do you know someone who would be interested in participating in this beta?&#160; Use the following link to register for the MAP Toolkit beta program (requires a Microsoft Live ID): </p>  <p><a href="https://connect.microsoft.com/site297/InvitationUse.aspx?ProgramID=1668&amp;InvitationID=MAP-B8H8-KMJ2">https://connect.microsoft.com/site297/InvitationUse.aspx?ProgramID=1668&amp;InvitationID=MAP-B8H8-KMJ2</a></p>]]></content:encoded>
    </item>
    <item>
      <title>WINDOWS SERVER 2012 R2 MS PRESS EBOOK</title>
      <link>https://docs.microsoft.com/archive/blogs/matthts/windows-server-2012-r2-ms-press-ebook</link>
      <pubDate>Tue, 27 Aug 2013 01:51:34 GMT</pubDate>
      <dc:creator><![CDATA[Matthijs ten Seldam]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/matthts/2013/08/27/windows-server-2012-r2-ms-press-ebook/</guid>
      <description><![CDATA[&#160;  The Introducing Windows Server 2012 R2 Preview Release book from Microsoft Press is now...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p>The <b>Introducing Windows Server 2012 R2 Preview Release</b> book from Microsoft Press is <b>now available</b>. You can download it for FREE or order your own hard copy version. This is a great way to see what’s new in Windows Server 2012 R2. A System Center 2012 R2 version is underway and there will be a much lengthier version after Windows Server 2012 R2 is generally available.</p>  <p><b>Introducing Windows Server 2012 R2 Preview Release</b></p>  <p><b>Download</b></p>  <table cellspacing="0" cellpadding="0" border="0"><tbody>     <tr>       <td valign="top" width="131">         <p>PDF</p>       </td>        <td valign="top" width="804">         <p><a href="https://aka.ms/IntroWinServ2012R2Preview/PDFebook">PDF is here</a> (108 pages, 5 MB)</p>       </td>     </tr>      <tr>       <td valign="top" width="131">         <p>ePub</p>       </td>        <td valign="top" width="804">         <p><a href="https://aka.ms/Ebgv26">EPUB format is here</a></p>       </td>     </tr>      <tr>       <td valign="top" width="131">         <p>Mobi (Kindle)</p>       </td>        <td valign="top" width="804">         <p><a href="https://aka.ms/H00nlo">MOBI format is here</a></p>       </td>     </tr>      <tr>       <td valign="top" width="131">         <p>Print</p>       </td>        <td valign="top" width="804">         <p>If you prefer a hard copy of the book, you can order it <a href="https://shop.oreilly.com/product/0790145396044.do">here</a> from our official distributor, O’Reilly Media, for $9.99</p>       </td>     </tr>   </tbody></table>  <p><b>Description</b></p>  <p>Get a head start evaluating Windows Server 2012 R2 - with early technical insights from Microsoft MVP Mitch Tulloch and members of the Windows Server product team. Based on the Windows Server 2012 R2 Preview release, this guide introduces new features and capabilities, with scenario-based advice on how the platform can meet the needs of your business. Get the high-level overview you need to begin preparing your deployment now.</p>  <p>Preview new features and enhancements, including:</p>  <ul>   <li>Server virtualization and cloud solutions</li>    <li>Availability and scalability</li>    <li>Provisioning and storage management</li>    <li>Security features, access, and data protection</li>    <li>Infrastructure options</li>    <li>Server management and automation</li> </ul>  <p><b>+ more titles coming out later this year…</b></p>  <p>11/1/2013&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Introducing Windows 8.1: An Overview for IT Professionals</p>  <p>11/1/2013&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Introducing Microsoft System Center 2012 R2</p>  <p>11/1/2013&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Introducing Windows Azure for IT Professionals</p>]]></content:encoded>
    </item>
    <item>
      <title>Microsoft Assessment and Planning Toolkit 8.5 Now Available</title>
      <link>https://docs.microsoft.com/archive/blogs/matthts/microsoft-assessment-and-planning-toolkit-8-5-now-available</link>
      <pubDate>Mon, 08 Jul 2013 22:12:06 GMT</pubDate>
      <dc:creator><![CDATA[Matthijs ten Seldam]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/matthts/2013/07/08/microsoft-assessment-and-planning-toolkit-8-5-now-available/</guid>
      <description><![CDATA[Usage tracking for Windows Server 2012 and the 2013 versions of Microsoft’s...]]></description>
      <content:encoded><![CDATA[<table cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top">         <p><b>Usage tracking for Windows Server 2012 and the 2013 versions of Microsoft’s productivity servers!</b></p>          <table cellspacing="3" cellpadding="0" border="0"><tbody>             <tr>               <td>                 <p>We are pleased to announce the availability of Microsoft Assessment and Planning (MAP) Toolkit 8.5. This release adds new scenarios to help organizations assess their environments with greater agility and lower their cost of delivery. MAP Toolkit 8.5 includes hardware and infrastructure readiness assessments to help organizations plan their Windows 8 and Windows Server 2012 deployments. It also helps organizations assess their environment for Office 2013 and Office 365, track usage of Windows Server 2012, Lync Server 2013, SharePoint Server 2013, and Exchange Server 2013, and preparing a migration to Windows Azure virtual machines.</p>                  <p><a href="https://go.microsoft.com/fwlink/?LinkId=313465">For a comprehensive list of features and benefits, click here.</a></p>                  <table cellspacing="0" cellpadding="0"><tbody>                     <tr>                       <td>&#160;</td>                     </tr>                      <tr>                       <td>&#160;</td>                        <td><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/57/83/metablogapi/8015.clip_image002_1E4698A1.gif" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-57-83-metablogapi/8015.clip_5F00_image002_5F00_1E4698A1.gif"><img title="clip_image002" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/57/83/metablogapi/4130.clip_image002_thumb_4031FB25.gif" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-57-83-metablogapi/4130.clip_5F00_image002_5F00_thumb_5F00_4031FB25.gif" width="240" height="16" /></a></td>                     </tr>                   </tbody></table>                  <p><a name="WinServ12readiness"></a><b></b></p>                  <p><b>Windows Volume Licensing scenario helps to assess license status of computers running Windows Vista SP1 and newer </b></p>                  <p>For organizations licensing Windows, MAP Toolkit 8.5 detects and reports on the version of Windows running on client computers within the organization.&#160; This helps customers to manage investments in Software Assurance and deploy upgrades appropriately. </p>                  <p><b></b></p>                  <p><b>Usage Tracking for Lync 2013, SharePoint 2013, and Exchange 2013 </b></p>                  <p>Groundbreaking releases of Lync, SharePoint, and Exchange were brought to market this year. MAP 8.5 leverages new usage tracking capabilities provided by these products to achieve greater accuracy collecting and reporting on end user access without the need to parse log files, resulting in a faster and more efficient usage tracking process.</p>                  <p><b>Enhanced Virtual Machine discovery</b></p>                  <p>As organizations leverage server virtualization to optimize their resources, availability, and agility, the added virtual machine discovery and reporting capabilities of MAP Toolkit 8.5 help organizations manage assets and license compliance across virtualized environments. Enhanced inventory reports list the virtual machines discovered and the number of virtual machines running on each host. Because licenses are allocated to the physical host specifying the number that can be run, these reports directly support license compliance.&#160;&#160; </p>                  <p><b>New and improved user interface</b></p>                  <p>The updated user interface in MAP Toolkit 8.5 provides a more intuitive user experience. Scenario groups help users quickly navigate and view at-a-glance summaries on individual scenario tiles. Details for individual scenarios appear on the scenario detail pages along with a checklist of steps users can use to maximize results and enable one-click report generation. </p>                  <p><b>Improved Documentation</b></p>                  <p>As part of our ongoing attempt to improve documentation, the Getting Started Guide for the MAP Toolkit is now available as part of our <a href="https://go.microsoft.com/fwlink/?LinkID=308917">MAP Toolkit Wiki</a>.&#160; Our new live documentation method allows us to deliver relevant and up-to-date product information, timely usage examples, and adapt to changing technologies between releases.</p>                  <p><a href="https://go.microsoft.com/fwlink/?LinkId=313465">More features and benefits.</a></p>               </td>             </tr>           </tbody></table>       </td>     </tr>   </tbody></table>]]></content:encoded>
    </item>
    <item>
      <title>Microsoft Assessment and Planning Toolkit 8.0 Now Available</title>
      <link>https://docs.microsoft.com/archive/blogs/matthts/microsoft-assessment-and-planning-toolkit-8-0-now-available</link>
      <pubDate>Fri, 14 Dec 2012 07:44:00 GMT</pubDate>
      <dc:creator><![CDATA[Matthijs ten Seldam]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/matthts/2012/12/14/microsoft-assessment-and-planning-toolkit-8-0-now-available/</guid>
      <description><![CDATA[Accelerate your journey to the cloud with MAP 8.0!          The Solution...]]></description>
      <content:encoded><![CDATA[<table cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top">         <p><b>Accelerate your journey to the cloud with MAP 8.0!</b></p>          <p>The Solution Accelerators team is pleased to announce the Microsoft Assessment and Planning (MAP) Toolkit 8.0 is now available.</p>          <p>· <a href="https://technet.microsoft.com/en-us/solutionaccelerators/dd537566.aspx">Download MAP 8.0.</a><i></i></p>          <p>Accelerate your Windows Server 2012 migration with Microsoft Assessment and Planning (MAP) Toolkit 8.0. This latest version of MAP adds new scenarios to help plan your environment with agility and focus while lowering the cost of delivering IT. Included in MAP 8.0 are hardware and infrastructure readiness assessments to assist you in planning the deployment of Windows 8 and Windows Server 2012, preparing your migration to Windows Azure Virtual Machines, readying your environment for Office 2013 and Office 365, and tracking your usage of Lync.</p>          <p>&#160;</p>          <table cellspacing="0" cellpadding="0"><tbody>             <tr>               <td valign="top">                 <p><a href="https://technet.microsoft.com/en-us/library/bb977556.aspx">For a comprehensive list of features and benefits, click here.</a></p>               </td>             </tr>           </tbody></table>       </td>     </tr>   </tbody></table>]]></content:encoded>
    </item>
    <item>
      <title>Windows Server - Sockets, Logical Processors, Symmetric Multi Threading</title>
      <link>https://docs.microsoft.com/archive/blogs/matthts/windows-server-sockets-logical-processors-symmetric-multi-threading</link>
      <pubDate>Sat, 13 Oct 2012 16:20:42 GMT</pubDate>
      <dc:creator><![CDATA[Matthijs ten Seldam]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/matthts/2012/10/13/windows-server-sockets-logical-processors-symmetric-multi-threading/</guid>
      <description><![CDATA[With the release of each version of Windows Server, the maxima for supported number of sockets and...]]></description>
      <content:encoded><![CDATA[<p>With the release of each version of Windows Server, the maxima for supported number of sockets and logical processors have increased.</p>  <p>Whatever the numbers for the older OS releases, the best scalable platform for virtualization is Windows Server 2012 (and of course Hyper-V Server 2012), far exceeding VMware 5.1 and others.   <br />Let’s start by defining common terminology.</p>  <p>&#160;</p>  <h3>Terminology</h3>  <p><b>Logical Processor</b>: A thread of execution on a physical processing unit which can be a core or a thread on a symmetric multi-threaded (SMT) system.</p>  <p><b>Virtual Processor</b>: A virtualized instance of a logical processor exposed to virtual machines.</p>  <p><b>Socket</b>: What a physical processor plugs into. It looks like this:</p>  <p><a href="https://en.wikipedia.org/wiki/File:SocketA.jpg"><img title="clip_image001" style="display: inline; background-image: none;" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/57/83/metablogapi/0456.clip_image001_58289353.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-57-83-metablogapi/0456.clip_5F00_image001_5F00_58289353.jpg" width="128" height="97" /></a></p>  <p>&#160;</p>  <p>The below outlines the numbers per OS release and differentiates them based on whether Hyper-V is enabled or not.</p>  <p><b></b></p>  <h3>Windows Server 2012 Maximums</h3>  <p>&#160;</p>  <p><b>Windows Server 2012 x64 <i>with</i> Hyper-V Enabled</b></p>  <ul>   <li>Windows Server 2012 Standard Edition supports up to 64 sockets and up to 320 logical processors</li>    <li>Windows Server 2012 Datacenter Edition supports up to 64 sockets and up to 320 logical processors</li> </ul>  <p><b></b></p>  <p><b>Windows Server 2012 <i>without</i> Hyper-V Enabled</b></p>  <ul>   <li>Windows Server 2012 Standard Edition supports up to 64 sockets and up to 640 logical processors</li>    <li>Windows Server 2012 Datacenter Edition supports up to 64 sockets and up to 640 logical processors</li> </ul>  <p><b>Windows Server 2012 x86</b></p>  <ul>   <li>There is no such product. Windows Server 2012 is x64 only.</li> </ul>  <p><b></b></p>  <p>&#160;</p>  <h3>Windows Server 2008 R2 Maximums</h3>  <p>&#160;</p>  <p><b>Windows Server 2008 R2 x64 <i>with</i> Hyper-V Enabled</b></p>  <ul>   <li>Windows Server 2008 Standard Edition supports up to 4 sockets and up to 64 logical processors</li>    <li>Windows Server 2008 Enterprise Edition support up to of 8 sockets and up to 64 logical processors</li>    <li>Windows Server 2008 Datacenter Edition supports up to 64 sockets and up to 64 logical processors</li> </ul>  <p><b></b></p>  <p><b>Windows Server 2008 R2 x64 <i>without</i> Hyper-V Enabled</b></p>  <ul>   <li>Windows Server 2008 Standard Edition supports up to 4 sockets and up to 256 logical processors</li>    <li>Windows Server 2008 Enterprise Edition support up to of 8 sockets and up to 256 logical processors</li>    <li>Windows Server 2008 Datacenter Edition supports up to 64 sockets and up to 256 logical processors</li> </ul>  <p><b></b></p>  <p><b>Windows Server 2008 R2 x86</b></p>  <ul>   <li>There is no such product. Windows Server 2008 R2 is x64 only.</li> </ul>  <p><b></b></p>  <p>&#160;</p>  <h3>Windows Server 2008 with Service Pack 2 Maximums</h3>  <p>&#160;</p>  <p><b>Windows Server 2008 x64 SP2 <i>with</i> Hyper-V Enabled</b></p>  <ul>   <li>Windows Server 2008 Standard Edition supports up to 4 sockets and 24 logical processors</li>    <li>Windows Server 2008 Enterprise Edition support up to 8 sockets and 24 logical processors</li>    <li>Windows Server 2008 Datacenter Edition supports up to 32 sockets and 24 logical processors</li> </ul>  <p><b></b></p>  <p><b>Windows Server 2008 x64 SP2 <i>without</i> Hyper-V Enabled</b></p>  <ul>   <li>Windows Server 2008 Standard Edition supports up to 4 sockets and up to 64 logical processors</li>    <li>Windows Server 2008 Enterprise Edition supports up to 8 sockets and up to 64 logical processors</li>    <li>Windows Server 2008 Datacenter Edition supports up to 32 sockets and up to 64 logical processors</li> </ul>  <p><b></b></p>  <p><b>Windows Server 2008 x86 SP2 <i>with</i> Hyper-V Enabled</b></p>  <ul>   <li>This doesn’t exist. Hyper-V is an x64 only role and isn’t available in the x86 (32-bit) SKU.<b></b></li> </ul>  <p><b></b></p>  <p><b>Windows Server 2008 x86 SP2 <i>without</i> Hyper-V Enabled*</b></p>  <ul>   <li>Windows Server 2008 Standard Edition supports up to 4 sockets and up to 32 logical processors</li>    <li>Windows Server 2008 Enterprise Edition supports up to 8 sockets and up to 32 logical processors</li>    <li>Windows Server 2008 Datacenter Edition supports up to 32 sockets and up to 32 logical processors</li> </ul>  <p><b></b></p>  <p>&#160;</p>  <h3>Windows Server 2008 with Service Pack 1 Maximums</h3>  <p>&#160;</p>  <p><b>Windows Server 2008 x64 <i>with</i> Hyper-V Enabled</b></p>  <ul>   <li>Windows Server 2008 Standard Edition supports up 4 sockets with up to 16 logical processors</li>    <li>Windows Server 2008 Enterprise Edition support up to 8 sockets with up to 16 logical processors</li>    <li>Windows Server 2008 Datacenter Edition supports up to up to 64 sockets with up to 16 logical processors</li> </ul>  <p><b></b></p>  <p><b>Windows Server 2008 x64 <i>without</i> Hyper-V Enabled</b></p>  <ul>   <li>Windows Server 2008 Standard Edition supports up to 4 sockets and up to 64 logical processors</li>    <li>Windows Server 2008 Enterprise Edition support up to 8 sockets and up to 64 logical processors</li>    <li>Windows Server 2008 Datacenter Edition supports up to 32 sockets and up to 64 logical processors</li> </ul>  <p><b></b></p>  <p><b>Windows Server 2008 x86 <i>with</i> Hyper-V Enabled</b></p>  <ul>   <li>This doesn’t exist. Hyper-V is an x64 only role and isn’t available in the x86 (32-bit) SKU.<b></b></li> </ul>  <p><b></b></p>  <p><b>Windows Server 2008 x86 <i>without</i> Hyper-V Enabled</b></p>  <ul>   <li>Windows Server 2008 Standard Edition supports up to 4 sockets and up to 32 logical processors</li>    <li>Windows Server 2008 Enterprise Edition supports up to 8 sockets and up to 32 logical processors</li>    <li>Windows Server 2008 Datacenter Edition supports up to 32 sockets and up to 32 logical processors</li>    <ul>     <li>Hyper-V is an x64 only role and thus isn’t available in this SKU</li>   </ul> </ul>  <p><b></b></p>  <p><b>Windows Server 2008 x64 <i>with</i> Hyper-V Enabled and KB956710 installed*</b></p>  <ul>   <li>Windows Server 2008 Standard Edition supports up to 4 sockets and 24 logical processors</li>    <li>Windows Server 2008 Enterprise Edition support up to 8 sockets and 24 logical processors</li>    <li>Windows Server 2008 Datacenter Edition supports up to 32 sockets and 24 logical processors</li> </ul>  <p><strong>*</strong>This is included for completeness, however, it’s recommended that customers upgrade to Service Pack 2 which includes this fix and more.</p>  <p>&#160;</p>  <p>&#160;</p>  <h3>Symmetric Multi-Threading (SMT)</h3>  <p>There are often questions whether this should be enabled or not. Hyper-V works fine with Symmetric Multi-Threading and we recommend leaving it on. There’s really one corner case where you’d want to disable SMT:</p>  <p>&gt;&gt;&#160; if you’re running on a system that has more logical processor than is supported by Hyper-V &lt;&lt;</p>  <p>While this isn’t going to happen anytime soon with Windows Server 2012 Hyper-V, it can happen with earlier versions such as Windows Server 2008 R2 Hyper-V and previous. For example, if you’re running Windows Server 2008 R2 Hyper-V (which supports a maximum of 64 logical processors) on a system that has a total of 80 logical processors (4 sockets, 10 cores per socket with SMT).</p>  <p>In this case, Windows Server 2008 R2 Hyper-V will use the first 64 logical processors and ignore the rest. This results in a bunch of idle cores in the system while SMT is used because of the way logical processors are enumerated during boot up. When the OS boots it starts with socket 1 and enumerates all logical processors:</p>  <ul>   <li>on socket 1 it enumerates logical processors 1-20</li>    <li>on socket 2 it enumerates logical processors 21-40</li>    <li>on socket 3 it enumerates logical processors 41-60</li>    <li>on socket 4 it would see 61-64</li> </ul>  <p>Notice that 65-80 are not enumerated and thus are ignored/not used by the system. This is because Windows Server 2008 R2 Hyper-V only support up to 64 logical processors total. Again, with Windows Server 2012/Microsoft Hyper-V Server 2012 it now supports up to 320 logical processors per server. While SMT provides a good performance boost, a thread doesn’t equal a core, and you don’t want to leave any cores idle. Thus, in this case, we recommend disabling SMT so that Windows Server 2008 R2 uses all 40 cores.</p>  <p>Obviously, the best solution is to use Windows Server 2012 and leave SMT enabled because it supports up to 320 logical processors and can take full advantage of the hardware resources.</p>  <p>&#160;</p>  <p>One last remark with regards to capacity planning: when you perform capacity planning, count cores and do not count hyper-threads/symmetric multi-threads. While SMT can boost performance (~10-20%), SMT threads are not equivalent to cores. Microsoft has been consistent on this recommendation and this continues with Windows Server 2012 / Hyper-V Server 2012.</p>]]></content:encoded>
    </item>
    <item>
      <title>Windows Server 2012 Hyper-V and SR-IOV</title>
      <link>https://docs.microsoft.com/archive/blogs/matthts/windows-server-2012-hyper-v-and-sr-iov</link>
      <pubDate>Sat, 13 Oct 2012 10:51:51 GMT</pubDate>
      <dc:creator><![CDATA[Matthijs ten Seldam]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/matthts/2012/10/13/windows-server-2012-hyper-v-and-sr-iov/</guid>
      <description><![CDATA[With Windows Server 2012 Hyper-V we’ve taken performance to the next level.  For example:     Up to...]]></description>
      <content:encoded><![CDATA[<p>With Windows Server 2012 Hyper-V we’ve taken performance to the next level.</p>  <p>For example:</p>  <ul>   <li>Up to 64 virtual processors</li>    <li>Up to 1 TB memory per VM</li>    <li>&gt; 1 million IOPS per VM?</li>    <li>&gt;10 Gb/E <b><i><u>within</u></i></b> a VM?</li> </ul>  <p>&#160;</p>  <p>Windows Server 2012 Hyper-V provides Single-Root Input/Output (SR-IOV) Networking.</p>  <p>To learn more, I want to point you to this <b><u>outstanding 8 part blog series written by John Howard</u></b>. John makes a small joke that this is a feature the team has been working on for many years and it merely appears in the UI as a few checkboxes.(!) While the UI impact may appear minimal, the development and test behind SR-IOV requires deep engineering prowess which will become evident as you read this blog. I’ve included brief descriptions of each part with links below, but I highly recommend the entire series.</p>  <p>I also want to highlight one very important point about Windows Server 2012 Hyper-V and SR-IOV. Our awesome team didn’t take any shortcuts. Specifically, using SR-IOV with Hyper-V 2012 <b><i>works with Live Migration</i></b>. I know that everyone has come to expect that all our new Hyper-V features work with Live Migration, but this feature is very different because:</p>  <p>&gt;&gt;&#160; the <b><u>virtual machine is actually communicating with physical hardware</u></b>&#160; &lt;&lt;</p>  <p>Yes, think about that for a second.</p>  <p>When you go into Device Manager of the guest OS running within a VM configured with SR-IOV, you’ll actually see the <b><i>real NIC</i></b>. Here’s a screenshot. This is Device Manager on a virtual machine with Windows Server 2012 as guest and SR-IOV enabled using a Broadcom NIC:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/57/83/metablogapi/6320.clip_image001_3EE43905.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-57-83-metablogapi/6320.clip_5F00_image001_5F00_3EE43905.jpg"><img title="clip_image001" style="display: inline; background-image: none;" border="0" alt="clip_image001" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/57/83/metablogapi/0068.clip_image001_thumb_101E8063.jpg" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-57-83-metablogapi/0068.clip_5F00_image001_5F00_thumb_5F00_101E8063.jpg" width="657" height="483" /></a></p>  <p>It’s one thing to Live Migrate a virtual machine where the VM and all of its devices are virtualized, it’s another to Live Migrate a virtual machine where the VM is communicating with hardware.</p>  <p>Windows Server 2012 Hyper-V and SR-IOV support with Live Migration is a really, really big deal and another area where VMware is attempting to catch up with us. (No, vSphere 5.1 can’t vMotion VMs with SR-IOV…).</p>  <p>One more thing, SR-IOV also applies to <a href="https://www.microsoft.com/en-us/server-cloud/hyper-v-server/">Microsoft Hyper-V Server 2012</a>, available at no cost.</p>  <p>&#160;</p>  <p>===========================================================================</p>  <p><b>“Everything You Wanted to Know about SR-IOV in Hyper-V” by John Howard</b></p>  <p>===========================================================================</p>  <p>Part 1: <a href="https://blogs.technet.com/b/jhoward/archive/2012/03/12/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-1.aspx">https://blogs.technet.com/b/jhoward/archive/2012/03/12/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-1.aspx</a></p>  <p>Part 1 discusses emulated versus software devices, the pros and cons and constraints of each and why Microsoft is investing in SR-IOV.</p>  <p>-----------------------------------------------------------------------------------------------------</p>  <p>Part 2: <a href="https://blogs.technet.com/b/jhoward/archive/2012/03/13/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-2.aspx">https://blogs.technet.com/b/jhoward/archive/2012/03/13/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-2.aspx</a></p>  <p>Part 2 discusses the SR-IOV standard, physical functions (PFs) virtual functions (VFs) and the hardware requirements to make SR-IOV even possible.</p>  <p>-----------------------------------------------------------------------------------------------------</p>  <p>Part 3: <a href="https://blogs.technet.com/b/jhoward/archive/2012/03/14/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-3.aspx">https://blogs.technet.com/b/jhoward/archive/2012/03/14/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-3.aspx</a></p>  <p>Part 3 discusses device drivers and how they function in an SR-IOV environment as well as screenshots of an SR-IOV NIC within a Hyper-V VM.</p>  <p>-----------------------------------------------------------------------------------------------------</p>  <p>Part 4: <a href="https://blogs.technet.com/b/jhoward/archive/2012/03/15/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-4.aspx">https://blogs.technet.com/b/jhoward/archive/2012/03/15/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-4.aspx</a></p>  <p>Part 4 discusses some of the low level necessary firmware and motherboard changes to make SR-IOV function and provides a pointer to an interesting presentation given 4 years ago at WinHEC 2008 by Jake Oshins that provides further insight into SR-IOV.</p>  <p>-----------------------------------------------------------------------------------------------------</p>  <p>Part 5: <a href="https://blogs.technet.com/b/jhoward/archive/2012/03/16/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-5.aspx">https://blogs.technet.com/b/jhoward/archive/2012/03/16/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-5.aspx</a></p>  <p>Part 5 explains the IO path with SR-IOV enabled, covers SR-IOV configuration via the UI and a deeper dive into PowerShell.</p>  <p>-----------------------------------------------------------------------------------------------------</p>  <p>Part 6: <a href="https://blogs.technet.com/b/jhoward/archive/2012/03/19/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-6.aspx">https://blogs.technet.com/b/jhoward/archive/2012/03/19/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-6.aspx</a></p>  <p>Part 6 discusses SR-IOV and Live Migration in detail. It covers the engineering challenge of making SR-IOV work with Live Migration (not trivial folks) and even includes a video that demonstrates a virtual machine with an SR-IOV NIC under load being Live Migrated. There’s even a link to a WinHEC 2006 presentation (told you we’ve been looking at this technology a while…)</p>  <p>-----------------------------------------------------------------------------------------------------</p>  <p>Part 7: <a href="https://blogs.technet.com/b/jhoward/archive/2012/03/20/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-7.aspx">https://blogs.technet.com/b/jhoward/archive/2012/03/20/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-7.aspx</a></p>  <p>Part 7 discusses SR-IOV and how it works with the new inbox Windows Server 2012 NIC Teaming. Yes folks, you can team SR-IOV NICs in the guest.</p>  <p>-----------------------------------------------------------------------------------------------------</p>  <p>Part 8: <a href="https://blogs.technet.com/b/jhoward/archive/2012/03/21/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-8.aspx">https://blogs.technet.com/b/jhoward/archive/2012/03/21/everything-you-wanted-to-know-about-sr-iov-in-hyper-v-part-8.aspx</a></p>  <p>Part 8 discusses debugging SR-IOV and includes examples in PowerShell and covers troubleshooting through the Event Viewer.</p>]]></content:encoded>
    </item>
    <item>
      <title>Set-KCD; configuring Kerberos Constrained Delegation (KCD)</title>
      <link>https://docs.microsoft.com/archive/blogs/matthts/set-kcd-configuring-kerberos-constrained-delegation-kcd</link>
      <pubDate>Fri, 05 Oct 2012 03:22:31 GMT</pubDate>
      <dc:creator><![CDATA[Matthijs ten Seldam]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/matthts/2012/10/05/set-kcd-configuring-kerberos-constrained-delegation-kcd/</guid>
      <description><![CDATA[&#160;  In June I posted an article called Configuring Kerberos Constrained Delegation for Hyper-V...]]></description>
      <content:encoded><![CDATA[<p>&#160;</p>  <p>In June I posted an article called <a href="https://blogs.technet.com/b/matthts/archive/2012/06/10/configuring-kerberos-constrained-delegation-for-hyper-v-management.aspx">Configuring Kerberos Constrained Delegation for Hyper-V Management</a>. I covered the concept of Kerberos delegation and evolution into constrained delegation. Obviously, the article was mainly focused on configuring constrained delegation for Hyper-V management in order to be able to manage Hyper-V in a remote fashion. I ended the article with a PowerShell script called Set-KCD.ps1 and Active Directory cmdlet to configure KCD and verify successful delegation.</p>  <p>I primarily use PowerShell for management and therefore use my own scripts. Using Set-KCD worked well but it lacked certain capabilities which resulted in performing additional steps from the PowerShell command line. Like I mentioned in the article, it was nothing fancy or advanced but it worked in its limited way.</p>  <p>My environment is being reinstalled from time to time. This time it was because of the availability of the release of Windows Server 2012. Sometimes, if possible, I use upgrades. But upgrade was not possible so I reinstalled the environment. I could have upgraded Active Directory but a reinstallation and reconfiguration was actually even faster in my simple environment.</p>  <p>So I needed to configure KCD for my hosts and noticed this script could be improved. I rewrote the script such that it would be much easier to use. For example using a distinguished name for the Active Directory computer object is not intuitive and also requires additional Active Directory cmdlets to find the object path. The computer object can be located anywhere in Active Directory and will usually not exist in the Computers container.</p>  <p>The parameter names for the computers where also not intuitive. The computer you configure to be trusted for delegation was called ‘AdDN’ (the Active Directory Distinguished Name) and the computer you specify to trusted delegation to was called HostFQDN. So I changed this into TrustedComputer and TrustingComputer respectively. The thought was this: you configure the computer object in Active Directory to be trusted for delegation of your credentials to a specific computer for a specific service type. So TrustedComputer is self explanatory here. The computer you specify to allow delegation to for a specific service type is basically the computer that trusts the TrustedComputer for delegation. Although the graphical tools in Active Directory don’t use these terms, I think it is the easiest to understand using these terms when configuring KCD. A small change has been made to the service parameter which is now called ServiceType since this is what it really refers to.</p>  <p>I removed the requirement for fully qualified names. You must be logged on as domain administrator so I get the domain name from the logon session. The result is that the command has become much simpler and easier to understand. Referring to the picture in the previous post, when configuring KCD for vmhost1 to be trusted for CIFS to vmhost2, the command looks like this:</p>  <p>&#160;</p>  <p><strong>./Set-KCD –TrustedComputer vmhost1 –TrustingComputer vmhost2 –ServiceType CIFS –Add</strong></p>  <p>&#160;</p>  <p>or just type:</p>  <p><strong></strong></p>  <p><strong>./Set-KCD vmhost1 vmhost2 CIFS</strong></p>  <p>&#160;</p>  <p>This is much simpler compared to the old command syntax:</p>  <p><strong>./Set-KCD –AdDN “cn=vmhost1,cn=computers,dc=contoso,dc=com” –HostFQDN vmhost2.contoso.com –Service CIFS –Add</strong></p>  <p>&#160;</p>  <p>Finally, I also wanted to be able to configure delegation records for multiple computer objects in one step and to be able to verify the settings so I added the option to import the settings from a file.</p>  <p>The following switches are available:</p>  <ul>   <li>-Add</li>    <li>-Clear</li>    <li>-Import</li>    <li>-List</li>    <li>-ListFromFile</li>    <li>-Remove</li>    <li>-Replace</li> </ul>  <p>I will not go into the details of each. Because of the built-in help of the script you can get the syntax, examples or full description using ‘help ./Set-KCD’, ‘help ./Set-KCD' –examples’ or ‘help ./Set-KCD –full’.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/57/83/metablogapi/8228.image_091E6FCA.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-57-83-metablogapi/8228.image_5F00_091E6FCA.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/prod.evol.blogs.technet.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/57/83/metablogapi/8561.image_thumb_626FE37C.png" original-url="https://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-57-83-metablogapi/8561.image_5F00_thumb_5F00_626FE37C.png" width="833" height="456" /></a></p>  <p>&#160;</p>  <p>There are four new switches; –Clear, –Import, –List, –ListIFromFile.</p>  <p>Clear will simply clear all delegation records of the TrustedComputer.</p>  <p>List displays the delegation records currently configured for the TrustedComputer.</p>  <p>ListFromFile displays the delegation records for all TrustedComputer entries in the File.</p>  <p>Import enables you to configure delegation records for multiple trusted computers at once. This is one I use for my environment to configure KCD using a configuration file. The –File property lets you specify a path to a CSV file containing the records for the TrustedComputer, TrustingComputer and ServiceType. The format of the file is documented in the help and a sample file is included in the Set-KCD zip file.</p>  <p>Below is the updated script. It also contains some basic error handling but it won’t check your privileges.</p>  <div id="scid:9ce6104f-a9aa-4a17-a79f-3a39532ebf7c:cf8650f5-fd09-4868-bbff-beb9b838fc82" class="wlWriterEditableSmartContent" style="margin: 0px; padding: 0px; float: none; display: inline;"> <div style="border: #000080 1px solid; color: #000; font-family: 'Courier New', Courier, Monospace; font-size: 10pt"> <div style="background: #000080; color: #fff; font-family: Verdana, Tahoma, Arial, sans-serif; font-weight: bold; padding: 2px 5px">Code Snippet</div> <div style="background: #fff; max-height: 300px; overflow: auto"> <ol style="background: #ffffff; margin: 0; padding: 0 0 0 5px;"> <li> <span style="color:#006400">#######################################################</span></li> <li style="background: #f3f3f3"><span style="color:#006400">##</span></li> <li><span style="color:#006400">## Set-KCD.ps1, v1.2, 2012</span></li> <li style="background: #f3f3f3"><span style="color:#006400">##</span></li> <li><span style="color:#006400">## Created by Matthijs ten Seldam, Microsoft</span></li> <li style="background: #f3f3f3"><span style="color:#006400">##</span></li> <li><span style="color:#006400">#######################################################</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">&lt;#</span></li> <li style="background: #f3f3f3"><span style="color:#006400">.SYNOPSIS</span></li> <li><span style="color:#006400">Configures Kerberos Constrained Delegation (KCD) on a single computer object or multiple computer objects in Active Directory.</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">.DESCRIPTION</span></li> <li style="background: #f3f3f3"><span style="color:#006400">Set-KCD supports adding, replacing, removing, clearing and listing of delegation records for a specified computer object or multiple computer objects in Active Directory.</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">.PARAMETER TrustedComputer</span></li> <li><span style="color:#006400">The name of the computer object in Active Directory trusted for delegation to a specific service type.</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">.PARAMETER TrustingComputer</span></li> <li style="background: #f3f3f3"><span style="color:#006400">The name of the computer to delegate authentication to. This is the computer that will accept your credentials on behalf of the TrustedComputer.</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">.PARAMETER ServiceType</span></li> <li><span style="color:#006400">The name of the ServiceType to delegate.</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">.PARAMETER Add</span></li> <li style="background: #f3f3f3"><span style="color:#006400">Switch to specify to add delegation records.</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">.PARAMETER Clear</span></li> <li><span style="color:#006400">Switch to specify to clear delegation records.</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">.PARAMETER File</span></li> <li style="background: #f3f3f3"><span style="color:#006400">The name of a CSV file containing entries for the Trusted and Trusting computers and the ServiceType.</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">.PARAMETER Import</span></li> <li><span style="color:#006400">Switch to specify to import delegation records.</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">.PARAMETER List</span></li> <li style="background: #f3f3f3"><span style="color:#006400">Switch to list current delegation settings for the specified TrustedComputer.</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">.PARAMETER lISTfROMfILE</span></li> <li><span style="color:#006400">Switch to list current delegation settings for the TrustedComputer entries spcified in the File.</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">.PARAMETER Remove</span></li> <li style="background: #f3f3f3"><span style="color:#006400">Switch to specify to remove delegation records.</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">.PARAMETER Replace</span></li> <li><span style="color:#006400">Switch to specify to replace delegation records.</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">.EXAMPLE</span></li> <li style="background: #f3f3f3"><span style="color:#006400">Set-KCD -TrustedComputer vmhost1 -TrustingComputer vmhost2 -ServiceType cifs -Add</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">This command adds the CIFS ServiceType type to the computer object vmhost1 for computer vmhost2 to trust vmhost1 for delegation to vmhost2 for this ServiceType.</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">.EXAMPLE</span></li> <li><span style="color:#006400">Set-KCD.ps1 -TrustedComputer vmhost2 -TrustingComputer vmhost3 -ServiceType &quot;Microsoft Virtual System Migration ServiceType&quot; -Add</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">This command adds the &quot;Microsoft Virtual System Migration ServiceType&quot; type to the computer object vmhost2 for computer vmhost3 to trust vmhost2 for delegation to vmhost3 for this ServiceType.</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">.EXAMPLE</span></li> <li style="background: #f3f3f3"><span style="color:#006400">Set-KCD -TrustedComputer vmhost1 -TrustingComputer vmhost2 -ServiceType cifs -Replace</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">This command replaces ALL delegation properties with the specified property set (vmhost2/cifs). Any existing properties will be removed.</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">.EXAMPLE</span></li> <li><span style="color:#006400">Set-KCD -TrustedComputer vmhost1 -TrustingComputer vmhost2 -ServiceType cifs -Remove</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">This command removes the specified delegation properties for vmhost2 and cifs.</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">.EXAMPLE</span></li> <li style="background: #f3f3f3"><span style="color:#006400">Set-KCD -TrustedComputer vmhost3 -Clear</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">This command clears ALL property sets currently specified for delegation.</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">.EXAMPLE</span></li> <li><span style="color:#006400">Set-KCD -TrustedComputer vmhost1 -List</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">This command lists the available property sets (service type | computer name) on the object of computer vmhost1 (if anything has been configured).</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">.EXAMPLE</span></li> <li style="background: #f3f3f3"><span style="color:#006400">Set-KCD -File .&#92;ConfigFile.csv -ListFromFile</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">This command uses the TrustedComputer entries in the File to list the currently configured delegation records.</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">.EXAMPLE</span></li> <li><span style="color:#006400">Set-KCD -File .&#92;ConfigFile.csv -Import</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">This command uses the contents in the CSV File to configure the TrustedComputer with delegation records for the TrustingComputer and ServiceType.</span></li> <li style="background: #f3f3f3"><span style="color:#006400">See below example for a correctly formatted file:</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">TrustedComputer,TrustingComputer,ServiceType</span></li> <li><span style="color:#006400">vmhost1,fhost1,CIFS</span></li> <li style="background: #f3f3f3"><span style="color:#006400">vmhost1,vmhost2,Microsoft Virtual System Migration Service</span></li> <li><span style="color:#006400">vmhost1,vmhost2,CIFS</span></li> <li style="background: #f3f3f3"><span style="color:#006400">vmhost2,vmhost1,Microsoft Virtual System Migration Service</span></li> <li><span style="color:#006400">vmhost2,vmhost1,CIFS</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">.INPUTS</span></li> <li style="background: #f3f3f3"><span style="color:#006400">None</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">.OUTPUTS</span></li> <li><span style="color:#006400">None</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#006400">.NOTES</span></li> <li style="background: #f3f3f3"><span style="color:#006400">This script must be run using domain administrator credentials.</span></li> <li><span style="color:#006400">The script adds both entries for the target computer; unqualified and fully qualified computer names.</span></li> <li style="background: #f3f3f3"><span style="color:#006400">The script uses the UserDnsDomain environment variable to construct the fully qualified domain name of the TrustingComputer name.</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#006400">.LINK</span></li> <li><span style="color:#006400">https://blogs.technet.com/matthts</span></li> <li style="background: #f3f3f3"><span style="color:#006400">#&gt;</span></li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#a9a9a9">[</span><span style="color:#00bfff">CmdletBinding</span>(DefaultParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Add&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li><span style="color:#00008b">param</span>(</li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> Position<span style="color:#a9a9a9">=</span><span style="color:#800080">0</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Add&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> Position<span style="color:#a9a9a9">=</span><span style="color:#800080">0</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Clear&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> Position<span style="color:#a9a9a9">=</span><span style="color:#800080">0</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;List&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> Position<span style="color:#a9a9a9">=</span><span style="color:#800080">0</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Remove&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> Position<span style="color:#a9a9a9">=</span><span style="color:#800080">0</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Replace&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#008080">string</span><span style="color:#a9a9a9">]</span> <span style="color:#ff4500">$TrustedComputer</span><span style="color:#a9a9a9">,</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> Position<span style="color:#a9a9a9">=</span><span style="color:#800080">1</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Add&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> Position<span style="color:#a9a9a9">=</span><span style="color:#800080">1</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Replace&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> Position<span style="color:#a9a9a9">=</span><span style="color:#800080">1</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Remove&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#008080">string</span><span style="color:#a9a9a9">]</span> <span style="color:#ff4500">$TrustingComputer</span><span style="color:#a9a9a9">,</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> Position<span style="color:#a9a9a9">=</span><span style="color:#800080">2</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Add&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> Position<span style="color:#a9a9a9">=</span><span style="color:#800080">2</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Replace&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> Position<span style="color:#a9a9a9">=</span><span style="color:#800080">2</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Remove&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#008080">string</span><span style="color:#a9a9a9">]</span><span style="color:#ff4500">$ServiceType</span><span style="color:#a9a9a9">,</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$false</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Add&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#008080">switch</span><span style="color:#a9a9a9">]</span><span style="color:#ff4500">$Add</span><span style="color:#a9a9a9">,</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Clear&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#008080">switch</span><span style="color:#a9a9a9">]</span><span style="color:#ff4500">$Clear</span><span style="color:#a9a9a9">,</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span> (Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Import&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span> (Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;ListFromFile&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#008080">string</span><span style="color:#a9a9a9">]</span><span style="color:#ff4500">$File</span><span style="color:#a9a9a9">,</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span> (Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Import&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#008080">switch</span><span style="color:#a9a9a9">]</span><span style="color:#ff4500">$Import</span><span style="color:#a9a9a9">,</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;List&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#008080">switch</span><span style="color:#a9a9a9">]</span> <span style="color:#ff4500">$List</span><span style="color:#a9a9a9">,</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;ListFromFile&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#008080">switch</span><span style="color:#a9a9a9">]</span> <span style="color:#ff4500">$ListFromFile</span><span style="color:#a9a9a9">,</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Remove&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#008080">switch</span><span style="color:#a9a9a9">]</span> <span style="color:#ff4500">$Remove</span><span style="color:#a9a9a9">,</span></li> <li>    <span style="color:#a9a9a9">[</span><span style="color:#00bfff">Parameter</span>(Mandatory<span style="color:#a9a9a9">=</span><span style="color:#ff4500">$true</span><span style="color:#a9a9a9">,</span> ParameterSetName<span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;Replace&quot;</span>)<span style="color:#a9a9a9">]</span></li> <li style="background: #f3f3f3">    <span style="color:#a9a9a9">[</span><span style="color:#008080">switch</span><span style="color:#a9a9a9">]</span> <span style="color:#ff4500">$Replace</span></li> <li>    )</li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#0000ff">Set-StrictMode</span> <span style="color:#000080">-Version</span> <span style="color:#8a2be2">Latest</span></li> <li style="background: #f3f3f3">&nbsp;</li> <li><span style="color:#00008b">If</span> (<span style="color:#ff4500">$PSCmdlet</span><span style="color:#a9a9a9">.</span>ParameterSetName <span style="color:#a9a9a9">-ne</span> <span style="color:#8b0000">&quot;Import&quot;</span>)</li> <li style="background: #f3f3f3">{</li> <li>    <span style="color:#00008b">If</span> (<span style="color:#ff4500">$TrustedComputer</span><span style="color:#a9a9a9">.</span>Contains(<span style="color:#8b0000">&quot;.&quot;</span>))</li> <li style="background: #f3f3f3">    {</li> <li>        <span style="color:#ff4500">$TrustedComputer</span><span style="color:#a9a9a9">=</span><span style="color:#ff4500">$TrustedComputer</span><span style="color:#a9a9a9">.</span>Remove(<span style="color:#ff4500">$TrustedComputer</span><span style="color:#a9a9a9">.</span>IndexOf(<span style="color:#8b0000">&quot;.&quot;</span>))</li> <li style="background: #f3f3f3">    }</li> <li>}</li> <li style="background: #f3f3f3">&nbsp;</li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#00008b">Function</span> <span style="color:#8a2be2">Get-Delegation</span>()</li> <li>{</li> <li style="background: #f3f3f3">    <span style="color:#00008b">try</span></li> <li>    {</li> <li style="background: #f3f3f3">        <span style="color:#ff4500">$AdObject</span> <span style="color:#a9a9a9">=</span> <span style="color:#0000ff">Get-AdComputer</span> <span style="color:#ff4500">$TrustedComputer</span> <span style="color:#000080">-Properties</span> <span style="color:#8a2be2">msDS-AllowedToDelegateTo</span> <span style="color:#a9a9a9">|</span> <span style="color:#0000ff">Select-Object</span> <span style="color:#000080">-ExpandProperty</span> <span style="color:#8a2be2">msDS-AllowedToDelegateTo</span></li> <li>        <span style="color:#00008b">If</span> (<span style="color:#ff4500">$AdObject</span> <span style="color:#a9a9a9">-ne</span> <span style="color:#ff4500">$null</span>)</li> <li style="background: #f3f3f3">        {</li> <li>            <span style="color:#0000ff">Write-Host</span> <span style="color:#8a2be2">`n&quot;Computer name </span><span style="color:#ff4500">$TrustedComputer</span><span style="color:#8a2be2"> is trusted for delegation for the following service(s) to computer(s):&quot;</span></li> <li style="background: #f3f3f3">            <span style="color:#0000ff">Write-Host</span> <span style="color:#8b0000">&quot;--------------------------------------------------------------------------------------------&quot;</span><span style="color:#8a2be2">`n</span></li> <li>            <span style="color:#ff4500">$AdObject</span> <span style="color:#a9a9a9">|</span> <span style="color:#0000ff">Sort-Object</span></li> <li style="background: #f3f3f3">            <span style="color:#0000ff">Write-Host</span> <span style="color:#8a2be2">`n&quot;--------------------------------------------------------------------------------------------&quot;`n</span></li> <li>        }</li> <li style="background: #f3f3f3">        <span style="color:#00008b">else</span></li> <li>        {</li> <li style="background: #f3f3f3">            <span style="color:#0000ff">Write-Host</span> <span style="color:#8a2be2">`n&quot;No delegation has been configured for computer </span><span style="color:#ff4500">$TrustedComputer</span><span style="color:#8a2be2">.&quot;`n</span></li> <li>        }</li> <li style="background: #f3f3f3">    }</li> <li>    <span style="color:#00008b">Catch</span></li> <li style="background: #f3f3f3">    {</li> <li>        <span style="color:#0000ff">Write-Host</span> <span style="color:#8a2be2">`n&quot;An error occurred searching for Computer name </span><span style="color:#ff4500">$TrustedComputer</span><span style="color:#8a2be2"> in Active Directory!&quot;`n</span></li> <li style="background: #f3f3f3">    }</li> <li>}</li> <li style="background: #f3f3f3">&nbsp;</li> <li>&nbsp;</li> <li style="background: #f3f3f3"><span style="color:#00008b">switch</span>(<span style="color:#ff4500">$PSCmdlet</span><span style="color:#a9a9a9">.</span>ParameterSetName)</li> <li>{</li> <li style="background: #f3f3f3">    {(<span style="color:#ff4500">$_</span> <span style="color:#a9a9a9">-eq</span> <span style="color:#8b0000">&quot;Add&quot;</span>) <span style="color:#a9a9a9">-or</span> (<span style="color:#ff4500">$_</span> <span style="color:#a9a9a9">-eq</span> <span style="color:#8b0000">&quot;Replace&quot;</span>) <span style="color:#a9a9a9">-or</span> (<span style="color:#ff4500">$_</span> <span style="color:#a9a9a9">-eq</span> <span style="color:#8b0000">&quot;Remove&quot;</span>)}</li> <li>    {</li> <li style="background: #f3f3f3">        <span style="color:#00008b">If</span> (<span style="color:#ff4500">$TrustingComputer</span><span style="color:#a9a9a9">.</span>Contains(<span style="color:#8b0000">&quot;.&quot;</span>))</li> <li>        {</li> <li style="background: #f3f3f3">            <span style="color:#ff4500">$TrustingComputer</span><span style="color:#a9a9a9">=</span><span style="color:#ff4500">$TrustingComputer</span><span style="color:#a9a9a9">.</span>Remove(<span style="color:#ff4500">$TrustingComputer</span><span style="color:#a9a9a9">.</span>IndexOf(<span style="color:#8b0000">&quot;.&quot;</span>))</li> <li>        }</li> <li style="background: #f3f3f3">        <span style="color:#00008b">try</span></li> <li>        {</li> <li style="background: #f3f3f3">            <span style="color:#ff4500">$ParamHash</span><span style="color:#a9a9a9">=</span>@{<span style="color:#ff4500">$PSCmdlet</span><span style="color:#a9a9a9">.</span>ParameterSetName<span style="color:#a9a9a9">=</span>@{<span style="color:#8b0000">&quot;msDS-AllowedToDelegateTo&quot;</span><span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;</span><span style="color:#ff4500">$ServiceType</span><span style="color:#8b0000">/</span><span style="color:#ff4500">$TrustingComputer</span><span style="color:#8b0000">&quot;</span><span style="color:#a9a9a9">,</span><span style="color:#8b0000">&quot;</span><span style="color:#ff4500">$ServiceType</span><span style="color:#8b0000">/</span><span style="color:#ff4500">$TrustingComputer</span><span style="color:#8b0000">.</span><span style="color:#ff4500">$env:UserDnsDomain</span><span style="color:#8b0000">&quot;}}</span></li> <li>            <span style="color:#0000ff">Get-ADComputer</span> <span style="color:#ff4500">$TrustedComputer</span> <span style="color:#a9a9a9">|</span> <span style="color:#0000ff">Set-ADObject</span> <span style="color:#ff4500">@ParamHash</span></li> <li style="background: #f3f3f3">            <span style="color:#0000ff">Get-Delegation</span></li> <li>        }</li> <li style="background: #f3f3f3">        <span style="color:#00008b">Catch</span> <span style="color:#a9a9a9">[</span><span style="color:#008080">Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException</span><span style="color:#a9a9a9">]</span></li> <li>        {</li> <li style="background: #f3f3f3">            <span style="color:#0000ff">Write-Host</span> <span style="color:#8b0000">&quot;`nThe Object for computer </span><span style="color:#ff4500">$TrustedComputer</span><span style="color:#8b0000"> could not be found in Active Directory.`n&quot;</span></li> <li>        }</li> <li style="background: #f3f3f3">    }</li> <li>&nbsp;</li> <li style="background: #f3f3f3">    <span style="color:#8b0000">&quot;Clear&quot;</span></li> <li>    {</li> <li style="background: #f3f3f3">        <span style="color:#0000ff">Get-ADComputer</span> <span style="color:#ff4500">$TrustedComputer</span> <span style="color:#a9a9a9">|</span> <span style="color:#0000ff">Set-ADObject</span> <span style="color:#000080">-Clear</span> <span style="color:#8a2be2">msDS-AllowedToDelegateTo</span></li> <li>        <span style="color:#0000ff">Get-Delegation</span></li> <li style="background: #f3f3f3">    }</li> <li>&nbsp;</li> <li style="background: #f3f3f3">    <span style="color:#8b0000">&quot;Import&quot;</span></li> <li>    {</li> <li style="background: #f3f3f3">        <span style="color:#00008b">If</span> (<span style="color:#ff4500">$File</span> <span style="color:#a9a9a9">-ne</span> <span style="color:#ff4500">$null</span>)</li> <li>        {</li> <li style="background: #f3f3f3">            <span style="color:#00008b">try</span></li> <li>            {</li> <li style="background: #f3f3f3">                <span style="color:#ff4500">$Records</span><span style="color:#a9a9a9">=</span><span style="color:#0000ff">Import-Csv</span> <span style="color:#ff4500">$File</span></li> <li>            }</li> <li style="background: #f3f3f3">            <span style="color:#00008b">Catch</span></li> <li>            {</li> <li style="background: #f3f3f3">                <span style="color:#0000ff">Write-Host</span> <span style="color:#8a2be2">`n&quot;</span><span style="color:#ff4500">$File</span><span style="color:#8a2be2"> file not found!`n&quot;</span></li> <li>                <span style="color:#00008b">exit</span></li> <li style="background: #f3f3f3">            }</li> <li>&nbsp;</li> <li style="background: #f3f3f3">            <span style="color:#00008b">foreach</span>(<span style="color:#ff4500">$Item</span> <span style="color:#00008b">in</span> <span style="color:#ff4500">$Records</span>)</li> <li>            {</li> <li style="background: #f3f3f3">                <span style="color:#ff4500">$TrustedComputer</span><span style="color:#a9a9a9">=</span><span style="color:#ff4500">$Item</span><span style="color:#a9a9a9">.</span>TrustedComputer</li> <li>                <span style="color:#ff4500">$TrustingComputer</span><span style="color:#a9a9a9">=</span><span style="color:#ff4500">$Item</span><span style="color:#a9a9a9">.</span>TrustingComputer</li> <li style="background: #f3f3f3">                <span style="color:#ff4500">$ServiceType</span><span style="color:#a9a9a9">=</span><span style="color:#ff4500">$Item</span><span style="color:#a9a9a9">.</span>ServiceType</li> <li>&nbsp;</li> <li style="background: #f3f3f3">                <span style="color:#0000ff">Get-ADComputer</span> <span style="color:#ff4500">$TrustedComputer</span> <span style="color:#a9a9a9">|</span> <span style="color:#0000ff">Set-ADObject</span> <span style="color:#000080">-Add</span> @{<span style="color:#8b0000">&quot;msDS-AllowedToDelegateTo&quot;</span><span style="color:#a9a9a9">=</span><span style="color:#8b0000">&quot;</span><span style="color:#ff4500">$ServiceType</span><span style="color:#8b0000">/</span><span style="color:#ff4500">$TrustingComputer</span><span style="color:#8b0000">&quot;</span><span style="color:#a9a9a9">,</span><span style="color:#8b0000">&quot;</span><span style="color:#ff4500">$ServiceType</span><span style="color:#8b0000">/</span><span style="color:#ff4500">$TrustingComputer</span><span style="color:#8b0000">.</span><span style="color:#ff4500">$env:UserDnsDomain</span><span style="color:#8b0000">&quot;}</span></li> <li>                <span style="color:#0000ff">Write-Host</span> <span style="color:#8b0000">&quot;--------------------------------------------------------------------------------------------&quot;</span><span style="color:#8a2be2">`n</span></li> <li style="background: #f3f3f3">                <span style="color:#0000ff">Write-Host</span> <span style="color:#8b0000">&quot;Added </span><span style="color:#ff4500">$ServiceType</span><span style="color:#8b0000">/</span><span style="color:#ff4500">$TrustingComputer</span><span style="color:#8b0000">,</span><span style="color:#ff4500">$ServiceType</span><span style="color:#8b0000">/</span><span style="color:#ff4500">$TrustingComputer</span><span style="color:#8b0000">.</span><span style="color:#ff4500">$env:UserDnsDomain</span><span style="color:#8b0000"> to </span><span style="color:#ff4500">$TrustedComputer</span><span style="color:#8b0000">.&quot;</span><span style="color:#8a2be2">`n</span></li> <li>            }</li> <li style="background: #f3f3f3">        }</li> <li>    }</li> <li style="background: #f3f3f3">&nbsp;</li> <li>    <span style="color:#8b0000">&quot;List&quot;</span></li> <li style="background: #f3f3f3">    {</li> <li>        <span style="color:#0000ff">Get-Delegation</span></li> <li style="background: #f3f3f3">    }</li> <li>&nbsp;</li> <li style="background: #f3f3f3">    <span style="color:#8b0000">&quot;ListFromFile&quot;</span></li> <li>    {</li> <li style="background: #f3f3f3">        <span style="color:#00008b">If</span> (<span style="color:#ff4500">$File</span> <span style="color:#a9a9a9">-ne</span> <span style="color:#ff4500">$null</span>)</li> <li>        {</li> <li style="background: #f3f3f3">            <span style="color:#00008b">try</span></li> <li>            {</li> <li style="background: #f3f3f3">                <span style="color:#ff4500">$Records</span><span style="color:#a9a9a9">=</span><span style="color:#0000ff">Import-Csv</span> <span style="color:#ff4500">$File</span> <span style="color:#a9a9a9">|</span> <span style="color:#0000ff">Select-Object</span> <span style="color:#000080">-Property</span> <span style="color:#8a2be2">TrustedComputer</span> <span style="color:#000080">-Unique</span></li> <li>            }</li> <li style="background: #f3f3f3">            <span style="color:#00008b">Catch</span></li> <li>            {</li> <li style="background: #f3f3f3">                <span style="color:#0000ff">Write-Host</span> <span style="color:#8a2be2">`n&quot;</span><span style="color:#ff4500">$File</span><span style="color:#8a2be2"> file not found!`n&quot;</span></li> <li>                <span style="color:#00008b">exit</span></li> <li style="background: #f3f3f3">            }</li> <li>&nbsp;</li> <li style="background: #f3f3f3">            <span style="color:#00008b">foreach</span>(<span style="color:#ff4500">$Item</span> <span style="color:#00008b">in</span> <span style="color:#ff4500">$Records</span>)</li> <li>            {</li> <li style="background: #f3f3f3">                <span style="color:#ff4500">$TrustedComputer</span><span style="color:#a9a9a9">=</span><span style="color:#ff4500">$Item</span><span style="color:#a9a9a9">.</span>TrustedComputer</li> <li>                <span style="color:#0000ff">Get-Delegation</span></li> <li style="background: #f3f3f3">            }</li> <li>        }</li> <li style="background: #f3f3f3">&nbsp;</li> <li>        <span style="color:#00008b">else</span></li> <li style="background: #f3f3f3">        {</li> <li>            <span style="color:#0000ff">Get-Delegation</span></li> <li style="background: #f3f3f3">        }</li> <li>    }</li> <li style="background: #f3f3f3">}</li> </ol> </div> </div> </div>  <p>&#160;</p>  <p>This is for reference only. You can download the script and sample configuration file <a href="https://sdrv.ms/SBlSyG">here</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Why upgrade from Windows Server 2008 R2 to Windows Server 2012</title>
      <link>https://docs.microsoft.com/archive/blogs/matthts/why-upgrade-from-windows-server-2008-r2-to-windows-server-2012</link>
      <pubDate>Thu, 20 Sep 2012 08:46:53 GMT</pubDate>
      <dc:creator><![CDATA[Matthijs ten Seldam]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/matthts/2012/09/20/why-upgrade-from-windows-server-2008-r2-to-windows-server-2012/</guid>
      <description><![CDATA[1. Massive scale     Up to 64 virtual processors    Up to 1 TB of memory per VM    Up to 64 TB per...]]></description>
      <content:encoded><![CDATA[<p>1. Massive scale</p>  <ul>   <li>Up to 64 virtual processors</li>    <li>Up to 1 TB of memory per VM</li>    <li>Up to 64 TB per virtual disk</li>    <li>Up to 64 nodes in a cluster</li>    <li>Up to 8,000 VMs in a cluster </li> </ul>  <p>2. Networking </p>  <ul>   <li>Network Virtualization in the box </li>    <li>Open, Extensible Virtual Switch </li>    <li>SR-IOV </li>    <li>In the box Windows Teamed NICs </li> </ul>  <p>3. VM Mobility </p>  <ul>   <li>Shared Nothing Live Migration </li>    <li>Live Storage Migration </li>    <li>Concurrent Live Migration and Live Storage Migrations </li> </ul>  <p>4. Storage </p>  <ul>   <li>New VHDX format </li>    <li>Support for Trim/Unmap </li>    <li>Support for Offloaded Data Transfer (ODX) </li>    <li>Support on SMB 3.0 File Shares such as the new Windows Server 2012 File Server </li> </ul>  <p>5. Automation/Manageability </p>  <ul>   <li>Pervasive PowerShell </li> </ul>  <blockquote>   <ul>     <li>over 2400 PowerShell Commandlets for Windows Server 2012 overall </li>      <li>over 150 PowerShell Commandlets just for Hyper-V in Windows Server 2012 </li>   </ul> </blockquote>  <ul>   <li>Cluster Aware Updating (CAU) </li> </ul>  <p>6. Performance </p>  <ul>   <li>Windows Server 2012 Hyper-V can deliver over 1 MILLION IOPs from a single VM… </li> </ul>  <p>7. . . . . .</p>  <p>&#160;</p>  <p>There are so many more reasons why. Read the <a href="https://download.microsoft.com/download/5/B/2/5B254183-FA53-4317-B577-7561058CEF42/WS%202012%20Evaluation%20Guide.pdf">Windows Server 2012 Evaluation Guide</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Windows Server 2012 Hyper-V Component Architecture Poster and Companion References</title>
      <link>https://docs.microsoft.com/archive/blogs/matthts/windows-server-2012-hyper-v-component-architecture-poster-and-companion-references</link>
      <pubDate>Wed, 19 Sep 2012 09:33:11 GMT</pubDate>
      <dc:creator><![CDATA[Matthijs ten Seldam]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/matthts/2012/09/19/windows-server-2012-hyper-v-component-architecture-poster-and-companion-references/</guid>
      <description><![CDATA[The very popular Hyper-V component architecture posters have been updated for Windows Server 2012....]]></description>
      <content:encoded><![CDATA[<p>The very popular Hyper-V component architecture posters have been updated for Windows Server 2012. You can download them <a href="https://www.microsoft.com/en-us/download/details.aspx?id=29189">here</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>Competitive Advantages of Windows Server 2012 Hyper-V over VMware vSphere 5.1</title>
      <link>https://docs.microsoft.com/archive/blogs/matthts/competitive-advantages-of-windows-server-2012-hyper-v-over-vmware-vsphere-5-1</link>
      <pubDate>Thu, 06 Sep 2012 23:06:20 GMT</pubDate>
      <dc:creator><![CDATA[Matthijs ten Seldam]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/matthts/2012/09/06/competitive-advantages-of-windows-server-2012-hyper-v-over-vmware-vsphere-5-1/</guid>
      <description><![CDATA[With the release of Windows Server 2012 on September 4th and recent announcements by VMware at...]]></description>
      <content:encoded><![CDATA[<p>With the release of Windows Server 2012 on September 4th and recent announcements by VMware at VMworld it was time to see how we are doing from a technical perspective.</p>  <p>We have released a paper in which we compare Windows Server 2012, Hyper-V Server 2012 with VMware vSphere Hypervisor and VMware vSphere Enterprise Plus.</p>  <p>In this paper, we have looked at a significant number of the new capabilities that are available within Windows Server 2012 Hyper-V, across 4 key investment areas:</p>  <ul>   <li>? Scalability, Performance &amp; Density</li>    <li>? Secure Multitenancy</li>    <li>? Flexible Infrastructure</li>    <li>? High Availability &amp; Resiliency</li> </ul>  <p>Across each of these areas, we’ve detailed how Windows Server 2012 Hyper-V offers more scale, a more comprehensive array of customer-driven features and capabilities, and a greater level of extensibility and flexibility than the standalone VMware vSphere Hypervisor or VMware vSphere 5.1. With features such as Hyper-V Replica, cluster sizes of up to 64 nodes and 8,000 virtual machines, Storage and Shared-Nothing Live Migration, the Hyper-V Extensible Switch, Network Virtualization, and powerful guest clustering capabilities, it’s clear to see that Windows Server 2012 Hyper-V offers the most comprehensive virtualization platform for the next generation of cloud-optimized infrastructures.</p>  <p>The paper can be downloaded <a href="https://sdrv.ms/Q1vGji">here</a>.</p>]]></content:encoded>
    </item>
  </channel>
</rss>