ΠΡΠΎΠ±Π»Π΅ΠΌΠ°ΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ΡΠΎ ΡΡΠ°Π½Π° ΡΠ»Π΅Π΄Π½Π°ΡΠ°: Π½Π°ΠΈΡΡΠΈΠ½Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ° Π±ΡΠΎΡΡ Π½Π° ΠΏΠΎΡΠ΅ΡΠ΅Π½ΠΈΡΡΠ° Π½Π° ΠΊΠ°Π±ΠΈΠ½Π΅ΡΠΈΡΠ΅ ΠΎΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°Ρ ΠΈ ΠΊΠΎΠ½ΡΡΠ»ΡΠΈΡΠ°Ρ ΠΏΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ ΡΠΎΡΡΡΠ΅Ρ, ΠΈ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ ΠΎΡΠΊΡΠΎΠ²Π΅Π½ΠΎ, ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΡΠ΅ΡΡΠΎ Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±ΡΠ²Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈΡΠ΅, Π½Π΅ ΠΆΠ΅Π»Π΅Π΅ΠΉΠΊΠΈ Π΄Π° Π½Π°Π²Π»ΡΠ·Π°Ρ Π² ΡΠ°ΠΌΠΈΡ Π²ΡΠΏΡΠΎΡ, ΠΊΠ°Π·Π²Π°ΠΉΠΊΠΈ "ΡΠ΅ Π΄ΠΎΠΉΠ΄Π°Ρ β ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ β ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΡΡ, Π° Π°Π· Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΡΡΠ°/ΠΏΠΈΡ ΠΊΠ°ΡΠ΅ ΠΈ Ρ.Π½.". ΠΠΎΠ½ΡΡΠ»ΡΠ°ΡΠΈΡΡΠ° ΠΏΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΏΡΠΈ ΡΡΠ²ΠΌΠ΅ΡΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΡΡΠ²ΡΡΠ° Π΅ ΠΏΠΎ-Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π°, ΠΊΠΎΠ³Π°ΡΠΎ Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈΡ Π΅ΠΊΡΠ°Π½.

ΠΠ΅Π΄Π½Π°Π³Π° ΡΠ»Π΅Π΄ "ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ" Π½Π° Π½Π°ΡΠΈΡ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ ΡΠ°Π·ΡΠΌΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΠ΅ΠΌΠ°ΡΠ° Π½Π° ΡΡΠ°ΡΠΈΡΡΠ°: ΠΈΠ»ΠΈ ΠΈΠ»ΠΈ . ΠΡΠΈΡΠΊΠΈ ΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠΆΠ΄Π°Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ°, Π΄ΠΎΡΠΈ Ρ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° ΠΏΡΠΎΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³.
ΠΡΠΈΡΠΊΠ°ΡΠ° ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π° ΠΏΠΎ-Π΄ΠΎΠ»Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π·Π° ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½ΠΎΡΠΌΠ°Π»Π½ΠΎ ΠΏΠΎΠ½Π°ΡΡΡ Π½Π΅Π½ΠΎΡΠΌΠ°Π»Π½ΠΈ ΠΈΠ·Π²ΡΠ°ΡΠ΅Π½ΠΎΡΡΠΈ Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΆΠ΅Π»Π°Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ, ΠΈΠ·ΠΌΠΈΡΠ»ΡΠΉΠΊΠΈ Π½Π΅Π½ΡΠΆΠ½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ.
ΠΠ° Π΄Π° Π½Π΅ "Π²Π»Π°ΡΠ° ΠΊΠΎΡΠΊΠ°ΡΠ° Π·Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ°", ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π° ΠΎΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ: Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ΡΡ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠΈ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° , Π·Π° ΠΊΠΎΠ΅ΡΠΎ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ Π½Π° Π°Π²ΡΠΎΡΠ° ΠΉ.
I. ΠΠΎΠ½Π·ΠΎΠ»Π° ΠΈ shadow RDP.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΠΊΠΈΡΠ΅ ΠΏΡΠ°Π²Π° Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° Server Manager -> QuickSessionCollection -> ΡΡΠ°ΠΊΠ²Π°ΠΉΠΊΠΈ Π²ΡΡΡ Ρ ΡΠ΅ΡΠΈΡΡΠ° Π½Π° ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΈ ΠΈΠ·Π±ΠΈΡΠ°ΠΉΠΊΠΈ ΠΎΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΡΠΎ ΠΌΠ΅Π½Ρ Shadow (Π’Π΅Π½Π΅Π²Π°ΡΠ° ΠΊΠΎΠΏΠΈΡ) Π·Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»Π°, ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΡΡΠ°Π²Π° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ ΠΠ, β Π½Π΅ Π΅ Π²Π°ΡΠΈΠ°Π½Ρ, Π±Π΅ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°Π½ Π΄ΡΡΠ³ "Π΄ΡΡΠ²Π΅Π½" ΠΌΠ΅ΡΠΎΠ΄, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:
1. Π Π°Π·ΡΡΠ°Π²Π°ΠΌΠ΅ RDP id Π½Π° ΡΠ΅ΡΠΈΡΡΠ°:
query user | findstr AdministratorΠΈΠ»ΠΈ:
qwinsta | findstr Administrator ΠΠ°ΡΠΎ "| findstr Administrator" Π±Π΅ΡΠ΅ ΡΠ΄ΠΎΠ±Π½ΠΎ ΡΠ°ΠΌΠΎ ΠΊΠΎΠ³Π°ΡΠΎ Π·Π½Π°Π΅Ρ, ΡΠ΅ ΡΠΎΡΠ½ΠΎ Administrator ΡΠΈ Π΅ Π½ΡΠΆΠ΅Π½, ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°ΠΌΠΎ ΠΏΡΡΠ²Π°ΡΠ° ΡΠ°ΡΡ, Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡ Π²ΡΠΈΡΠΊΠΈ Π»ΠΎΠ³Π½Π°ΡΠΈ Π½Π° ΡΡΡΠ²Π΅ΡΠ°.
![]()
2. Π‘Π²ΡΡΠ·Π²Π°ΠΌΠ΅ ΡΠ΅ Ρ ΡΠ°Π·ΠΈ ΡΠ΅ΡΠΈΡ, ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΡΠ΅ Π² Π΄ΠΎΠΌΠ΅Π½Π½ΠΈΡΠ΅ Π³ΡΡΠΏΠΎΠ²ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ "Π£ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π° ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡΠ΅ ΡΠ΅ΡΠΈΠΈ Π½Π° ΡΡΠ»ΡΠ³ΠΈΡΠ΅ Π·Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΠ»ΠΎΡΠΎΠ²Π΅" Π΅ ΠΈΠ·Π±ΡΠ°Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎΠ½Π΅ "ΠΠ°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ΅ΡΠΈΡΡΠ° Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ" ():
mstsc /shadow:127ΠΠΎΠ»Ρ, ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΠ΅ Π² ΡΠΏΠΈΡΡΠΊΠ° ΡΠ΅ ΠΈΠΌΠ° ΡΠ°ΠΌΠΎ Π²Ρ ΠΎΠ΄ΡΡΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ.
ΠΠΎΠ²ΡΠ°ΡΡΠΌ, ΡΠ΅ Π±Π΅Π· Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΠΊΠΈ ΠΏΡΠ°Π²Π° ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ:

ΠΠΎ Π·Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½Π° ΠΎΡΠ»Π°Π΄ΠΊΠ° Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°, Π·Π° ΠΊΠΎΡΡΠΎ ΡΠ΅ ΡΡΠ°Π²Π° Π΄ΡΠΌΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ
Π°ΠΊΠ°ΡΠ½Ρ Ρ ΠΏΡΠ°Π²Π° Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ.
II. ΠΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°
Π ΡΠ°ΠΊΠ°, Π·Π°Π΄Π°ΡΠ°ΡΠ° Π΅: ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΡ Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΡΠ²ΡΡΠ·Π²Π°Π½Π΅ Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ ΡΠ΅Π½Ρ Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎ Π½Π΅Π³ΠΎ. ΠΠ·Π±ΡΠ°Π½Π° Π΅ ΡΡΠ΅Π΄Π° Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΠ°Π½Π΅ Lazarus.
1. ΠΠΎΠ»ΡΡΠ°Π²Π°ΠΌΠ΅ ΠΏΡΠ»Π΅Π½ Π΄ΠΎΠΌΠ΅ΠΉΠ½ ΡΠΏΠΈΡΡΠΊ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ "Π»ΠΎΠ³ΠΈΠ½" β "ΠΏΡΠ»Π½ΠΎ ΠΈΠΌΠ΅" ΠΎΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°, ΠΈΠ»ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΏΡΠ΅Π· ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ°:
wmic useraccount get Name,FullName Π½ΠΈΠΊΠΎΠΉ Π½Π΅ Π·Π°Π±ΡΠ°Π½ΡΠ²Π° Π΄ΠΎΡΠΈ ΡΠ°ΠΊΠ°:
wmic useraccount get Name,FullName > c:testusername.txtΠ©Π΅ ΠΊΠ°ΠΆΠ° Π²Π΅Π΄Π½Π°Π³Π°, ΡΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Lazarus ΡΠ΅ ΠΎΠΊΠ°Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠΎΠ·ΠΈ ΡΠ°ΠΉΠ», ΡΡΠΉ ΠΊΠ°ΡΠΎ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°ΡΠ° ΠΌΡ Π΅ UCS-2, Π·Π°ΡΠΎΠ²Π° ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° Π³ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°ΠΌ ΡΡΡΠ½ΠΎ Π² ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ UTF-8. Π ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° ΡΠ°ΠΉΠ»Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΡΠ»Π°ΡΠΈΠΈ, ΠΏΠΎ-ΡΠΊΠΎΡΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ΡΠΈΡ ΠΌΠ΅ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΈΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΎ, ΡΠ°Π½ΠΎ ΠΈΠ»ΠΈ ΠΊΡΡΠ½ΠΎ Π·Π°Π΄Π°ΡΠ°ΡΠ° Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠ°ΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΡΠ΅ΡΠ΅Π½Π° ΠΈ ΡΠ°ΠΉΠ»ΡΡ ΡΠ΅ ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΎ.
Π ΡΠ°ΠΊΠ°, Π² Π·Π°ΠΌΠΈΡΡΠ»Π° ΠΏΠ°ΠΏΠΊΠ°, Π΄ΠΎΡΡΡΠΏΠ½Π° Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ c:test, Π² ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠΌΠ° 2 ΡΠ°ΠΉΠ»Π°: ΠΏΡΡΠ²ΠΈΡΡ Ρ login ΠΈ fullname, Π²ΡΠΎΡΠΈΡΡ Ρ id_rdp ΠΈ login Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΠΌΠ΅ ΡΠ΅Π·ΠΈ Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌ:).
Π Π·Π°ΡΠ΅Π³Π°, Π·Π° Π°ΡΠΎΡΠΈΠΈΡΠ°Π½Π΅ ΡΡΡ ΡΠΏΠΈΡΡΠΊΠ° ΡΡΡ ΡΠ΅ΡΠΈΠΈ, ΠΏΡΠ΅Ρ Π²ΡΡΠ»ΡΠΌΠ΅ ΡΠΎΠ²Π° (login ΠΈ fullname) ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π² ΠΌΠ°ΡΠΈΠ²:
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;ΠΠ·Π²ΠΈΠ½ΡΠ²Π°ΠΌ ΡΠ΅ Π·Π° "ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄", ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΠ΅ ΡΠΎΡΠΊΠΈ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΠΎ-ΠΊΠΎΠ½cis.
2. ΠΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΠΏΡΠ½ΠΊΡΠ°, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΏΠΈΡΠΊΠ° Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ StringGrid, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ "Π·Π½Π°ΡΠΈΠΌΡΠΉ" ΠΊΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°:
2.1 ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π°ΠΊΡΡΠ°Π»Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ RDP ΡΠ΅ΡΡΠΈΠΉ Π² ΡΠ°ΠΉΠ»:
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 \/\/ ΠΈΡΠ΅ΠΌ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ p1. Π»ΠΎΠ³ΠΈΠ½ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ Π² ΡΠ°Π±Π»ΠΈΡΡ Π€ΠΠ
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. Π‘Π΄Π΅Π»Π°Π½ΠΎ Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡ Π½Π° radiobutton ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ.

β ΠΠΎΠ»Π½ΡΠΉ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ
III. ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ AdminLink β ΡΡΠΎ Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»:
AdminLink Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΠ»ΡΠΊ, ΡΡΡΠ»Π°ΡΡΠΈΠΉΡΡ Π½Π° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΈΠ»ΠΈΡΡ admilaunch.exe, ΠΈ Π»ΠΈΡΠ½ΡΡ ΠΊΠΎΠΏΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ Π·Π°ΠΏΡΡΠΊΠ° AdmiRun.Exe ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ vasya, ΠΏΠΎ ΠΏΡΡΠΈ C:UsersvasyaWINDOWS. Π ΠΎΠ±ΡΠ΅ΠΌ, Π½Π΅ Π²ΡΠ΅ ΡΠ°ΠΊ ΠΏΠ»ΠΎΡ
ΠΎ: Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Ρ ΡΡΠ»ΡΠΊΠ° ΠΈ Π΄ΡΡΠ³ΠΈΠΌ, Π΄Π»Ρ ΠΎΡΠΈΡΠ΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π°Π΄ΠΌΠΈΠ½ΡΠΊΠΎΠΉ ΡΠΎΠ²Π΅ΡΡΠΈ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΈΠ³ΡΠ°ΡΡΡΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
