You may need to add computer entery into hosts file for easy RDP access. Run following PowerShell script in administrator mode to add the target machine/IP into hosts file. Or you can manually open the C:\Windows\System32\drivers\etc\hosts file and edit it.
#Run this script in Administrator mode
cls
$Srv = Read-Host -Prompt "Target Server Name"
$IP = Read-Host -Prompt "Target Server IP"
$newEntry =$IP + " " + $Srv
$hostfile = Get-Content C:\Windows\System32\drivers\etc\hosts
[bool]$Update = 0
if (-NOT ($IP | Select-String -Pattern "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")) {
Write-Output "IP address not valid!"
} elseif($hostfile | Select-String -Pattern "$IP\s+$Srv") {
Write-Output "Server/IP entry already exists!"
} elseif ($hostfile | Select-String -Pattern "$IP\s+") {
$oldSrv = $hostfile | Select-String -Pattern "$IP\s+"
$oldSrv = $oldSrv -replace "$IP\s+",""
$respond = Read-Host -Prompt "IP address already assigned to a different server ($oldSrv). Do you want to replace it?(Y/N)"
if ($respond.ToUpper() -eq "Y") {
$oldEntry = ($hostfile | Select-String -Pattern "$IP\s+")
$hostfile = $hostfile -replace $oldEntry, $newEntry
[bool]$Update = 1
}
} elseif ($hostfile | Select-String -Pattern "\s+$Srv") {
$oldSrv = $hostfile | Select-String -Pattern "\s+$Srv"
$oldSrv = $oldSrv -replace "\s+$Srv",""
$respond = Read-Host -Prompt "Server already assigned a different IP ($oldSrv). Do you want to replace it?(Y/N)"
if ($respond.ToUpper() -eq "Y") {
$oldEntry = ($hostfile | Select-String -Pattern "\s+$Srv")
$hostfile = $hostfile -replace $oldEntry, $newEntry
$hostfile
[bool]$Update = 1
}
} else {
$hostfile = $hostfile + $newEntry
[bool]$Update = 1
}
if ($Update) {
#$hostfile |Out-File C:\Windows\System32\drivers\etc\hosts
Write-output "File updated!"
} else {
Write-Output "No change made!"
}
FEATURED TAGS
ai
api
automation
availability
availability-sets
availability-zones
aws-vm
azure
azure-automation-runbook
azure-blob
azure-cosmos-db
azure-data-lake
azure-deployment
azure-function-app
azure-functions
azure-openai
azure-sign-in
azure-site-recovery
azure-sql-database
azure-subscription
azure-vm
base64
certificate
change-data-capture
change-tracking
chrome
clr
container
cte
data-api-builder
data-conversion
data-gateway
database-mail
database-role
database-size
date-table
dax
db-config
derived-table
diagram
direct-query
disk-management
disk-space
docker
downtime
dtc
dynamic-m-parameter
embedding
encrypted-connection
excel
excel-online
excel-online-for-business
execution-plan
extended-events
external-data
fabric
fabric-capacity
failover-cluster
fk
geometry
hierarchy
httpwebrequest
hugo
hyper-v
incognito-mode
index
infrastructure
inline-tvf
json
kql
lakehouse
linked-server
live-query-statistics
locking
m
machine-learning
machine-learning-model
machine-learning-services
master-key
mcp
mdx
memory
memory-grant
mermaid
mirrored-sql-server
network
network-card
network-category
office-script
onedrive
onnx-runtime
openrowset
p2v
parquet
performance
polybase
power-automate
power-bi
power-bi-report-tricks
power-platform
power-query
powershell
printer
public-ip-address
pyspark
python
qgis
qt-designer
query-performance
query-plan
query-troubleshooting
r
regex
replication
route
s3
schema-design
scripting
self-signed-certificate
server-role
sharepoint
snowflake
software-development
sofware-development
spark
sql
sql-2025
sql-agent
sql-availability-group
sql-error
sql-failover-cluster-instance
sql-index
sql-openjson
sql-permission
sql-recovery
sql-script
sql-security
sql-server
sql-server-admin
sql-server-config
sql-statistics
ssis
ssisdb
ssl
ssl/tls-error
ssms
table-expression
tempdb
terraform
tips
troubleshooting
unicode
view
visual-studio
visual-studio-code
vmware
wait-statistics
wi-fi-connection-issue
windows-settings