Pantalla negra en escritorio remoto

Pantalla negra en escritorio remoto

No es un error nuevo, sucedía en versiones anteriores de Windows pero se vuelven a producir… al intentar conectar por escritorio remoto, admite las credenciales de usuario pero la pantalla se queda en negro, a los pocos segundos se cierra con error, si desplegamos el detalle aparece…

Código de error: 0x3
Código de error extendido: 0x12
Leer más

Activar escritorio remoto mediante Powershell

Por defecto la conexión por escritorio remoto aparece deshabilitada en los equipos con Windows Pro, en una red de dominio es posible establecer mediante políticas de grupo los permisos necesarios:

– Configuración de Equipo \ Directivas \ Plantillas Administrativas
— Componentes de Windows \ Servicios de escritorio remoto \ Host de sesión de Escritorio remoto \ Conexiones \ Permitir que los usuarios se conecten de forma remota mediante Servicios de Escritorio Remoto

— Red \ Conexiones de red \ Firewall de Windows \ Perfil de dominio \ Firewall de Windows: permitir excepciones de Escritorio remoto entrantes

Igualmente podemos echar mano de un Script para powershell escrito por Sitaram Pamarthi en 2013, que mediante WMI nos facilita acciones puntuales:

[cmdletbinding()]
param(
	[parameter(ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)]
	[string[]]$ComputerName = $env:computername,
	[ValidateScript({Test-Path $_})]
	[string]$OutFolder = "c:\"
)

begin {
$SuccessComps = Join-Path $OutFolder "Successcomps.txt"
$FailedComps = Join-Path $OutFolder "FailedComps.txt"
}

process {
	foreach($Computer in $ComputerName) {

		try {
			$RDP = Get-WmiObject -Class Win32_TerminalServiceSetting `
								-Namespace root\CIMV2\TerminalServices `
								-Computer $Computer `
								-Authentication 6 `
								-ErrorAction Stop
								
		} catch {
			Write-Host "$Computer : WMIQueryFailed"
			"$Computer : WMIQueryFailed" | Out-File -FilePath $FailedComps -Append
			continue
		}
		
		if($RDP.AllowTSConnections -eq 1) {
			Write-Host "$Computer : RDP Already Enabled"
			"$Computer : RDP Already Enabled" | Out-File -FilePath $SuccessComps -Append
			continue
		} else {
			try {
				$result = $RDP.SetAllowTsConnections(1,1)
				if($result.ReturnValue -eq 0) {
					Write-Host "$Computer : Enabled RDP Successfully"
					"$Computer : RDP Enabled Successfully" | Out-File -FilePath $SuccessComps -Append
				} else {
					Write-Host "$Computer : Failed to enabled RDP"
					"$Computer : Failed to enable RDP" | Out-File -FilePath $FailedComps -Append

				}
			
			} catch {
				Write-Host "$computer : Failed to enabled RDP"
				"$Computer : Failed to enable RDP" | Out-File -FilePath $FailedComps -Append
			}
		}
	}

}

end {}

Su utilización para un equipo concreto:

.\Enable-RDPAccess.ps1 -ComputerName <computer name>

 Si obtenemos errores al ejectuarlo, debemos comprobar que tenemos acceso mediante WMI o activarlo mediante GPO:

– Configuración del equipo \ Directivas \ Configuración de Windows \ Configuración de seguridad \ Firewall de Windows con seguridad avanzada \ Reglas de Entrada

Desconexión y cerrar sesión: ahorrar recursos

En los entornos cada vez más virtualizados y/o híbridos es habitual encontrarse en situaciones de trabajo remoto, bien mediante conexión de escritorio RPD, infraestructuras VDI, RemoteApp, Citrix… pero en todas ellas aunque con terminología diferente debemos dejar claro la diferencia entre mantener una conexión o cerrar sesión.

Pongamos el ejemplo más sencillo de conexión por escritorio remoto en el que un usuario utiliza el cliente RDP para conectarse a una dirección determinada, conociendo la IP, con nombre de dominio, por pasarelas, VPN… las opciones son diversas pero el destino final es la experiencia de un escritorio en un equipo lejano.

RDP conexion

En este caso pulsar sobre la «X» del cliente de conexión RDP, o cualquier otro protocolo, realiza una interrupción de la conexión RDP, ICA… o el protocolo que estemos utilizando, es decir, como si desconectaramos nuestro Wifi o router. Llegados a este punto lo que suceda en el equipo receptor del otro extremo va a depender de la configuración, en la mayoría de los casos los recursos siguen asignados a la sesión de nuestro usuario esperando una reconexión.

Dependiendo de la política aplicada por nuestro administrador, puede cerrarse la sesión de manera automática si se detecta cierto tiempo de inactividad o mantenerse horas sin cambios.

Si trabajamos en nuestra oficina, tiene sentido desconectar si en un breve tiempo vamos a continuar con nuestro trabajo desde casa, por ejemplo, pero de manera general la política a seguir debería ser, si no lo usas déjalo libre. Así como procuramos apagar las luces antes de irnos a dormir, podemos liberar los recursos que no estemos utilizando.

Logoff