WinServer 2012R2 рдореЗрдВ RDP рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЧреИрд░-рдкреНрд░рд╢рд╛рд╕рдХ рдХреЗ рдорд╛рдирд╡ рдЫрд╛рдпрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛

рдЙрджреНрдпрдо рдХреА рд╕рдВрдЧрд░реЛрдз рдЕрд╡рдзрд┐ рдХреЗ рджреМрд░рд╛рди рд╕рдорд╕реНрдпрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрди рдЧрдИ: рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкрд░ рд╕реЗрд╡рд╛ рдФрд░ рдкрд░рд╛рдорд░реНрд╢ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рд▓рдпреЛрдВ рдХреА рдпрд╛рддреНрд░рд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣реЗрдВ рддреЛ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдХреНрд╕рд░ рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреА рдорджрдж рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдореБрджреНрджрд╛ рд╣реА, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, "рд╡реЗ рдЖрдПрдВрдЧреЗ - рд╡реЗ рдорджрдж рдХрд░реЗрдВрдЧреЗ - рд╡реЗ рдРрд╕рд╛ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдореИрдВ рдзреВрдореНрд░рдкрд╛рди/рдХреЙрдлреА рдЖрджрд┐ рдкреАрдКрдВрдЧрд╛ред" рдпрджрд┐ рдЖрдк рд░рд┐рдореЛрдЯ рд╕реНрдХреНрд░реАрди рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ рд╕рд░реНрд╡рд░ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╕рдордп рдЯреЗрд▓реАрдлреЛрди рдкрд░рд╛рдорд░реНрд╢ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рд╣реЛрддрд╛ рд╣реИред

WinServer 2012R2 рдореЗрдВ RDP рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЧреИрд░-рдкреНрд░рд╢рд╛рд╕рдХ рдХреЗ рдорд╛рдирд╡ рдЫрд╛рдпрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛

рд╣рдорд╛рд░реА рд╕рд╛рдЗрдХрд┐рд▓ рдХреЗ "рдЖрд╡рд┐рд╖реНрдХрд╛рд░" рдХреЗ рдмрд╛рдж, рд▓реЗрдЦ рдХреЗ рд╡рд┐рд╖рдп рдкрд░ рд╕рдордЭрджрд╛рд░ рдЬрд╛рдирдХрд╛рд░реА рд╕рд╛рдордиреЗ рдЖрдИ: рдЖрд░рдбреАрдПрд╕ рдЫрд╛рдпрд╛ - рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡рд░ 2012 рдЖрд░2 рдореЗрдВ рдЖрд░рдбреАрдкреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЫрд╛рдпрд╛ рдХрдиреЗрдХреНрд╢рди рдпрд╛ рд╡рд┐рдВрдбреЛрдЬрд╝ рд╕рд░реНрд╡рд░ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд░рд╣рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЫрд╛рдпрд╛ рдореЛрдб рдпрд╛ рдЖрд░рдбреАрдкреА рд╕рддреНрд░реЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рд╕реМрдВрдкрдирд╛. рдЙрди рд╕рднреА рдореЗрдВ рдПрдХ рдХрдВрд╕реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕рдВрд╡рд╛рдж рдХреЗ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рднреАред

рдиреАрдЪреЗ рджреА рдЧрдИ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рд╣рди рдХрд░рддрд╛ рд╣реИ рд╡рд╛рдВрдЫрд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдирд╛рд╡рд╢реНрдпрдХ рддрд░реАрдХреЛрдВ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдирд╛ред
"рдмрд┐рд▓реНрд▓реА рдХреЛ рдкреВрдВрдЫ рд╕реЗ рди рдЦреАрдВрдЪрдиреЗ" рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЖрдЦрд┐рд░реА рд╕реЗ рд╢реБрд░реВ рдХрд░реВрдВрдЧрд╛: рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдФрд╕рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдХ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдПрдбрдореАрд▓рд┐рдВрдХ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓реЗрдЦрдХ рдХреЛ рдзрдиреНрдпрд╡рд╛рджред

I. рдХрдВрд╕реЛрд▓ рдФрд░ рдЫрд╛рдпрд╛ рдЖрд░рдбреАрдкреАред

рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХреЗ рдмрд╛рдж рд╕реЗ рд╕рд░реНрд╡рд░ рдкреНрд░рдмрдВрдзрдХ рдХрдВрд╕реЛрд▓ рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдзрд┐рдХрд╛рд░ -> QuickSessionCollection -> рд░реБрдЪрд┐ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рддреНрд░ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ, рд╕рдВрджрд░реНрдн рдореЗрдиреВ рд╕реЗ рдЫрд╛рдпрд╛ рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдХрд░реНрдорд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рдПрдХ рдФрд░ "рд▓рдХрдбрд╝реА" рд╡рд┐рдзрд┐ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛, рдЕрд░реНрдерд╛рддреН:

1. рд╕рддреНрд░ рдХреА рдЖрд░рдбреАрдкреА рдЖрдИрдбреА рдкрддрд╛ рдХрд░реЗрдВ:

query user | findstr Administrator

рдпрд╛:

qwinsta | findstr Administrator 

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд "| рдлрд╝рд╛рдЗрдВрдбрд╕реНрдЯреНрд░ рдкреНрд░рд╢рд╛рд╕рдХ"рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдерд╛ рдЬрдм рдЖрдк рдЬрд╛рдирддреЗ рдереЗ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдкреНрд░рд╢рд╛рд╕рдХ рдЖрдкрдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЙрдЧ рдЗрди рдХрд┐рдП рдЧрдП рд╕рднреА рд▓реЛрдЧреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдпрд╛ рдЙрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

WinServer 2012R2 рдореЗрдВ RDP рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЧреИрд░-рдкреНрд░рд╢рд╛рд╕рдХ рдХреЗ рдорд╛рдирд╡ рдЫрд╛рдпрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛

2. рдЗрд╕ рд╕рддреНрд░ рд╕реЗ рдЬреБрдбрд╝реЗрдВ, рдмрд╢рд░реНрддреЗ рдХрд┐ рд╡рд╣ рдбреЛрдореЗрди рдореЗрдВ рд╣реЛ рд╕рдореВрд╣ рдиреАрддрд┐рдпрд╛рдВ "рджреВрд░рд╕реНрде рдбреЗрд╕реНрдХрдЯреЙрдк рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд░рд┐рдореЛрдЯ рдХрдВрдЯреНрд░реЛрд▓ рдирд┐рдпрдо рд╕реЗрдЯ рдХрд░реЗрдВ" рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЪрдпрди рдХрдо рд╕реЗ рдХрдо "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдорддрд┐ рдХреЗ рд╕рд╛рде рдореЙрдирд┐рдЯрд░ рд╕рддреНрд░" рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЕрдзрд┐рдХ):

mstsc /shadow:127

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реВрдЪреА рдореЗрдВ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЙрдЧрд┐рди рд╣реЛрдВрдЧреЗред

рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд┐рд▓реЗрдВрдЧреЗ:

WinServer 2012R2 рдореЗрдВ RDP рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЧреИрд░-рдкреНрд░рд╢рд╛рд╕рдХ рдХреЗ рдорд╛рдирд╡ рдЫрд╛рдпрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛

рд▓реЗрдХрд┐рди рдЬрд┐рд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА рдЙрд╕рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рд╡рд╛рд▓реЗ рдПрдХ рдЦрд╛рддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

рджреНрд╡рд┐рддреАрдп. рдХрд╛рд░реНрдпрдХреНрд░рдо

рддреЛ рд╕рдорд╕реНрдпрд╛ рдХрдерди: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЕрдиреБрдорддрд┐ рд╕реЗ рдЙрд╕рдХреА рдЫрд╛рдпрд╛ рдЗрдВрджреНрд░рд┐рдп рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рд░рд▓ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдирд╛, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛ред рдЪреБрдирд╛ рдЧрдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рд▓рд╛рдЬрд░ рд╣реИред

1. рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдкреВрд░реА рдбреЛрдореЗрди рд╕реВрдЪреА "рд▓реЙрдЧрд┐рди" - "рдкреВрд░рд╛ рдирд╛рдо" рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕реЗ, рдпрд╛ рдлрд┐рд░ рдХрдВрд╕реЛрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд┐рд▓рддреА рд╣реИ:

wmic useraccount get Name,FullName 

рдЗрд╕реЗ рднреА рдХреЛрдИ рдордирд╛ рдирд╣реАрдВ рдХрд░рддрд╛:

wmic useraccount get Name,FullName > c:testusername.txt

рдореИрдВ рддреБрд░рдВрдд рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд▓рд╛рдЬрд░ рдерд╛ рдЬрд┐рд╕реЗ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдереА, рдХреНрдпреЛрдВрдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕рдХреА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдпреВрд╕реАрдПрд╕ -2 рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рдпрдорд┐рдд рдпреВрдЯреАрдПрдл -8 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдлрд╝рд╛рдЗрд▓ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЯреИрдм рд╣реИрдВ, рдпрд╛ рдпреЛрдВ рдХрд╣реЗрдВ рдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕реНрдерд╛рди рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛; рджреЗрд░-рд╕рдмреЗрд░ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧреА, рдФрд░ рдлрд╝рд╛рдЗрд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рд╣реЛ рдЬрд╛рдПрдЧреАред

рддреЛ, рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рд╕реБрд▓рдн рд╣реЛ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП c:test, рдЬрд┐рд╕рдореЗрдВ 2 рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реЛрдВрдЧреА: рдкрд╣рд▓реА рд▓реЙрдЧрд┐рди рдФрд░ рдкреВрд░реНрдг рдирд╛рдо рдХреЗ рд╕рд╛рде, рджреВрд╕рд░реА id_rdp рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓реЙрдЧрд┐рди рдХреЗ рд╕рд╛рдеред рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░реНрд╡реЛрддреНрддрдо рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ :)ред

рдЗрд╕ рдмреАрдЪ, рд╕рддреНрд░реЛрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕ (рд▓реЙрдЧрд┐рди рдФрд░ рдкреВрд░реНрдг рдирд╛рдо) рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ:

procedure Tf_rdp.UserF2Array;
var 
  F:TextFile;   i:integer;   f1, line1:String;   fL: TStringList;
begin //f_d ╨│╨╗╨╛╨▒╨░╨╗╤М╨╜╤Л╨╣ ╨┐╤Г╤В╤М ╨║ ╤А╨░╨╖╨╝╨╡╤Й╨╡╨╜╨╕╤О ╤Д╨░╨╣╨╗╨╛╨▓ 
f1:=f_d+'user_name.txt';     //╨╖╨░╨┤╨░╤З╨░ ╤Б╤З╨╕╤В╨░╤В╤М ╨▓ ╨╝╨░╤Б╤Б╨╕╨▓ ╤Б╨╛╨┤╨╡╤А╨╢╨╕╨╝╨╛╨╡ ╤Д╨░╨╣╨╗╨░
fL := TStringList.Create; // ╤Б╤В╤А╨╛╨║╤Г ╨┐╨╛╨┤╨▓╨╡╤А╨│╨╜╨╡╨╝ ╨╝╨╡╤В╨░╨╝╨░╤А╤Д╨╛╨╖╨░╨╝ ╤Б ╤А╨░╨╖╨┤╨╡╨╗╨╕╤В╨╡╨╗╤П╨╝╨╕
fL.Delimiter := '|'; fL.StrictDelimiter := True;
AssignFile(F,f1); 
try // ╨Ю╤В╨║╤А╤Л╤В╤М ╤Д╨░╨╣╨╗ ╨┤╨╗╤П ╤З╤В╨╡╨╜╨╕╤П
  reset(F); ReadLn(F,line1);
  i:=0;
while not eof(F) do // ╨б╤З╨╕╤В╤Л╨▓╨░╨╡╨╝ ╤Б╤В╤А╨╛╨║╨╕, ╨┐╨╛╨║╨░ ╨╜╨╡ ╨╖╨░╨║╨╛╨╜╤З╨╕╤В╤Б╤П ╤Д╨░╨╣╨╗
begin
ReadLn(F,line1);
line1:= StringReplace(line1, '  ', '|',[]); //╨╖╨░╨╝╨╡╨╜╤П╨╡╨╝ ╨┐╨╡╤А╨▓╤Л╨╣ ╨┐╨╛╨┐╨░╨▓╤И.2╨┐╤А╨╛╨▒╨╡╨╗╨░ ╤А╨░╨╖╨┤╨╡╨╗╨╕╤В╨╡╨╗╨╡╨╝ |
// ╤Г╨┤╨░╨╗╤П╨╡╨╝ ╨▓╤Б╨╡ ╨┤╨▓╨╛╨╣╨╜╤Л╨╡ ╨┐╤А╨╛╨▒╨╡╨╗╤Л
while pos('  ',line1)>0 do line1:= StringReplace(line1, '  ', ' ', [rfReplaceAll]);
begin
if (pos('|',line1)>0) then
begin //╨╡╤Б╨╗╨╕ ╤А╨░╨╖╨┤╨╡╨╗╨╕╤В╨╡╨╗╤М ╤Б╤Г╤Й╨╡╤Б╤В╨▓╤Г╨╡╤В ╨╖╨░╨╜╨╛╤Б╨╕╨╝ ╨╡╨│╨╛ ╨▓ ╨╝╨░╤Б╤Б╨╕╨▓
fL.DelimitedText :=line1; // ╤А╨░╨╖╨▒╨╕╨▓╨░╨╡╨╝ ╨╜╨░ ╤Б╤В╨╛╨╗╨▒╤Ж╤Л
if (fL[0]<>'') then //╨╡╤Б╨╗╨╕ ╤Г╤З╨╡╤В╨║╨░ ╨╕╨╝╨╡╨╡╤В ╨╕╨╝╤П
begin //╨▓╨╜╨╛╤Б╨╕╨╝ ╨╡╨╡ ╨▓ ╨╝╨░╤Б╤Б╨╕╨▓
 inc(i); // ╨╕╨╖╨▒╨░╨▓╨╗╤П╨╡╨╝╤Б╤П ╨╛╤В ╨▓╨╛╨╖╨╝╨╛╨╢╨╜╤Л╤Е ╨╛╨┤╨╕╨╜╨╛╤З╨╜╤Л╤Е ╨┐╤А╨╛╨▒╨╡╨╗╨╛╨▓ ╨▓ ╨╗╨╛╨│╨╕╨╜╨╡
 fam[0,i]:=StringReplace(fL[1],' ','',[rfReplaceall, rfIgnoreCase]);
 fam[1,i]:=fL[0];
 end;end;end;end; // ╨У╨╛╤В╨╛╨▓╨╛. ╨Ч╨░╨║╤А╤Л╨▓╨░╨╡╨╝ ╤Д╨░╨╣╨╗.
 CloseFile(F);
 Fl.Free;
 except
 on E: EInOutError do  ShowMessage('╨Ю╤И╨╕╨▒╨║╨░ ╨╛╨▒╤А╨░╨▒╨╛╤В╨║╨╕ ╤Д╨░╨╣╨╗╨░. ╨Ф╨╡╤В╨░╨╗╨╕: '+E.Message);
 end;end;

рдореИрдВ "рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреЛрдб" рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрд┐рдВрджреБ рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╣реЛрдВрдЧреЗред

2. рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╕реЗ рдЙрд╕реА рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рд╕реВрдЪреА рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧрдЧреНрд░рд┐рдб рддрддреНрд╡ рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкрдврд╝рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ рдореИрдВ рдХреЛрдб рдХрд╛ рдПрдХ "рдорд╣рддреНрд╡рдкреВрд░реНрдг" рдЯреБрдХрдбрд╝рд╛ рджреВрдВрдЧрд╛:

2.1 рд╣рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрд░рдбреАрдкреА рд╕рддреНрд░реЛрдВ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИ:

f1:=f_d+'user.txt';
cmdline:='/c query user >'+ f1;
if ShellExecute(0,nil, PChar('cmd'),PChar(cmdline),nil,1)=0 then;
Sleep(500); // ╨╝╨╛╨╢╨╜╨╛ ╨╕ ╨┐╨╛╨┤╨╛╨╗╤М╤И╨╡ ╨╢╨┤╨░╤В╤М ╨┐╨╛╨║╨░ ╤Д╨░╨╣╨╗ ╨┤╨╗╤П ╤З╤В╨╡╨╜╨╕╤П ╤Б╨╛╨╖╨┤╨░╨╡╤В╤Б╤П

2.2 рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдВ (рдХреЛрдб рдХреА рдХреЗрд╡рд▓ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдЗрдВрдЧрд┐рдд рдХреА рдЧрдИ рд╣реИрдВ):

StringGrid1.Cells[0,i]:=fL[1]; StringGrid1.Cells[2,i]:=fL[3]; //╨║╨╕╨┤╨░╨╡╨╝ ╨▓ ╤Ж╨╕╨║╨╗╨╡ ╨▓ StringGrid1
login1:=StringReplace(fL[1],' ','',[rfReplaceall, rfIgnoreCase]); //╤Г╨▒╨╕╤А╨░╨╡╨╝ ╨╕╨╖ ╨╗╨╛╨│╨╕╨╜╨░ ╨┐╤А╨╛╨▒╨╡╨╗╤Л
if (SearchArr(login1)>=0) then //╨╕╤Й╨╡╨╝ ╨▓ ╨╝╨░╤Б╤Б╨╕╨▓╨╡ ╨╕╨╖ ╨┐1. ╨╗╨╛╨│╨╕╨╜ ╨╕ ╨╖╨░╨┐╨╕╤Б╤Л╨▓╨░╨╡╨╝ ╨▓ ╤В╨░╨▒╨╗╨╕╤Ж╤Г ╨д╨Ш╨Ю
StringGrid1.Cells[1,i]:=fam[1,SearchArr(login1)]
else StringGrid1.Cells[1,i]:='+'; // ╨╗╨╕╨▒╨╛ ╨╖╨░╨┐╨╕╤Б╤Л╨▓╨░╨╡╨╝ ╨┐╨╗╤О╤Б╨╕╨║:)
.... //╨▓ ╨╖╨░╨▓╨╕╤Б╨╕╨╝╨╛╤Б╤В╨╕ ╨╛╤В ╨▓╤Л╨▒╨╛╤А╨░ ╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╤В╨╡╨╗╤П ╤Б╨╛╤А╤В╨╕╤А╤Г╨╡╨╝ ╨╕ ╤Д╨╛╤А╨╝╨░╤В╨╕╤А╤Г╨╡╨╝ ╨┐╨╛ ╨┤╨░╨╜╨╜╤Л╨╝
if (b_id.Checked=true) then SortGrid(0) else SortGrid(1);
StringGrid1.AutoSizeColumn(0);StringGrid1.AutoSizeColumn(1); StringGrid1.AutoSizeColumn(2);  

3. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдФрд░ рдЙрд╕рдХреЗ рд╕рддреНрд░ рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рд▓реА рд▓рд╛рдЗрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╕реАрдзрд╛ рдХрдиреЗрдХреНрд╢рди:

  id:=(StringGrid1.Row);// ╤Г╨╖╨╜╨░╨╡╨╝ ╨╜╨╛╨╝╨╡╤А ╤Б╤В╤А╨╛╨║╨╕  IntToStr(StringGrid1.Row)
  ids:=StringGrid1.Cells[2,id]; //╨┐╨╛╨╗╤Г╤З╨░╨╡╨╝ ╨╕╨┤╨╡╨╜╤В╨╕╤Д╨╕╨║╨░╤В╨╛╤А rdp
  cmdline:='/c mstsc /shadow:'+ ids; //╨╕ ╨┐╨╛╨┤╨║╨╗╤О╤З╨░╨╡╨╝╤Б╤П....
 if (b_rdp.Checked=True) then  if ShellExecute(0,nil, PChar('cmd'),PChar(cmdline),nil,1) =0 then;       

4. рдХреБрдЫ рдФрд░ рд╕рдЬрд╛рд╡рдЯреЗрдВ рдХреА рдЧрдИ рд╣реИрдВ, рдЬреИрд╕реЗ рд░реЗрдбрд┐рдпреЛрдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рд╕реЙрд░реНрдЯ рдХрд░рдирд╛, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ред

WinServer 2012R2 рдореЗрдВ RDP рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рддреНрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЧреИрд░-рдкреНрд░рд╢рд╛рд╕рдХ рдХреЗ рдорд╛рдирд╡ рдЫрд╛рдпрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛

тЖТ рдкреВрд░реНрдг рд╕реНрд░реЛрдд рдХреЛрдб рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╣рд╛рдВ

рддреГрддреАрдп. AdminLink рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ - рдореИрдВрдиреЗ рдХреНрдпрд╛ рджреЗрдЦрд╛:

рдПрдбрдорд┐рдирд▓рд┐рдВрдХ рдПрдХ рд╢реЙрд░реНрдЯрдХрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд╕реНрдерд╛рди рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ admilaunch.exe, рдФрд░ рд▓реЙрдиреНрдЪ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреА рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рддрд┐ AdmiRun.Exe рдЬреЛ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ рд╡рд╛рд╕реНрдпрд╛, рдкреНрд░рдХрд╛рд░ рд╕реА:рдпреВрдЬрд░реНрд╕рд╡рд╛рд╕реНрдпрд╛рд╡рд┐рдВрдбреЛрдЬ. рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ: рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╡рд┐рд╡реЗрдХ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реЙрд░реНрдЯрдХрдЯ рдлрд╝рд╛рдЗрд▓ рдФрд░ рдЕрдиреНрдп рдХреЗ рдПрдХреНрд╕реЗрд╕ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ