![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Помогите создать фильтр c выводом в Grid |
|
PowerShell - Помогите создать фильтр c выводом в Grid
|
Новый участник Сообщения: 32 |
Помогите создать фильтр в Grid , и вообще можно ли это реализовать.
Собрал из кусков всего чего нашел в интернете + допилил сам, функцию подключения к фермам 2012 R2 в Shadow + создал для этого GUI Суть проста. Подключится к BD , где находятся базы RDS , взять от туда таблицу с UserName, PoolName, ServerName, SessionId В базах создал Viewer Скрытый текст
CREATE VIEW [dbo].[Shadowing] AS SELECT Session.UserName, Pool.DisplayName AS PoolName, Target.Name AS ServerName, Session.SessionId FROM rds.Session AS Session INNER JOIN rds.Target AS Target ON Target.Id = Session.TargetId INNER JOIN rds.Pool AS Pool ON Target.PoolId = Pool.Id WHERE (Session.State = 0) GO далее через GRID , создал форму и подключение в shadow Скрытый текст
$CBSQLServer = "aqua" $CBDB = "fdrdsdb" $CBDB2 = "CRMRDSDB" $CBDB3 = "RDSDB" $CBDBConnection = New-Object -TypeName System.Data.SqlClient.SqlConnection -ArgumentList "Server=$CBSQLServer;Database=$CBDB;Integrated Security=SSPI" $CBDBConnection.Open() $SQLCommand = $CBDBConnection.CreateCommand() $SQLCommand.CommandText = ("SELECT * FROM Shadowing") $SQLReader = $SQLCommand.ExecuteReader() $ShadowingView = New-Object System.Data.DataTable $ShadowingView.Load($SQLReader) $SQLReader.Close() $CBDBConnection1 = New-Object -TypeName System.Data.SqlClient.SqlConnection -ArgumentList "Server=$CBSQLServer;Database=$CBDB2;Integrated Security=SSPI" $CBDBConnection1.Open() $SQLCommand1 = $CBDBConnection1.CreateCommand() $SQLCommand1.CommandText = ("SELECT * FROM Shadowing") $SQLReader1 = $SQLCommand1.ExecuteReader() $ShadowingView1 = New-Object System.Data.DataTable $ShadowingView1.Load($SQLReader1) $SQLReader1.Close() $CBDBConnection2 = New-Object -TypeName System.Data.SqlClient.SqlConnection -ArgumentList "Server=$CBSQLServer;Database=$CBDB3;Integrated Security=SSPI" $CBDBConnection2.Open() $SQLCommand2 = $CBDBConnection2.CreateCommand() $SQLCommand2.CommandText = ("SELECT * FROM Shadowing") $SQLReader2 = $SQLCommand2.ExecuteReader() $ShadowingView2 = New-Object System.Data.DataTable $ShadowingView2.Load($SQLReader2) $SQLReader2.Close() function Get-ProcessInfo { $array = New-Object System.Collections.ArrayList $Script:procInfo = $ShadowingView1 + $ShadowingView + $ShadowingView2 | Select UserName, PoolName, ServerName, SessionId| sort -Property UserName $array.AddRange($procInfo) $dataGrid1.DataSource = $array $form1.refresh() } function GenerateForm { [reflection.assembly]::loadwithpartialname("System.Windows.Forms") | Out-Null [reflection.assembly]::loadwithpartialname("System.Drawing") | Out-Null $form1 = New-Object System.Windows.Forms.Form $label1 = New-Object System.Windows.Forms.Label $button3 = New-Object System.Windows.Forms.Button $button2 = New-Object System.Windows.Forms.Button $button4 = New-Object System.Windows.Forms.Button $button1 = New-Object System.Windows.Forms.Button $dataGrid1 = New-Object System.Windows.Forms.DataGrid $InitialFormWindowState = New-Object System.Windows.Forms.FormWindowState $button3_OnClick = { $Form1.Close() } $button1_OnClick = { Get-ProcessInfo } $button2_OnClick = { $selectedRow = $dataGrid1.CurrentRowIndex if (($procid = $Script:procInfo[$selectedRow])) { mstsc /v:($procid.ServerName) /shadow:($procid.SessionId) /control /NoConsentPrompt } } $button4_OnClick = { $selectedRow = $dataGrid1.CurrentRowIndex if (($procid = $Script:procInfo[$selectedRow])) { mstsc /v:($procid.ServerName) /shadow:($procid.SessionId) /NoConsentPrompt } } $OnLoadForm_UpdateGrid = { Get-ProcessInfo } $form1.Text = "Подключатель" $form1.Name = "form1" $form1.DataBindings.DefaultDataSourceUpdateMode = 0 $System_Drawing_Size = New-Object System.Drawing.Size $System_Drawing_Size.Width = 517 $System_Drawing_Size.Height = 414 $form1.ClientSize = $System_Drawing_Size $label1.TabIndex = 4 $System_Drawing_Size = New-Object System.Drawing.Size $System_Drawing_Size.Width = 155 $System_Drawing_Size.Height = 23 $label1.Size = $System_Drawing_Size $label1.Text = "Подключатель" $label1.Font = New-Object System.Drawing.Font("Microsoft Sans Serif", 9.75, 2, 3, 0) $label1.ForeColor = [System.Drawing.Color]::FromArgb(255, 0, 102, 204) $System_Drawing_Point = New-Object System.Drawing.Point $System_Drawing_Point.X = 13 $System_Drawing_Point.Y = 13 $label1.Location = $System_Drawing_Point $label1.DataBindings.DefaultDataSourceUpdateMode = 0 $label1.Name = "label1" $form1.Controls.Add($label1) $button3.TabIndex = 3 $button3.Name = "button3" $System_Drawing_Size = New-Object System.Drawing.Size $System_Drawing_Size.Width = 75 $System_Drawing_Size.Height = 23 $button3.Size = $System_Drawing_Size $button3.UseVisualStyleBackColor = $True $button3.Text = "Закрыть" $System_Drawing_Point = New-Object System.Drawing.Point $System_Drawing_Point.X = 380 $System_Drawing_Point.Y = 379 $button3.Location = $System_Drawing_Point $button3.DataBindings.DefaultDataSourceUpdateMode = 0 $button3.add_Click($button3_OnClick) $form1.Controls.Add($button3) $button2.TabIndex = 2 $button2.Name = "button2" $System_Drawing_Size = New-Object System.Drawing.Size $System_Drawing_Size.Width = 75 $System_Drawing_Size.Height = 23 $button2.Size = $System_Drawing_Size $button2.UseVisualStyleBackColor = $True $button2.Text = "Контроль" $System_Drawing_Point = New-Object System.Drawing.Point $System_Drawing_Point.X = 230 $System_Drawing_Point.Y = 379 $button2.Location = $System_Drawing_Point $button2.DataBindings.DefaultDataSourceUpdateMode = 0 $button2.add_Click($button2_OnClick) $form1.Controls.Add($button2) $button4.Text = "Наблюдение" $System_Drawing_Point = New-Object System.Drawing.Point $System_Drawing_Point.X = 150 $System_Drawing_Point.Y = 379 $button4.Location = $System_Drawing_Point $button4.DataBindings.DefaultDataSourceUpdateMode = 0 $button4.add_Click($button4_OnClick) $form1.Controls.Add($button4) $button1.TabIndex = 1 $button1.Name = "button1" $System_Drawing_Size = New-Object System.Drawing.Size $System_Drawing_Size.Width = 75 $System_Drawing_Size.Height = 23 $button1.Size = $System_Drawing_Size $button1.UseVisualStyleBackColor = $True $button1.Text = "Обновить" $System_Drawing_Point = New-Object System.Drawing.Point $System_Drawing_Point.X = 13 $System_Drawing_Point.Y = 379 $button1.Location = $System_Drawing_Point $button1.DataBindings.DefaultDataSourceUpdateMode = 0 $button1.add_Click($button1_OnClick) $form1.Controls.Add($button1) $System_Drawing_Size = New-Object System.Drawing.Size $System_Drawing_Size.Width = 492 $System_Drawing_Size.Height = 308 $dataGrid1.Size = $System_Drawing_Size $dataGrid1.DataBindings.DefaultDataSourceUpdateMode = 0 $dataGrid1.HeaderForeColor = [System.Drawing.Color]::FromArgb(255, 0, 0, 0) $dataGrid1.Name = "dataGrid1" $dataGrid1.DataMember = "" $dataGrid1.TabIndex = 0 $System_Drawing_Point = New-Object System.Drawing.Point $System_Drawing_Point.X = 13 $System_Drawing_Point.Y = 48 $dataGrid1.Location = $System_Drawing_Point $form1.Controls.Add($dataGrid1) $InitialFormWindowState = $form1.WindowState $form1.add_Load($OnLoadForm_UpdateGrid) $form1.ShowDialog() | Out-Null } GenerateForm По итогу получилась такая формачка Скрытый текст
![]() Если обратить внимание столбец "UserName" достаточно большой, так вот вопрос... есть ли режим фильтра в GRID который бы можно было в крутить сюда и по буквам уже чтобы шла фильтрация? |
|
Отправлено: 12:34, 03-12-2015 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Отдельным полем, не? Сама фильтрация, например: Свойство BindingSource.Filter (System.Windows.Forms).
|
Отправлено: 12:48, 03-12-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 32
|
Профиль | Сайт | Отправить PM | Цитировать Да, все равно как , главное , чтобы мне было легко это сделать, и работало ...
Цитата Iska:
|
|
Отправлено: 13:16, 03-12-2015 | #3 |
Забанен Сообщения: 793
|
Хм... как насчет Out-GridView?
|
Отправлено: 18:06, 03-12-2015 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать |
|
Отправлено: 19:25, 03-12-2015 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Помогите с выводом информации в Windows sidebar | includer-test | Программирование и базы данных | 10 | 29-05-2013 22:21 | |
Прочее - Grid порталы: назначение и возможности, организация архитектура и управление, примеры | Dark_Semi | Сетевые технологии | 0 | 09-10-2012 15:51 | |
Правительство Великобритании хочет создать фильтр от порносайтов | OSZone News | Новости информационных технологий | 10 | 10-05-2012 19:11 | |
System/Проект - Нужна помощь в создание Grid (кластера) системы для кодирования видео. | olega78 | Сетевые технологии | 0 | 19-02-2010 21:00 | |
Race Driver: GRID | Anatoliy2004 | Игры | 36 | 18-03-2009 23:48 |
|