рдЬрд┐рд╕ рд╕рдВрдЧрдарди рдореЗрдВ рдореИрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рд╡рд╣рд╛рдВ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рджреВрд░ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рд╣реИред рдерд╛ред рдкрд┐рдЫрд▓реЗ рд╕рдкреНрддрд╛рд╣ рддрдХ. рдЕрдм рд╣рдореЗрдВ рддрддреНрдХрд╛рд▓ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдерд╛ред рд╡реНрдпрд╡рд╕рд╛рдп рд╕реЗ - рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдирдП рдХрд╛рд░реНрдп рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЕрдкрдирд╛рдирд╛, рд╣рдорд╛рд░реА рдУрд░ рд╕реЗ - рдкрд┐рди рдХреЛрдб рдФрд░ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдкреАрдХреЗрдЖрдИ, рд╡реАрдкреАрдПрди, рд╡рд┐рд╕реНрддреГрдд рд▓реЙрдЧрд┐рдВрдЧ рдФрд░ рдмрд╣реБрдд рдХреБрдЫред
рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рд░рд┐рдореЛрдЯ рдбреЗрд╕реНрдХрдЯреЙрдк рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдЙрд░реНрдл тАЛтАЛрдЯрд░реНрдорд┐рдирд▓ рд╕рд░реНрд╡рд┐рд╕реЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░реЛрдВ рдореЗрдВ рдХрдИ рдЖрд░рдбреАрдПрд╕ рддреИрдирд╛рддреА рд╣реИрдВред рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕рдВрдмрдВрдзрд┐рдд рдЖрдИрдЯреА рд╡рд┐рднрд╛рдЧреЛрдВ рдХреЗ рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░реЛрдВ рд╕реЗ рдЕрдВрддрдГрдХреНрд░рд┐рдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рдирд╛ рдерд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рдЖрд░рдбреАрдПрд╕ рдЫрд╛рдпрд╛ рддрдВрддреНрд░ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╕реМрдВрдкрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЖрд░рдбреАрдПрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рд╢рд╛рд╕рдХ рдЕрдзрд┐рдХрд╛рд░ рджреЗрдирд╛ рд╣реИред
рдореИрдВ рдЕрдкрдиреЗ рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдорд╣рддреНрд╡ рджреЗрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдкреНрд░рд╢рд╛рд╕рдирд┐рдХ рдЕрдзрд┐рдХрд╛рд░ рд╕реМрдВрдкрдиреЗ рдХреА рдмрд╛рдд рдЖрддреА рд╣реИ рддреЛ рдореИрдВ рдмрд╣реБрдд рд▓рд╛рд▓рдЪреА рд╣реЛ рдЬрд╛рддрд╛ рд╣реВрдВред ЁЯЩВ рдЬреЛ рд▓реЛрдЧ рдореБрдЭрд╕реЗ рд╕рд╣рдордд рд╣реИрдВ, рдХреГрдкрдпрд╛ рдХрдЯ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВред
рдЦреИрд░, рдХрд╛рдо рддреЛ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рдЕрдм рдХрд╛рдо рдкрд░ рдЖрддреЗ рд╣реИрдВред
1 рдХрджрдо
рдЖрдЗрдП рд╕рдХреНрд░рд┐рдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдореВрд╣ рдмрдирд╛рдПрдВ рдЖрд░рдбреАрдкреА_рдСрдкрд░реЗрдЯрд░реНрд╕ рдФрд░ рдЗрд╕рдореЗрдВ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдЦрд╛рддреЗ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЕрдзрд┐рдХрд╛рд░ рд╕реМрдВрдкрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ:
$Users = @(
"UserLogin1",
"UserLogin2",
"UserLogin3"
)
$Group = "RDP_Operators"
New-ADGroup -Name $Group -GroupCategory Security -GroupScope DomainLocal
Add-ADGroupMember -Identity $Group -Members $Users
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХрд╛рдзрд┐рдХ AD рд╕рд╛рдЗрдЯреЗрдВ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдЧрд▓реЗ рдЪрд░рдг рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА рдбреЛрдореЗрди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдкрд░ рдЗрд╕рдХреА рдкреНрд░рддрд┐рдХреГрддрд┐ рдмрдирдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреА рд╣реЛрдЧреАред рдЗрд╕рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ 15 рдорд┐рдирдЯ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред
2 рдХрджрдо
рдЖрдЗрдП рд╕рдореВрд╣ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдЖрд░рдбреАрдПрд╕рдПрдЪ рд╕рд░реНрд╡рд░ рдкрд░ рдЯрд░реНрдорд┐рдирд▓ рд╕рддреНрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрдВ:
рд╕реЗрдЯ-RDSPermissions.ps1
$Group = "RDP_Operators"
$Servers = @(
"RDSHost01",
"RDSHost02",
"RDSHost03"
)
ForEach ($Server in $Servers) {
#╨Ф╨╡╨╗╨╡╨│╨╕╤А╤Г╨╡╨╝ ╨┐╤А╨░╨▓╨╛ ╨╜╨░ ╤В╨╡╨╜╨╡╨▓╤Л╨╡ ╤Б╨╡╤Б╤Б╨╕╨╕
$WMIHandles = Get-WmiObject `
-Class "Win32_TSPermissionsSetting" `
-Namespace "rootCIMV2terminalservices" `
-ComputerName $Server `
-Authentication PacketPrivacy `
-Impersonation Impersonate
ForEach($WMIHandle in $WMIHandles)
{
If ($WMIHandle.TerminalName -eq "RDP-Tcp")
{
$retVal = $WMIHandle.AddAccount($Group, 2)
$opstatus = "╤Г╤Б╨┐╨╡╤И╨╜╨╛"
If ($retVal.ReturnValue -ne 0) {
$opstatus = "╨╛╤И╨╕╨▒╨║╨░"
}
Write-Host ("╨Ф╨╡╨╗╨╡╨│╨╕╤А╨╛╨▓╨░╨╜╨╕╨╡ ╨┐╤А╨░╨▓ ╨╜╨░ ╤В╨╡╨╜╨╡╨▓╨╛╨╡ ╨┐╨╛╨┤╨║╨╗╤О╤З╨╡╨╜╨╕╨╡ ╨│╤А╤Г╨┐╨┐╨╡ " +
$Group + " ╨╜╨░ ╤Б╨╡╤А╨▓╨╡╤А╨╡ " + $Server + ": " + $opstatus + "`r`n")
}
}
}
3 рдХрджрдо
рд╕рдореВрд╣ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рджреВрд░рд╕реНрде рдбреЗрд╕реНрдХрдЯреЙрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рддреНрдпреЗрдХ RDSH рд╕рд░реНрд╡рд░ рдкрд░ред рдпрджрд┐ рдЖрдкрдХреЗ рд╕рд░реНрд╡рд░ рд╕рддреНрд░ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕рдВрдпреБрдХреНрдд рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕реЗ рд╕рдВрдЧреНрд░рд╣ рд╕реНрддрд░ рдкрд░ рдХрд░рддреЗ рд╣реИрдВ:
$Group = "RDP_Operators"
$CollectionName = "MyRDSCollection"
[String[]]$CurrentCollectionGroups = @(Get-RDSessionCollectionConfiguration -CollectionName $CollectionName -UserGroup).UserGroup
Set-RDSessionCollectionConfiguration -CollectionName $CollectionName -UserGroup ($CurrentCollectionGroups + $Group)
рдПрдХрд▓ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
4 рдХрджрдо
рдЖрдЗрдП "рдкреНрд░рдмрдВрдзрдХреЛрдВ" рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреАрдПрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддреИрдпрд╛рд░ рдХрд░реЗрдВ:
RDSManagement.ps1
$Servers = @(
"RDSHost01",
"RDSHost02",
"RDSHost03"
)
function Invoke-RDPSessionLogoff {
Param(
[parameter(Mandatory=$True, Position=0)][String]$ComputerName,
[parameter(Mandatory=$true, Position=1)][String]$SessionID
)
$ErrorActionPreference = "Stop"
logoff $SessionID /server:$ComputerName /v 2>&1
}
function Invoke-RDPShadowSession {
Param(
[parameter(Mandatory=$True, Position=0)][String]$ComputerName,
[parameter(Mandatory=$true, Position=1)][String]$SessionID
)
$ErrorActionPreference = "Stop"
mstsc /shadow:$SessionID /v:$ComputerName /control 2>&1
}
Function Get-LoggedOnUser {
Param(
[parameter(Mandatory=$True, Position=0)][String]$ComputerName="localhost"
)
$ErrorActionPreference = "Stop"
Test-Connection $ComputerName -Count 1 | Out-Null
quser /server:$ComputerName 2>&1 | Select-Object -Skip 1 | ForEach-Object {
$CurrentLine = $_.Trim() -Replace "s+"," " -Split "s"
$HashProps = @{
UserName = $CurrentLine[0]
ComputerName = $ComputerName
}
If ($CurrentLine[2] -eq "Disc") {
$HashProps.SessionName = $null
$HashProps.Id = $CurrentLine[1]
$HashProps.State = $CurrentLine[2]
$HashProps.IdleTime = $CurrentLine[3]
$HashProps.LogonTime = $CurrentLine[4..6] -join " "
$HashProps.LogonTime = $CurrentLine[4..($CurrentLine.GetUpperBound(0))] -join " "
}
else {
$HashProps.SessionName = $CurrentLine[1]
$HashProps.Id = $CurrentLine[2]
$HashProps.State = $CurrentLine[3]
$HashProps.IdleTime = $CurrentLine[4]
$HashProps.LogonTime = $CurrentLine[5..($CurrentLine.GetUpperBound(0))] -join " "
}
New-Object -TypeName PSCustomObject -Property $HashProps |
Select-Object -Property UserName, ComputerName, SessionName, Id, State, IdleTime, LogonTime
}
}
$UserLogin = Read-Host -Prompt "╨Т╨▓╨╡╨┤╨╕╤В╨╡ ╨╗╨╛╨│╨╕╨╜ ╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╤В╨╡╨╗╤П"
Write-Host "╨Я╨╛╨╕╤Б╨║ RDP-╤Б╨╡╤Б╤Б╨╕╨╣ ╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╤В╨╡╨╗╤П ╨╜╨░ ╤Б╨╡╤А╨▓╨╡╤А╨░╤Е..."
$SessionList = @()
ForEach ($Server in $Servers) {
$TargetSession = $null
Write-Host " ╨Ю╨┐╤А╨╛╤Б ╤Б╨╡╤А╨▓╨╡╤А╨░ $Server"
Try {
$TargetSession = Get-LoggedOnUser -ComputerName $Server | Where-Object {$_.UserName -eq $UserLogin}
}
Catch {
Write-Host "╨Ю╤И╨╕╨▒╨║╨░: " $Error[0].Exception.Message -ForegroundColor Red
Continue
}
If ($TargetSession) {
Write-Host " ╨Э╨░╨╣╨┤╨╡╨╜╨░ ╤Б╨╡╤Б╤Б╨╕╤П ╤Б ID $($TargetSession.ID) ╨╜╨░ ╤Б╨╡╤А╨▓╨╡╤А╨╡ $Server" -ForegroundColor Yellow
Write-Host " ╨з╤В╨╛ ╨▒╤Г╨┤╨╡╨╝ ╨┤╨╡╨╗╨░╤В╤М?"
Write-Host " 1 - ╨┐╨╛╨┤╨║╨╗╤О╤З╨╕╤В╤М╤Б╤П ╨║ ╤Б╨╡╤Б╤Б╨╕╨╕"
Write-Host " 2 - ╨╖╨░╨▓╨╡╤А╤И╨╕╤В╤М ╤Б╨╡╤Б╤Б╨╕╤О"
Write-Host " 0 - ╨╜╨╕╤З╨╡╨│╨╛"
$Action = Read-Host -Prompt "╨Т╨▓╨╡╨┤╨╕╤В╨╡ ╨┤╨╡╨╣╤Б╤В╨▓╨╕╨╡"
If ($Action -eq "1") {
Invoke-RDPShadowSession -ComputerName $Server -SessionID $TargetSession.ID
}
ElseIf ($Action -eq "2") {
Invoke-RDPSessionLogoff -ComputerName $Server -SessionID $TargetSession.ID
}
Break
}
Else {
Write-Host " ╤Б╨╡╤Б╤Б╨╕╨╣ ╨╜╨╡ ╨╜╨░╨╣╨┤╨╡╨╜╨╛"
}
}
рдкреАрдПрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреАрдПрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рдорд╛рди рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕реАрдПрдордбреА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реЗрд▓ рдмрдирд╛рдПрдВрдЧреЗ:
RDSManagement.cmd
@ECHO OFF
powershell -NoLogo -ExecutionPolicy Bypass -File "%~d0%~p0%~n0.ps1" %*
рд╣рдо рджреЛрдиреЛрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ рдЬреЛ "рдкреНрд░рдмрдВрдзрдХреЛрдВ" рдХреЗ рд▓рд┐рдП рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рд▓реЙрдЧрд┐рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВрдЧреЗред рдЕрдм, рд╕реАрдПрдордбреА рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рдХрд░, рд╡реЗ рдЖрд░рдбреАрдПрд╕ рд╢реИрдбреЛ рдореЛрдб рдореЗрдВ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рддреНрд░реЛрдВ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓реЙрдЧ рдЖрдЙрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рдХрд░реЗрдВрдЧреЗ (рдпрд╣ рддрдм рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ "рд╣реИрдВрдЧрд┐рдВрдЧ" рд╕рддреНрд░ рдХреЛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ)ред
рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
"рдкреНрд░рдмрдВрдзрдХ" рдХреЗ рд▓рд┐рдП
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП
рдХреБрдЫ рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ
рдмрд╛рд░реАрдХрд┐рдпрд╛рдБ 1. рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░ рдЬрд┐рд╕ рдкрд░ рд╣рдо рдирд┐рдпрдВрддреНрд░рдг рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╕рд░реНрд╡рд░ рдкрд░ Set-RDSPermissions.ps1 рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ "рдкреНрд░рдмрдВрдзрдХ" рдХреЛ рдПрдХ рдПрдХреНрд╕реЗрд╕ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреАред рдпрд╣рд╛рдВ рд╕рдорд╛рдзрд╛рди рд╕реНрдкрд╖реНрдЯ рд╣реИ: рдкреНрд░рдмрдВрдзрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓реЙрдЧ рдЗрди рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред
рдмрд╛рд░реАрдХрд┐рдпрд╛рдБ 2. рдЖрд░рдбреАрдкреА рд╢реИрдбреЛ рдХреЗ рд╕рд╛рде рдХрдИ рджрд┐рдиреЛрдВ рддрдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдмрдЧ рдпрд╛ рдлреАрдЪрд░ рджреЗрдЦрд╛: рд╢реИрдбреЛ рд╕рддреНрд░ рдХреА рд╕рдорд╛рдкреНрддрд┐ рдХреЗ рдмрд╛рдж, рдЯреНрд░реЗ рдореЗрдВ рднрд╛рд╖рд╛ рдмрд╛рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред -рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ, рд╣рдо рдЕрдХреЗрд▓реЗ рдирд╣реАрдВ рд╣реИрдВ:
рдмрд╕ рдЗрддрдирд╛ рд╣реАред рдореИрдВ рдЖрдкрдХреЗ рдФрд░ рдЖрдкрдХреЗ рд╕рд░реНрд╡рд░ рдХреЗ рдЕрдЪреНрдЫреЗ рд╕реНрд╡рд╛рд╕реНрдереНрдп рдХреА рдХрд╛рдордирд╛ рдХрд░рддрд╛ рд╣реВрдВред рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдореИрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЖрдкрд╕реЗ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВред
рд╕реВрддреНрд░реЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ
рдЖрд░рдбреАрдПрд╕ рдЫрд╛рдпрд╛ - рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ 2016/2012 рдЖрд░2 рдореЗрдВ рдЖрд░рдбреАрдкреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЫрд╛рдпрд╛ рдХрдиреЗрдХреНрд╢рди рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рд░реНрд╡рд░ 2012 рд╢реИрдбреЛрдЗрдВрдЧ - рдЧреИрд░-рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХреЛрдВ рдХреЛ рдЕрдзрд┐рдХрд╛рд░ рд╕реМрдВрдкрдирд╛ Get-LoggedOnUser рджреВрд░рд╕реНрде рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд▓реЙрдЧ рдСрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ PowerShell PS1 рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдбреЛрдореЗрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд╕реБрд░рдХреНрд╖рд╛ рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЬреАрдкреАрдПрдорд╕реА - рдУрдпреВ рдореЗрдВ рд╕рднреА рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рдЬреАрдкреАрдЕрдкрдбреЗрдЯ рдХреЛ рдмрд╛рдзреНрдп рдХрд░реЗрдВ
рдХреЗрд╡рд▓ рдкрдВрдЬреАрдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реА рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдореЗрдВ рднрд╛рдЧ рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВред
рддреБрдо рдХреНрдпрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреЗ рд╣реЛ?
-
8,1% рддрдХ рдЕрдореНрдореА рдПрдбрдорд┐рди5
-
17,7% рддрдХ AnyDesk11
-
9,7% рддрдХ рдбреЗрдорд╡реЗрдпрд░6
-
24,2% рддрдХ рд░реИрдбрдорд┐рди15
-
14,5% рддрдХ рдЖрд░рдбреАрдПрд╕ рд╢реИрдбреЛ9
-
1,6% рддрдХ рддреНрд╡рд░рд┐рдд рд╕рд╣рд╛рдпрддрд╛/рд╡рд┐рдВрдбреЛрдЬ рд░рд┐рдореЛрдЯ рд╕рд╣рд╛рдпрддрд╛1
-
38,7% рддрдХ рдЯреАрдорд╡реНрдпреВрдЕрд░24
-
32,3% рддрдХ рд╡реАрдПрдирд╕реА20
-
32,3% рддрдХ рдЕрдиреНрдп20
-
3,2% рддрдХ рд▓рд╛рдЗрдЯрдореИрдиреЗрдЬрд░2
62 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдиреЗ рдорддрджрд╛рди рдХрд┐рдпрд╛ред 22 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд░рд╣реЗред
рд╕реНрд░реЛрдд: www.habr.com