Powershell выберите выпадающий список и выполните mstsc.exe

Потенциальная опасность INSERT IGNORE. Если вы пытаетесь вставить значение VARCHAR дольше, тогда столбец был определен с: - значение будет усечено и вставлено. EVEN IF строгий режим включен.

0
задан Nicolas 16 January 2019 в 18:21
поделиться

2 ответа

Если я вас правильно понял, вы хотите нажать кнопку, и она запустит запрос, а затем выведет имена серверов в поле со списком. Простой.

Вам нужно перебрать имена и добавить их в список со списком Item, а не в список SelectedItem.

$comboBox1.Items.Clear()
$1 = Get-ADComputer -Filter * -SearchBase "OU=Servers, OU=Computer, DC=example, DC=com" -Properties Name | select name
Foreach($name in $1) {
    $comboBox1.Items.Add($Name.name)
}

Не забудьте очистить ComboBox перед его запуском, в противном случае вы получите дублирующиеся записи.

РЕДАКТИРОВАТЬ:

Чтобы запустить mstsc.exe с выбранным кодом, вставьте его в функцию кнопки.

mstsc.exe /v:$($comboBox1.SelectedItem)
0
ответ дан Drew 16 January 2019 в 18:21
поделиться

Спасибо Дрю за помощь !. Я делаю изменения, но теперь powerbox просто заполнить одним сервером. Этот запрос в порядке, потому что я делаю это в консоли PowerShell и получаю полный список:

$1 = Get-ADComputer -Filter * -SearchBase "OU=Servers, OU=xx, DC=xxx, DC=xxx" -Properties Name | select name

Я копирую код, который пытаюсь заполнить de combobox1. Еще раз спасибо за помощь!

[reflection.assembly]::LoadWithPartialName("System.Drawing") | Out-Null
[reflection.assembly]::LoadWithPartialName("System.Windows.Forms") | Out-Null
$comboBox1.Items.Clear()
$1 = Get-ADComputer -Filter * -SearchBase "OU=Servers, OU=xxx, DC=xxx, DC=xxx" -Properties Name | select name
Foreach($name in $1) {
    $comboBox1.Items.Add($Name.name)
}
$comboBox1 = New-Object -TypeName System.Windows.Forms.ComboBox
$comboBox1.Location = New-Object -TypeName System.Drawing.Point -ArgumentList 5, 5
$comboBox1.Size = New-Object -TypeName System.Drawing.Point -ArgumentList 100, 25
$comboBox1.Items.Add($name.name) | Out-Null
$form = New-Object -TypeName System.Windows.Forms.Form
$form.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::FixedSingle
$form.MaximizeBox = $false
$form.MinimizeBox = $false
$form.Size = New-Object -TypeName System.Drawing.Point -ArgumentList 60, 105
$form.StartPosition = [System.Windows.Forms.FormStartPosition]::CenterScreen
$form.Controls.Add($combobox1)
$form.Controls.Add($button)
$form.ShowDialog() | Out-Null
0
ответ дан Nicolas 16 January 2019 в 18:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: