Forgot to enable remote desktop? This is bad. The only solution is to go back to the remote computer and then enable RD. Not really. In this blog post I will show you how you can enable RD with PowerShell. Let’s jump in.
The Objective
We want to allow Remote-Desktop connections.
My function has been uploaded to the PowerShell Gallery in order to simply install with the command below.
Install-Module Enable-RemoteDesktop
The Code
Here is the code.
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."
}
}
Thank you for reading this article.
Categories: PowerShell, Windows 10, Windows Server
Great bloog you have here
LikeLiked by 1 person