{"id":4263,"date":"2013-01-25T00:01:00","date_gmt":"2013-01-25T00:01:00","guid":{"rendered":"https:\/\/blogs.technet.microsoft.com\/heyscriptingguy\/2013\/01\/25\/use-powershell-to-remove-the-gui-on-windows-server-2012\/"},"modified":"2013-01-25T00:01:00","modified_gmt":"2013-01-25T00:01:00","slug":"use-powershell-to-remove-the-gui-on-windows-server-2012","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/scripting\/use-powershell-to-remove-the-gui-on-windows-server-2012\/","title":{"rendered":"Use PowerShell to Remove the GUI on Windows Server 2012"},"content":{"rendered":"<p><strong style=\"font-size: 12px\">Summary:<\/strong><span style=\"font-size: 12px\"> A reader needs MCSE help with Microsoft exam 70-410 and wants to know how to use Windows PowerShell to add GUI elements from Windows Server&nbsp;2012.<\/span><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/q-for-powertip.jpg\" alt=\"Hey, Scripting Guy! Question\" \/>&nbsp;Hey, Scripting Guy! I have heard that it is possible to remove the graphical user interface (GUI) in Windows Server&nbsp;2012 after you install the operating system. I have looked around the Internet but not found anything about this. I am concerned, because I am going to be doing my <a href=\"http:\/\/www.microsoft.com\/learning\/en\/us\/mcse-server-infrastructure-certification.aspx\" target=\"_blank\">MCSE<\/a>, and I am studying for my first test, the <a href=\"http:\/\/www.microsoft.com\/learning\/en\/us\/exam.aspx?ID=70-410\" target=\"_blank\">70-410 exam<\/a>, and that just seems like it would make a good question. So, can you help me out here?<\/p>\n<p>&mdash;PH<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/a-for-powertip.jpg\" alt=\"Hey, Scripting Guy! Answer\" \/>&nbsp;Hello PH,<\/p>\n<p>Microsoft Scripting Guy, Ed Wilson, is here. This morning, I am sipping a cup of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Assam_tea\" target=\"_blank\">Assam Tea<\/a> and eating a homemade blueberry <a href=\"http:\/\/en.wikipedia.org\/wiki\/Scone\" target=\"_blank\">scone<\/a>&nbsp;that the Scripting Wife made last night. When it gets cold, Teresa enjoys cooking as a hobby, and sometimes I am fortunate, and she makes things that are my absolute favorites. Of course, she makes things that are her favorites as well, and she even makes things the neighbors enjoy&mdash;such as her famous <a href=\"http:\/\/en.wikipedia.org\/wiki\/Chili_con_carne\" target=\"_blank\">chili<\/a>&mdash;but last night it was scones. And cold it is, 22 degrees Fahrenheit (-5 degrees Celsius) with freezing rain expected this afternoon. Somehow, 22 degrees Fahrenheit seems colder in Charlotte, North Carolina, than it does, for instance, in Seattle, Washington&mdash;maybe it is all a matter of expectations.<\/p>\n<p>Anyway, PH, you are in luck, because this week I took (and passed) the Installing and Configuring Windows Server&nbsp;2012 (70-410) exam, so I applaud your efforts. You are also right&mdash;one of the objectives is stated as this: &ldquo;convert Server Core to\/from full GUI&rdquo; &hellip; so, yes, it does look like removing the GUI in Windows would be a great test question.<\/p>\n<h2>Use the ServerManager module on Windows Server&nbsp;2012<\/h2>\n<p>One of the great things about Windows PowerShell on Windows Server&nbsp;2012 is all the great cmdlets and functions. But these did not spring into being from nothingness&mdash;indeed, Windows PowerShell&nbsp;2.0 on Windows Server&nbsp;2008&nbsp;R2 was an extremely powerful solution. One of my favorite features on Windows Server&nbsp;2008&nbsp;R2 with Windows PowerShell&nbsp;2.0 is the ServerManager module, which contains three cmdlets: <strong>Add-WindowsFeature<\/strong>, <strong>Get-WindowsFeature<\/strong>, and <strong>Remove-WindowsFeature<\/strong>.<\/p>\n<p>In the following code, run from Windows PowerShell&nbsp;2.0 on Windows Server&nbsp;2008&nbsp;R2, I imported the ServerManager module and displayed the commands from the module.<\/p>\n<p style=\"padding-left: 30px\">PS C:\\&gt; ipmo servermanager<\/p>\n<p style=\"padding-left: 30px\">PS C:\\&gt; gcm -mo servermanager<\/p>\n<p style=\"padding-left: 30px\">CommandType&nbsp;&nbsp;&nbsp;&nbsp; Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Definition<\/p>\n<p style=\"padding-left: 30px\">&#8212;&#8212;&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;-<\/p>\n<p style=\"padding-left: 30px\">Cmdlet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Add-WindowsFeature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Add-WindowsFeature [-Name] &lt;Feature[]&gt; [-Include&#8230;<\/p>\n<p style=\"padding-left: 30px\">Cmdlet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get-WindowsFeature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get-WindowsFeature [[-Name] &lt;String[]&gt;] [-LogPat&#8230;<\/p>\n<p style=\"padding-left: 30px\">Cmdlet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Remove-WindowsFeature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Remove-WindowsFeature [-Name] &lt;Feature[]&gt; [-LogP&#8230;<\/p>\n<p>&nbsp;<\/p>\n<p>So, the ServerManager module has been around for a long time. In Windows PowerShell&nbsp;3.0 on Windows Server&nbsp;2012 (or on Windows&nbsp;8 with the RSAT tools installed) two functions and two aliases were added to the ServerManager module. In addition, two of the cmdlets were renamed.<\/p>\n<p style=\"padding-left: 30px\"><strong>EXAM ALERT<\/strong> &nbsp;&nbsp;In Windows Server&nbsp;2012 (with Windows PowerShell&nbsp;3.0) the <strong>Add-WindowsFeature<\/strong> cmdlet is renamed <strong>Install-WindowsFeature<\/strong>. The <strong>Remove-WindowsFeature<\/strong> cmdlet is renamed <strong>Uninstall-WindowsFeature<\/strong>. For backwards compatability, <strong>Add-WindowsFeature<\/strong> and <strong>Remove-WindowsFeature<\/strong> are added as aliases.<\/p>\n<p>The features exposed by the ServerManager module on Windows Server&nbsp;2012 are shown here.<\/p>\n<p style=\"padding-left: 30px\">12:57 C:\\&gt; ipmo servermanager<\/p>\n<p style=\"padding-left: 30px\">12:58 C:\\&gt; gcm -Module servermanager<\/p>\n<p style=\"padding-left: 30px\">&nbsp;<\/p>\n<p style=\"padding-left: 30px\">CommandType&nbsp;&nbsp;&nbsp;&nbsp; Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ModuleName<\/p>\n<p style=\"padding-left: 30px\">&#8212;&#8212;&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;&#8212;-<\/p>\n<p style=\"padding-left: 30px\">Alias&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Add-WindowsFeature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerManager<\/p>\n<p style=\"padding-left: 30px\">Alias&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Remove-WindowsFeature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerManager<\/p>\n<p style=\"padding-left: 30px\">Function&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Disable-ServerManagerStandardUserRemoting&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerManager<\/p>\n<p style=\"padding-left: 30px\">Function&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Enable-ServerManagerStandardUserRemoting&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerManager<\/p>\n<p style=\"padding-left: 30px\">Cmdlet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get-WindowsFeature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerManager<\/p>\n<p style=\"padding-left: 30px\">Cmdlet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Install-WindowsFeature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerManager<\/p>\n<p style=\"padding-left: 30px\">Cmdlet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Uninstall-WindowsFeature&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerManager<\/p>\n<h2>First find the names of the server GUI features<\/h2>\n<p>To find the name of the graphical elements of the Windows Server&nbsp;2012 interface, use the <strong>Get-WindowsFeature<\/strong> (at least this one was not renamed) cmdlet. Luckily, it has both a <strong>&ndash;computername<\/strong> parameter as well as a <strong>&ndash;credential<\/strong> parameter. With the RSAT tools installed on my Windows&nbsp;8 laptop, I can easily find the graphical components against a remote server. This command is shown here, where I supply administrator credentials to connect to a remote server named Hyperv2.<\/p>\n<p style=\"padding-left: 30px\">Get-WindowsFeature -ComputerName hyperv2 -Name *gui* -Credential iammred\\administrator<\/p>\n<p>The command and its associated output is shown here.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/6874.HSG-1-25-13-01.png\"><img decoding=\"async\" title=\"Image of command output\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/6874.HSG-1-25-13-01.png\" alt=\"Image of command output\" \/><\/a><\/p>\n<p>If I want to remove both the Server Graphical Shell and the Graphical Management Tools and Infrastructure, I can simply pipe the results of <strong>Get-WindowsFeature<\/strong> to <strong>Uninstall-WindowsFeature<\/strong> (<strong>Remove-WindowsFeature<\/strong> is the alias). Because I know the command requires a restart, I use the <strong>&ndash;restart<\/strong> parameter.<\/p>\n<p>This command and its associated output is shown here.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/3678.HSG-1-25-13-02.png\"><img decoding=\"async\" title=\"Image of command output\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/3678.HSG-1-25-13-02.png\" alt=\"Image of command output\" \/><\/a><\/p>\n<p>If I use the <strong>&ndash;Remove<\/strong>&nbsp;switched parameter with the <strong>Uninstall-WindowsFeature<\/strong> cmdlet, the command uninstalls the feature and then deletes the feature from the side-by-side store (&#8220;$env:windir\\WINSXS&#8221;).<\/p>\n<p>Because I want the option of adding the GUI back in at some point in the future, and because I have not configured a shared WINSXS store, I do not want to remove the bits from the system disk.<\/p>\n<h2>Four flavors of Windows Server&nbsp;2012 interface<\/h2>\n<p>There are actually four different flavors of the Windows Server&nbsp;2012 interface. These are documented in a great TechNet Library article called <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/hh831786(v=ws.11).aspx\" target=\"_blank\">Windows Server Installation Options<\/a><em>. <\/em>&nbsp;The four options are shown here.<\/p>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"160\">\n<p><strong>Server Core<\/strong><\/p>\n<\/td>\n<td valign=\"top\" width=\"160\">\n<p><strong>Minimal Server Interface<\/strong><\/p>\n<\/td>\n<td valign=\"top\" width=\"160\">\n<p><strong>Server with a GUI<\/strong><\/p>\n<\/td>\n<td valign=\"top\" width=\"160\">\n<p><strong>Server with a GUI with Desktop Experience<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"160\">\n<p>Command Prompt, Windows PowerShell, .NET Framework<\/p>\n<\/td>\n<td valign=\"top\" width=\"160\">\n<p>ADDS: MMC, Server Manager, some Control Panel apps<\/p>\n<\/td>\n<td valign=\"top\" width=\"160\">\n<p>ADDS: Windows Explorer, Internet Explorer, Task Bar, Control Panel<\/p>\n<\/td>\n<td valign=\"top\" width=\"160\">\n<p>ADDS: Windows Media Player, Themes, Windows&nbsp;8 Shell, Windows Store<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"160\">\n<p>NO: MMC, Control Panel, Windows Explorer<\/p>\n<\/td>\n<td valign=\"top\" width=\"160\">\n<p>NO: Windows Explorer, Control Panel, Task Bar<\/p>\n<\/td>\n<td valign=\"top\" width=\"160\">\n<p>NO: Themes, Windows&nbsp;8 Shell, Windows Store, Media Player<\/p>\n<\/td>\n<td valign=\"top\" width=\"160\">\n<p>Basic parity with Windows&nbsp;8 desktop<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"160\">\n<p>NONE<\/p>\n<\/td>\n<td valign=\"top\" width=\"160\">\n<p>Server-Gui-Mgmt-Infra<\/p>\n<\/td>\n<td valign=\"top\" width=\"160\">\n<p>Server-Gui-Mgmt-Infra, Server-Gui-Shell<\/p>\n<\/td>\n<td valign=\"top\" width=\"160\">\n<p>Server-Gui-Mgmt-Infra, Server-Gui-Shell, Desktop-Experience<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Windows Server&nbsp;2012 core edition<\/h2>\n<p>Once I have a Windows Server&nbsp;2012 core edition server, I can still use Remote Desktop (not much point in it), if I want to. When I do, the old-fashioned command prompt (cmd.exe) appears when logging on. Of course, I can launch Windows PowerShell by typing <strong>powershell<\/strong> at the command prompt. It is also possible to edit the registry to cause Windows Server&nbsp;2012 core edition to automatically boot into Windows PowerShell. The image shown here illustrates Windows Server&nbsp;2012 in core edition.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/7245.HSG-1-25-13-03.png\"><img decoding=\"async\" title=\"Image of Windows Server 2012 core edition\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/29\/2019\/02\/7245.HSG-1-25-13-03.png\" alt=\"Image of Windows Server 2012 core edition\" \/><\/a><\/p>\n<p>Here is a list of commands that takes a full installation of Windows Server&nbsp;2012 to the four different GUI levels.&nbsp;<\/p>\n<h3>Server Core Option<\/h3>\n<p>If the server has a full installation of Windows Server, the following command removes the two features: Server Graphical Shell and Graphical Management Tools and Infrastructure, and the resulting installation is Server Core.<\/p>\n<p style=\"padding-left: 30px\">Get-WindowsFeature *gui* | Uninstall-WindowsFeature &ndash;Restart<\/p>\n<h3>Minimal Server Interface<\/h3>\n<p>If the server has a full installation of Windows Server, and I need to bring the server down to minimal server interface, I only need to remove the Server-GUI-Shell. The command is shown here.<\/p>\n<p style=\"padding-left: 30px\">Get-WindowsFeature Server-Gui-Shell | Uninstall-WindowsFeature &ndash;Restart<\/p>\n<h3>Server with a GUI<\/h3>\n<p>If the Windows Server is installed with &ldquo;Server with a GUI,&rdquo; the following two features are installed (and can be verified here).<\/p>\n<p style=\"padding-left: 30px\">Get-WindowsFeature Server-Gui-Mgmt-Infra, Server-Gui-Shell<\/p>\n<p>If the server is in Server Core mode, this command adds the two features and brings the server up to the Server with a GUI level.<\/p>\n<p style=\"padding-left: 30px\">Get-WindowsFeature Server-Gui-Mgmt-Infra, Server-Gui-Shell | Install-WindowsFeature &ndash;restart<\/p>\n<h3>Server with Desktop Experience Added (Windows 8 desktop mode)<\/h3>\n<p>If the server is at &ldquo;Server with a GUI&rdquo; mode, then the Desktop-Experience feature is not installed. This command verifies that fact.<\/p>\n<p style=\"padding-left: 30px\">Get-WindowsFeature Desktop-Experience<\/p>\n<p style=\"padding-left: 30px\"><strong>EXAM ALERT<\/strong> &nbsp;&nbsp;The Desktop-Experience feature has a dash in the name. On some web sites, this makes it seem like line continuation because it actually wraps. However, DesktopExperience does NOT return anything via <strong>Get-WindowsFeature<\/strong>&mdash;no errors, no anything. Desktop-Experience (with a dash in the middle of the name) will let you know if the Desktop-Experience feature is installed or not.<\/p>\n<p>To install the Desktop-Experience feature on your computer running Windows Server&nbsp;2012 (now in truth, about the only reason for doing this is IF you are actually running Windows Server&nbsp;2012 as your desktop&mdash;such as if you have installed it on your laptop&mdash;please do not do this on a production server unless there is a real-live, honest compelling business reason for doing so).<\/p>\n<p style=\"padding-left: 30px\">Get-WindowsFeature Desktop-Experience&nbsp; | Install-WindowsFeature -Restart<\/p>\n<p>PH, that is all there is to using Windows PowerShell to add and remove various features of the Windows GUI on your computer running Windows Server&nbsp;2012.&nbsp; Join me tomorrow when I will talk about more cool Windows PowerShell stuff.<\/p>\n<p>I invite you to follow me on <a href=\"http:\/\/bit.ly\/scriptingguystwitter\" target=\"_blank\">Twitter<\/a> and <a href=\"http:\/\/bit.ly\/scriptingguysfacebook\" target=\"_blank\">Facebook<\/a>. If you have any questions, send email to me at <a href=\"mailto:scripter@microsoft.com\" target=\"_blank\">scripter@microsoft.com<\/a>, or post your questions on the <a href=\"http:\/\/bit.ly\/scriptingforum\" target=\"_blank\">Official Scripting Guys Forum<\/a>. See you tomorrow. Until then, peace.<\/p>\n<p><strong>Ed Wilson, Microsoft Scripting Guy<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Summary: A reader needs MCSE help with Microsoft exam 70-410 and wants to know how to use Windows PowerShell to add GUI elements from Windows Server&nbsp;2012. &nbsp;Hey, Scripting Guy! I have heard that it is possible to remove the graphical user interface (GUI) in Windows Server&nbsp;2012 after you install the operating system. I have looked [&hellip;]<\/p>\n","protected":false},"author":596,"featured_media":87096,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[405,402,3,45,368],"class_list":["post-4263","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-scripting","tag-70-410","tag-mcse","tag-scripting-guy","tag-windows-powershell","tag-windows-server-2012"],"acf":[],"blog_post_summary":"<p>Summary: A reader needs MCSE help with Microsoft exam 70-410 and wants to know how to use Windows PowerShell to add GUI elements from Windows Server&nbsp;2012. &nbsp;Hey, Scripting Guy! I have heard that it is possible to remove the graphical user interface (GUI) in Windows Server&nbsp;2012 after you install the operating system. I have looked [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts\/4263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/users\/596"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/comments?post=4263"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/posts\/4263\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/media\/87096"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/media?parent=4263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/categories?post=4263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/scripting\/wp-json\/wp\/v2\/tags?post=4263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}