@yrodnayrovne

Как сделать автоматический размер столбца USERNAME? И как скрыть от видимости последний столбец?

If (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator"))
{
$arguments = "& '" + $myinvocation.mycommand.definition + "'"
Start-Process powershell -Verb runAs -ArgumentList $arguments
Break
}
Add-Type -assembly System.Windows.Forms
$Header = "USERNAME", "UnifiedSessionId", "HostServer"
$dlgForm = New-Object System.Windows.Forms.Form
$dlgForm.Text ='Session Connect'
$dlgForm.Width = 400
$dlgForm.AutoSize = $False
$dlgBttn = New-Object System.Windows.Forms.Button
$dlgBttn.Text = 'Control'
$dlgBttn.Location = New-Object System.Drawing.Point(15,10)
$dlgForm.Controls.Add($dlgBttn)
$dlgBttn1 = New-Object System.Windows.Forms.Button
$dlgBttn1.Text = 'Watch'
$dlgBttn1.Location = New-Object System.Drawing.Point(100,10)
$dlgForm.Controls.Add($dlgBttn1)
$dlgList = New-Object System.Windows.Forms.ListView
$dlgList.Location = New-Object System.Drawing.Point(0,50)
$dlgList.Width = $dlgForm.ClientRectangle.Width
$dlgList.Height = $dlgForm.ClientRectangle.Height
$dlgList.Anchor = "Top, Left, Right, Bottom"
$dlgList.MultiSelect = $False
$dlgList.View = 'Details'
$dlgList.FullRowSelect = 1;
$dlgList.GridLines = 1
$dlgList.Scrollable = 1
$dlgForm.Controls.add($dlgList)
# Add columns to the ListView
foreach ($column in $Header){
$dlgList.Columns.Add($column) | Out-Null
}
$(Get-RDUserSession -ConnectionBroker "Server" | Sort-Object -Property USERNAME) | ForEach-Object {
$dlgListItem = New-Object System.Windows.Forms.ListViewItem($_.USERNAME)
$dlgListItem.Subitems.Add($_.UnifiedSessionId) | Out-Null
$dlgListItem.Subitems.Add($_.HostServer)| Out-Null
$dlgList.Items.Add($dlgListItem) | Out-Null
}
$dlgBttn.Add_Click(
{
$SelectedItem = $dlgList.SelectedItems[0]
if ($SelectedItem -eq $null){
[System.Windows.Forms.MessageBox]::Show("Выберите сессию для подключения")
}else{
$session_UnifiedSessionId = $SelectedItem.subitems[1].text
$session_HostServer = $SelectedItem.subitems[2].text
Write-Host $session_UnifiedSessionId
Write-Host $session_HostServer
$(mstsc /shadow:$session_UnifiedSessionId /v:$session_HostServer /control /noConsentPrompt)
#[System.Windows.Forms.MessageBox]::Show($session_UnifiedSessionId)
}
}
)
$dlgBttn1.Add_Click(
{
$SelectedItem = $dlgList.SelectedItems[0]
if ($SelectedItem -eq $null){
[System.Windows.Forms.MessageBox]::Show("Выберите сессию для подключения")
}else{
$session_UnifiedSessionId = $SelectedItem.subitems[1].text
$session_HostServer = $SelectedItem.subitems[2].text
Write-Host $session_UnifiedSessionId
Write-Host $session_HostServer
$(mstsc /shadow:$session_UnifiedSessionId /v:$session_HostServer /noConsentPrompt)
#[System.Windows.Forms.MessageBox]::Show($session_UnifiedSessionId)
}
}
)
$dlgForm.ShowDialog()
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
@MaxKozlov Куратор тега PowerShell
Ваши вопросы мало относятся к Powershell, это скорее .net
гуглится примерно как c# listview column autosize,
https://stackoverflow.com/questions/1257500/c-shar...
c# listview column hide
https://stackoverflow.com/questions/7811669/how-to...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы