{"id":80,"date":"2019-12-14T10:16:00","date_gmt":"2019-12-14T10:16:00","guid":{"rendered":"https:\/\/www.mainmind.com\/blog\/?p=80"},"modified":"2020-07-26T18:06:23","modified_gmt":"2020-07-26T18:06:23","slug":"activar-escritorio-remoto-mediante-powershell","status":"publish","type":"post","link":"https:\/\/www.mainmind.com\/blog\/activar-escritorio-remoto-mediante-powershell\/","title":{"rendered":"Activar escritorio remoto mediante Powershell"},"content":{"rendered":"<p>Por defecto la conexi&oacute;n por escritorio remoto aparece deshabilitada en los equipos con Windows Pro, en una red de dominio es posible establecer mediante pol&iacute;ticas de grupo los permisos necesarios:<\/p>\n<p>&#8211; Configuraci&oacute;n de Equipo \\ Directivas \\ Plantillas Administrativas<br \/>&#8212; Componentes de Windows \\ Servicios de escritorio remoto \\ Host de sesi&oacute;n de Escritorio remoto \\ Conexiones \\ Permitir que los usuarios se conecten de forma remota mediante Servicios de Escritorio Remoto<\/p>\n<p>&#8212; Red \\ Conexiones de red \\ Firewall de Windows \\ Perfil de dominio \\ Firewall de Windows: permitir excepciones de Escritorio remoto entrantes<\/p>\n<p>Igualmente podemos echar mano de un Script para powershell escrito por <a href=\"https:\/\/4sysops.com\/archives\/author\/sitaram-pamarthi\/\" target=\"_blank\" rel=\"noopener noreferrer\">Sitaram Pamarthi<\/a>&nbsp;en 2013, que <a href=\"https:\/\/4sysops.com\/archives\/enable-remote-desktop-on-remote-computers-with-powershell\/\" target=\"_blank\" rel=\"noopener noreferrer\">mediante WMI<\/a> nos facilita acciones puntuales:<\/p>\n<pre class=\"brush:ps;auto-links:false\" contenteditable=\"false\">[cmdletbinding()]\nparam(\n\t[parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]\n\t[string[]]$ComputerName = $env:computername,\n\t[ValidateScript({Test-Path $_})]\n\t[string]$OutFolder = \"c:\\\"\n)\n\nbegin {\n$SuccessComps = Join-Path $OutFolder \"Successcomps.txt\"\n$FailedComps = Join-Path $OutFolder \"FailedComps.txt\"\n}\n\nprocess {\n\tforeach($Computer in $ComputerName) {\n\n\t\ttry {\n\t\t\t$RDP = Get-WmiObject -Class Win32_TerminalServiceSetting `\n\t\t\t\t\t\t\t\t-Namespace root\\CIMV2\\TerminalServices `\n\t\t\t\t\t\t\t\t-Computer $Computer `\n\t\t\t\t\t\t\t\t-Authentication 6 `\n\t\t\t\t\t\t\t\t-ErrorAction Stop\n\t\t\t\t\t\t\t\t\n\t\t} catch {\n\t\t\tWrite-Host \"$Computer : WMIQueryFailed\"\n\t\t\t\"$Computer : WMIQueryFailed\" | Out-File -FilePath $FailedComps -Append\n\t\t\tcontinue\n\t\t}\n\t\t\n\t\tif($RDP.AllowTSConnections -eq 1) {\n\t\t\tWrite-Host \"$Computer : RDP Already Enabled\"\n\t\t\t\"$Computer : RDP Already Enabled\" | Out-File -FilePath $SuccessComps -Append\n\t\t\tcontinue\n\t\t} else {\n\t\t\ttry {\n\t\t\t\t$result = $RDP.SetAllowTsConnections(1,1)\n\t\t\t\tif($result.ReturnValue -eq 0) {\n\t\t\t\t\tWrite-Host \"$Computer : Enabled RDP Successfully\"\n\t\t\t\t\t\"$Computer : RDP Enabled Successfully\" | Out-File -FilePath $SuccessComps -Append\n\t\t\t\t} else {\n\t\t\t\t\tWrite-Host \"$Computer : Failed to enabled RDP\"\n\t\t\t\t\t\"$Computer : Failed to enable RDP\" | Out-File -FilePath $FailedComps -Append\n\n\t\t\t\t}\n\t\t\t\n\t\t\t} catch {\n\t\t\t\tWrite-Host \"$computer : Failed to enabled RDP\"\n\t\t\t\t\"$Computer : Failed to enable RDP\" | Out-File -FilePath $FailedComps -Append\n\t\t\t}\n\t\t}\n\t}\n\n}\n\nend {}<\/pre>\n<p>Su utilizaci&oacute;n para un equipo concreto:<\/p>\n<pre class=\"brush:ps;auto-links:false;toolbar:false\" contenteditable=\"false\">.\\Enable-RDPAccess.ps1 -ComputerName &lt;computer name&gt;\n<\/pre>\n<p>&nbsp;Si obtenemos errores al ejectuarlo, debemos comprobar que tenemos acceso mediante WMI o activarlo mediante GPO:<\/p>\n<p>&#8211; Configuraci&oacute;n del equipo \\ Directivas \\ Configuraci&oacute;n de Windows \\ Configuraci&oacute;n de seguridad \\ Firewall de Windows con seguridad avanzada \\ Reglas de Entrada<\/p>\n<p><img decoding=\"async\" src=\"\/blog\/wp-content\/uploads\/\/2019\/GPO_enable_WMI.jpg\" alt=\"\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Por defecto la conexi&oacute;n por escritorio remoto aparece deshabilitada en los equipos con Windows Pro, en una red de dominio es posible establecer mediante pol&iacute;ticas de grupo los permisos necesarios: &#8211; Configuraci&oacute;n de Equipo \\ Directivas \\ Plantillas Administrativas&#8212; Componentes de Windows \\ Servicios de escritorio remoto \\ Host de sesi&oacute;n de Escritorio remoto \\ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[124,123,126,125,122],"class_list":["post-80","post","type-post","status-publish","format-standard","hentry","category-windows-client","tag-escritorio-remoto","tag-powershell","tag-rdp","tag-remote-desktop","tag-windows"],"_links":{"self":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts\/80","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/comments?post=80"}],"version-history":[{"count":0,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts\/80\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/media?parent=80"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/categories?post=80"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/tags?post=80"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}