I am working on a side project and to make it easier for managment since almost all of out server names are 15 charactors long I started to look for an RDP managment option but none that I liked; so I started to write one and I am down to only one issue, what do I do to manage if the user types not enough for a search so two servers will match the Query. I think I will have to put it in an array and then let them select the server they meant. Here is what I have so far
function Connect-RDP { param ( [Parameter(Mandatory = $true)] $ComputerName, [System.Management.Automation.Credential()] $Credential ) # take each computername and process it individually $ComputerName | ForEach-Object{ Try { $Computer = $_ $ConnectionDNS = Get-ADComputer -server "DomainController:1234" -ldapfilter "(name=$computer)" -ErrorAction Stop | Select-Object -ExpandProperty DNSHostName $ConnectionSearchDNS = Get-ADComputer -server "DomainController:1234" -ldapfilter "(name=*$computer*)" | Select -Exp DNSHostName Write-host $ConnectionDNS Write-host $ConnectionSearchDNS if ($ConnectionDNS){ #mstsc.exe /v ($ConnectionDNS) /f }Else{ #mstsc.exe /v ($ConnectionSearchDNS) /f } } catch { Write-Host "Could not locate computer '$Computer' in AD." -ForegroundColor Red } } } Basically I am looking for a way to manage if a user types server1
that it will ask does he want to connect to Server10 or Server11 since both of them match the filter.


Get-ADComputer -LdapFilter "(ANR=$Computer)" | Select -Exp DNSHostName