Я работаю над побочным проектом и упрощаю управление, поскольку почти все имена серверов составляют 15 символов, и я начал искать вариант управления RDP, но ни один из них мне не нравился; поэтому я начал писать один, и мне остается только одна проблема: что мне делать, чтобы управлять, если пользователь вводит недостаточно для поиска, чтобы два сервера соответствовали запросу. Я думаю, мне придется положить его в массив, а затем позволить им выбрать сервер, который они имели в виду. Вот то, что я до сих порВыберите опцию из массива
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
}
}
}
В основном я искал способ управления, если пользователь вводит сервер1
, что он спросит он хочет подключиться к Server10 или Server11 так оба они соответствуют фильтру.
Любая помощь? https://gallery.technet.microsoft.com/scriptcenter/Select-Item-V-10-beta-5e579fa6 – mjolinor
Вы можете получить преимущества от неоднозначного разрешения имен здесь: 'Get-ADComputer -LdapFilter '(ANR = $ Computer)" | Выберите -Exp DNSHostName' –
@mjolinor Мне нравится, как это выглядит, и так как вы были тем, кто написал его, как бы вы рекомендовали его использовать? – Luke