10 кг. это вес всего велика? а сколько весит механизм переключения?
К примеру Shimano Di2 весит 150-200 грамм, но это только переключение передних передач
Мне кажется данное решение вполне жизнеспособно если его интегрировать в раму, всю проводку скрыть и сделать его водо-пыленепроницаемым со съемным аккумулятором.
Да, согласен, решение более гибкое, но тут есть подводные камни:
1. Скорость работы Get-RDUserSession в разы ниже чем quser;
2. Нужны права доменного админа для получения информации с брокера.
Есть ли опыт проброс GSM-usb модема в Linux?
К примеру Shimano Di2 весит 150-200 грамм, но это только переключение передних передач
Мне кажется данное решение вполне жизнеспособно если его интегрировать в раму, всю проводку скрыть и сделать его водо-пыленепроницаемым со съемным аккумулятором.
Сколько весит данное решение?
1. Скорость работы Get-RDUserSession в разы ниже чем quser;
2. Нужны права доменного админа для получения информации с брокера.
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$Form = New-Object System.Windows.Forms.Form
$Form.Text ='Выбор пользователя'
$Form.Width = 400
$Form.Height = 200
$Form.AutoSize = $true
$Button = New-Object System.Windows.Forms.Button
$Button.Text = 'OK'
$Button.Font = New-Object System.Drawing.Font(«Microsoft Sans Serif»,12,1,3)
$Button.Anchor = 0
$Button.Width = 200
$Button.Height = 30
$Button.Left = ($Form.ClientSize.Width — $Button.Width)/2
$Button.Top = ($Form.ClientSize.Height — $Button.Height)/2 + 60
$Form.Controls.Add($Button)
$FormComboBox = New-Object System.Windows.Forms.ComboBox
$FormComboBox.Width = $Form.Width
$Users = quser /SERVER:T-F-SRV1 | where {$_ -match 'rdp-tcp#'} | foreach {$_.Insert(($_.Count — 1), ' T-F-SRV1')}
$Users += quser /SERVER:T-F-SRV2 | where {$_ -match 'rdp-tcp#'} | foreach {$_.Insert(($_.Count — 1), ' T-F-SRV2')}
$Users += quser /SERVER:T-F-SRV3 | where {$_ -match 'rdp-tcp#'} | foreach {$_.Insert(($_.Count — 1), ' T-F-SRV3')}
$Users += quser /SERVER:T-F-SRV4 | where {$_ -match 'rdp-tcp#'} | foreach {$_.Insert(($_.Count — 1), ' T-F-SRV4')}
$Users += quser /SERVER:T-F-SRV5 | where {$_ -match 'rdp-tcp#'} | foreach {$_.Insert(($_.Count — 1), ' T-F-SRV5')}
if ($Users.Count -gt 1){
$i = 0
foreach ($User in $Users){
$User = $User.Split(" ")
$User = $User | where {$_ -ne ''}
$Users[$i] = $User[1,0,3]
$i++
}
$Users = $Users | Sort-Object
foreach ($User in $Users){
$FormComboBox.Items.Add($User[0])
}
$FormComboBox.Location = New-Object System.Drawing.Point(0,30)
$Form.Controls.Add($FormComboBox)
$Label = New-Object System.Windows.Forms.Label
$Label.Font = New-Object System.Drawing.Font('Times New Roman',22,3,3)
$Label.AutoSize = $true
$Label.Text = «Выберите пользователя»
$Form.Controls.Add($Label)
function checkCode() {
if ($FormComboBox.Text -ne '' ) {
$usr = $FormComboBox.Text
$User = $Users | where {$_[0] -eq $usr}
$a = '/shadow:' + $User[2]
$v = '/v:' + $User[1]
mstsc $a $v /control /NoConsentPrompt
}
else{
msg * 'Пользователь не выбран'
$Button.add_Click({ Invoke-Expression «checkCode» })
$Form.add_FormClosing({ Invoke-Expression «formClosing» })
$Form.ShowDialog() | Out-Null
}
}
$Button.add_Click({ Invoke-Expression «checkCode» })
$Form.ShowDialog() | Out-Null
}
if ($Users.Count -eq 1){
$User = $Users.Split(" ") | where {$_ -ne ''}
$Users = $User[1,0,3]
$FormComboBox.Items.Add($Users[0])
$FormComboBox.Location = New-Object System.Drawing.Point(0,30)
$Form.Controls.Add($FormComboBox)
$Label = New-Object System.Windows.Forms.Label
$Label.Font = New-Object System.Drawing.Font('Times New Roman',22,3,3)
$Label.AutoSize = $true
$Label.Text = «Выберите пользователя»
$Form.Controls.Add($Label)
function checkCode() {
if ($FormComboBox.Text -ne '' ) {
$a = '/shadow:' + $Users[2]
$v = '/v:' + $Users[1]
mstsc $a $v /control /NoConsentPrompt
}
else{
msg * 'Пользователь не выбран'
$Button.add_Click({ Invoke-Expression «checkCode» })
$Form.add_FormClosing({ Invoke-Expression «formClosing» })
$Form.ShowDialog() | Out-Null
}
}
$Button.add_Click({ Invoke-Expression «checkCode» })
$Form.ShowDialog() | Out-Null
}
Данный скрипт отпросит все сервера терминальной фермы RDS и выдаст форму для выбора подключения к любому пользователю RDS