Búsqueda de sitios web

Habilite el Escritorio remoto de forma remota con PowerShell (Enable-RemoteDesktop)


¿Olvidó habilitar el escritorio remoto? Esto es malo. La única solución es volver a la computadora remota y luego habilitar RD. No precisamente. En esta publicación de blog, le mostraré cómo habilitar RD con PowerShell. Entremos.

El objetivo

Queremos permitir conexiones de escritorio remoto.

Mi función se cargó en la Galería de PowerShell para poder instalarla simplemente con el siguiente comando.

Install-Module Enable-RemoteDesktop

El código

Aquí está el código.

function Enable-RemoteDesktop {

<# 

.SYNOPSIS
Enable-RemoteDesktop enables Remote Desktop on remote computers.

.DESCRIPTION
Enable-RemoteDesktop edits the registry and enables all required firwall rules for RDP.

.PARAMETER Target
Provide the target computer name.
 
.EXAMPLE
Enable-RemoteDesktop -Target server01,server02,server03
Enable-RemoteDesktop -Target client01
 
.NOTES
Author: Patrick Gruenauer
Web: https://sid-500.com

#>

param
 
(
[Parameter ()]
$Target
)
''
Write-Warning "This command works only on English and German OS.`nMake sure WinRM is enabled on target computers. (default: Windows Server OS)"


foreach ($t in $Target) {
    

Invoke-Command -ComputerName $t -ScriptBlock {

# Enable RDP on english OS

If ((Get-WinSystemLocale).Name -like "*en-*") {

Set-ItemProperty `
-Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server'`
-Name "fDenyTSConnections" -Value 0; `
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

Write-Output "$t : Operation completed successfully."

}

If ((Get-WinSystemLocale).Name -like "*de-*") {

Set-ItemProperty `
-Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server'`
-Name "fDenyTSConnections" -Value 0; `
Enable-NetFirewallRule -DisplayGroup "RemoteDesktop"

}
}
Write-Output "$t : Operation completed successfully."
}
}

Gracias por leer este artículo.

Artículos relacionados