Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Подстановка из файла

Ответить
Настройки темы
PowerShell - Подстановка из файла

Аватара для Butunin Klim

Ветеран


Сообщения: 1482
Благодарности: 117

Профиль | Отправить PM | Цитировать


Не могу понять как сделать форму подстановки из файла по первым буквам (фильтр) в форму ввода
Вообщем на пальцах если...
Есть csv или txt фаил где если столбцы с именами их около 400 мне надо что бы по первым буквам например нам надо найти пользователя Петров
Я вводу "П" и из файла сразу идет подстановка этого имени в виде Павликов, Пархоменко, потом я в этой же форме ввожу вторую буку "Е" и выборка уже идет более конкретно Петров ...
Гуд, он мне и нужен , дальше у меня уже другой компонет работает
Вообще можно это сделать в PS?

-------
Сообщение помогло? В знак благодарности НАЖМИТЕ ПОЛЕЗНОЕ СООБЩЕНИЕ

Мы зрим не то, что есть вокруг,
А то, что можем видеть зримо.
А то, что зреть не достижимо
Нам не узреть во век веков.

Мой веб-магазин товары Amway http://butunina.ru


Отправлено: 11:41, 06-04-2012

 

Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


Цитата Butunin Klim:
в форму ввода »
что за форма? winforms textbox?

Отправлено: 18:10, 06-04-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для Butunin Klim

Ветеран


Сообщения: 1482
Благодарности: 117

Профиль | Отправить PM | Цитировать


Вот скрипт
"СЮДА ПОДСТАВНОКА ИМЕНИ ИЗ ФАЛА TXT или CSV"
Вот сюда нужно сделать систему фильтра по поиску.
То есть, если ввести первую букву то сразу подставятся те машины которые начинаются на эту букву


Цитата:
Add-Type -assembly System.Windows.Forms

# Все просто, массивы из списка серверов, списка пользоватей, и варианты подписи - чтобы использовать могла не только поддержка.
$Server = @("СЮДА ПОДСТАВНОКА ИМЕНИ ИЗ ФАЛА TXT или CSV")
$User = @("Администратор")
$Password = "ras****ru"




Function SendMessage {
param ($Server, $User, $Password)
# Write-Host $Server, $User, $Password, $Sign
If ($TestRunCheckBox.Checked -eq 1 ) { Write-Host $TestRunCheckBox.Checked; $Server="localhost"; $User = "Console" }
ForEach ($Item in $Server) {
ForEach ($UserX in $User) {
$UserTrim = $UserX.Trim()
$ServerTrim = $Item.Trim()
$MsgTrim = $Password.Trim()
$SignTrim = $SignX.Trim()
# Отладочный вывод, оставлен на всякий случай.
# Write-Host "User: $UserTrim; Server: $ServerTrim; Message: $MsgTrim; Signature: $SignTrim"
c:\windows\system32\cmd.exe
}
}
Confirm
}

# Вывод окна с подтверждением
Function Confirm {
$ConfirmWin = New-Object System.Windows.Forms.Form
$ConfirmWin.StartPosition = "CenterScreen"
$ConfirmWin.Text = "Подтверждение подключения"
$ConfirmWin.Width = 200
$ConfirmWin.Height = 120
$ConfirmWin.ControlBox = 0

$ConfirmWinOKButton = New-Object System.Windows.Forms.Button
$ConfirmWinOKButton.add_click({ $MainSendWindow.Close(); $ConfirmWin.Close() })
$ConfirmWinOKButton.Text = "Закрыть"
$ConfirmWinOKButton.AutoSize = 1
$ConfirmWinOKButton.Location = New-Object System.Drawing.Point(50,50)

$ConfirmLabel = New-Object System.Windows.Forms.Label
$ConfirmLabel.Text = "Подключаемся"
$ConfirmLabel.AutoSize = 1
$ConfirmLabel.Location = New-Object System.Drawing.Point(10,10)

$ConfirmWin.Controls.Add($ConfirmLabel)
$ConfirmWin.Controls.Add($ConfirmWinOKButton)
$ConfirmWin.ShowDialog() | Out-Null
}


$MainSendWindow = New-Object System.Windows.Forms.Form
$ToolTip = New-Object System.Windows.Forms.ToolTip

$ToolTip.BackColor = [System.Drawing.Color]::LightGoldenrodYellow
$ToolTip.IsBalloon = $true
# $ToolTip.InitialDelay = 500
# $ToolTip.ReshowDelay = 500


$SendButton = New-Object System.Windows.Forms.Button
$CloseButton = New-Object System.Windows.Forms.Button
$TestRunCheckBox = New-Object System.Windows.Forms.CheckBox


$ServerTextBox = New-Object System.Windows.Forms.ComboBox
$UserTextBox = New-Object System.Windows.Forms.ComboBox
$PasswordTextBox = New-Object System.Windows.Forms.TextBox
$SignTextBox = New-Object System.Windows.Forms.ComboBox


$ServerTextBoxLabel = New-Object System.Windows.Forms.Label
$UserTextBoxLabel = New-Object System.Windows.Forms.Label
$PasswordTextBoxLabel = New-Object System.Windows.Forms.Label
$SignTextBoxLabel = New-Object System.Windows.Forms.Label



$MainSendWindow.StartPosition = "CenterScreen"
$MainSendWindow.Text = "Подключится"
$MainSendWindow.Width = 470
$MainSendWindow.Height = 220

$ServerTextBoxLabel.Location = New-Object System.Drawing.Point(10,12)
$ServerTextBoxLabel.Text = "Список IP"
$ServerTextBoxLabel.Autosize = 1

$UserTextBoxLabel.Location = New-Object System.Drawing.Point(10,42)
$UserTextBoxLabel.Text = "Список Админинов"
$UserTextBoxLabel.Autosize = 1

$PasswordTextBoxLabel.Location = New-Object System.Drawing.Point(10,73)
$PasswordTextBoxLabel.Text = "Пароль* если надо"
$PasswordTextBoxLabel.Autosize = 1

$ToolTip.SetToolTip($PasswordTextBoxLabel, "Нет подписи")

$SignTextBoxLabel.Location = New-Object System.Drawing.Point(10,103)
$SignTextBoxLabel.Text = "Подпись"
$SignTextBoxLabel.Autosize = 1
$ToolTip.SetToolTip($SignTextBoxLabel, "Нет подписи 2")


$ServerTextBox.Location = New-Object System.Drawing.Point(140,10)

$ServerTextBox.DataSource = $Server

$ServerTextBox.Width = 300
#
$ServerTextBox.add_TextChanged({ $Server = $ServerTextBox.Text })

$ServerTextBox.TabIndex = 1
$ToolTip.SetToolTip($ServerTextBox, "Укажите список серверов")

$UserTextBox.Location = New-Object System.Drawing.Point(140,40)
$UserTextBox.DataSource = $User

$UserTextBox.Text = $User[1]
$UserTextBox.add_TextChanged({ $User = $UserTextBox.Text })
$UserTextBox.Width = 300
$UserTextBox.TabIndex = 2



$PasswordTextBox.Location = New-Object System.Drawing.Point(140,70)
$PasswordTextBox.Text = $Password

$PasswordTextBox.add_click({ $PasswordTextBox.SelectAll() })
$PasswordTextBox.add_TextChanged( { $Password = $PasswordTextBox.Text })
$PasswordTextBox.Width = 300
$PasswordTextBox.TabIndex = 3
$ToolTip.SetToolTip($PasswordTextBox, "Куда подключится?")


$SignTextBox.Location = New-Object System.Drawing.Point(140,103)

$SignTextBox.DataSource = $Sign

$SignTextBox.Text = $Sign[1]
$SignTextBox.add_TextChanged({ $SignX = $SignTextBox.Text })
$SignTextBox.Width = 300
$SignTextBox.TabIndex = 4
$ToolTip.SetToolTip($SignTextBox, "Нет подключения")


$SendButton.Location = New-Object System.Drawing.Point(10,150)
$SendButton.Text = "Подключиться"

$SendButton.add_click({ $User = $UserTextBox.Text.Split(","); $Server = $ServerTextBox.Text.Split(","); $SignX = $SignTextBox.Text; SendMessage $Server $User $Password $SignX} )
$SendButton.Autosize = 1
$SendButton.TabIndex = 5
$ToolTip.SetToolTip($SendButton, "Включи")


$TestRunCheckBox.Location = New-Object System.Drawing.Point(200,150)
$TestRunCheckBox.Text = "Тест"
$TestRunCheckBox.Checked = 1
$TestRunCheckBox.AutoSize = 1
$TestRunCheckBox.TabIndex = 6
$ToolTip.SetToolTip($TestRunCheckBox, "Снимите , для работы в полном режиме")


$CloseButton.Location = New-Object System.Drawing.Point(315,150)
$CloseButton.Text = "Выйти из программы"
$CloseButton.add_click({ $MainSendWindow.Close() })
$CloseButton.Autosize = 1
$CloseButton.TabIndex = 7
$ToolTip.SetToolTip($CloseButton, "Выход")



$MainSendWindow.Controls.Add($SendButton)
$MainSendWindow.Controls.Add($TestRunCheckBox)
$MainSendWindow.Controls.Add($CloseButton)

$MainSendWindow.Controls.Add($ServerTextBox)
$MainSendWindow.Controls.Add($UserTextBox)
$MainSendWindow.Controls.Add($PasswordTextBox)
$MainSendWindow.Controls.Add($SignTextBox)

$MainSendWindow.Controls.Add($ServerTextBoxLabel)
$MainSendWindow.Controls.Add($UserTextBoxLabel)
$MainSendWindow.Controls.Add($PasswordTextBoxLabel)
$MainSendWindow.Controls.Add($SignTextBoxLabel)

$MainSendWindow.ShowDialog() | Out-Null

-------
Сообщение помогло? В знак благодарности НАЖМИТЕ ПОЛЕЗНОЕ СООБЩЕНИЕ

Мы зрим не то, что есть вокруг,
А то, что можем видеть зримо.
А то, что зреть не достижимо
Нам не узреть во век веков.

Мой веб-магазин товары Amway http://butunina.ru


Отправлено: 10:21, 09-04-2012 | #3


Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


вот здесь программа, делает GUI для powershell
http://www.sapien.com/software/primalforms#

вот ее вариант автодополнения

Код: Выделить весь код
        [void]$textbox1.AutoCompleteCustomSource.Add("меня")
	[void]$textbox1.AutoCompleteCustomSource.Add("сервер")
	[void]$textbox1.AutoCompleteCustomSource.Add("примерно")
	[void]$textbox1.AutoCompleteCustomSource.Add("полгода")
	[void]$textbox1.AutoCompleteCustomSource.Add("отлично")
	[void]$textbox1.AutoCompleteCustomSource.Add("пашет")
	[void]$textbox1.AutoCompleteCustomSource.Add("серьёзных")
	[void]$textbox1.AutoCompleteCustomSource.Add("замечаний")
	[void]$textbox1.AutoCompleteCustomSource.Add("гляньте")
	$textbox1.AutoCompleteMode = 'Suggest'
	$textbox1.AutoCompleteSource = 'CustomSource'
	$textbox1.Location = '106, 96'
	$textbox1.Name = "textbox1"
	$textbox1.Size = '100, 20'
	$textbox1.TabIndex = 1
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:05, 10-04-2012 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Подстановка из файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Подстановка большого количества параметров. Zeneth Скриптовые языки администрирования Windows 13 30-12-2011 13:16
[решено] подстановка в word garanov AutoIt 0 27-09-2010 09:35
Подстановка паролей на почтах naum7 Хочу все знать 3 27-06-2008 19:17
Загрузка - виртуальная подстановка дисков в boot.ini Vito86 Microsoft Windows 2000/XP 2 11-08-2007 12:14
Версия ОС и подстановка ключей. karb0f0s Автоматическая установка Windows 2000/XP/2003 6 25-05-2007 13:29




 
Переход