@yrodnayrovne

Как сделать так что бы при нажатии на вторую кнопку $dlgBttn.Text = 'View', было подключение к сессии на просмотр?

Сейчас есть кнопка Control, и при нажатии на неё запускается процесс теневого подключения без подтверждения.
Как сделать так что бы при нажатии на вторую кнопку $dlgBttn.Text = 'View' , было подключение к сессии на просмотр?

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 = "SESSIONNAME", "USERNAME", "UnifiedSessionId", "HostServer"
$dlgForm = New-Object System.Windows.Forms.Form
$dlgForm.Text ='Session Connect'
$dlgForm.Width = 400
$dlgForm.AutoSize = $true
$dlgBttn = New-Object System.Windows.Forms.Button
$dlgBttn.Text = 'Control'
$dlgBttn.Location = New-Object System.Drawing.Point(15,10)
$dlgForm.Controls.Add($dlgBttn)
$dlgBttn = New-Object System.Windows.Forms.Button
$dlgBttn.Text = 'View'
$dlgBttn.Location = New-Object System.Drawing.Point(100,10)
$dlgForm.Controls.Add($dlgBttn)
$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") | ForEach-Object {
$dlgListItem = New-Object System.Windows.Forms.ListViewItem($_.SESSIONNAME)
$dlgListItem.Subitems.Add($_.USERNAME) | Out-Null
$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[2].text
$session_HostServer = $SelectedItem.subitems[3].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)
}
}
)
$dlgForm.ShowDialog()
  • Вопрос задан
  • 29 просмотров
Решения вопроса 1
@MaxKozlov Куратор тега PowerShell
Точно так же. Только вместо /control - нужную команду
И еще вы присваиваете одной переменной $dlgBttn обе кнопки. Поэтому по факту у вас работает только view. Сделайте разными
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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