Потенциальная опасность INSERT IGNORE. Если вы пытаетесь вставить значение VARCHAR дольше, тогда столбец был определен с: - значение будет усечено и вставлено. EVEN IF строгий режим включен.
Если я вас правильно понял, вы хотите нажать кнопку, и она запустит запрос, а затем выведет имена серверов в поле со списком. Простой.
Вам нужно перебрать имена и добавить их в список со списком 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)
Спасибо Дрю за помощь !. Я делаю изменения, но теперь 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