ΠΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π·Π° Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΊΠ°ΡΠ°Π½ΡΠΈΠ½ΡΠΊΠΈΠΎΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ Π½Π° ΠΏΡΠ΅ΡΠΏΡΠΈΡΠ°ΡΠΈΠ΅ΡΠΎ ΡΡΠ°Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΠΎΠ²: Π½Π°Π²ΠΈΡΡΠΈΠ½Π° Π΅ Π½Π΅ΠΎΠΏΡ ΠΎΠ΄Π½ΠΎ Π΄Π° ΡΠ΅ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ° Π±ΡΠΎΡΠΎΡ Π½Π° ΠΏΠΎΡΠ΅ΡΠΈ Π½Π° ΠΊΠ°Π½ΡΠ΅Π»Π°ΡΠΈΠΈ ΠΎΠ΄ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΡΡΠΈ ΠΊΠΎΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΈΡΠ°Π°Ρ ΠΈ ΡΠ΅ ΠΊΠΎΠ½ΡΡΠ»ΡΠΈΡΠ°Π°Ρ Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π΅Π½ ΡΠΎΡΡΠ²Π΅Ρ, Π° ΠΈΡΠΊΡΠ΅Π½ΠΎ ΠΊΠ°ΠΆΠ°Π½ΠΎ, ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈΡΠ΅ ΡΠ΅ΡΡΠΎ ΡΠ° Π·Π»ΠΎΡΠΏΠΎΡΡΠ΅Π±ΡΠ²Π°Π°Ρ ΠΏΠΎΠΌΠΎΡΡΠ° ΠΎΠ΄ ΡΠΏΠ΅ΡΠΈΡΠ°Π»ΠΈΡΡΠΈ Π±Π΅Π· Π΄Π° ΡΠ°ΠΊΠ°Π°Ρ Π΄Π° Π½Π°Π²Π»Π΅Π·Π°Ρ Π²ΠΎ ΡΠ°ΠΌΠΎΡΠΎ ΠΏΡΠ°ΡΠ°ΡΠ΅, Π²Π΅Π»Π°Ρ βΡΠ΅ Π΄ΠΎΡΠ΄Π°Ρ - ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ - ΡΠ΅ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²Π°Ρ ΡΠΎΠ°, Π½ΠΎ ΡΠ°Ρ ΡΠ΅ ΠΏΡΡΠ°ΠΌ/ΠΏΠΈΡΠ°ΠΌ ΠΊΠ°ΡΠ΅ ΠΈΡΠ½.β Π’Π΅Π»Π΅ΡΠΎΠ½ΡΠΊΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΠ»ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΡΠΏΠΎΠ΄Π΅Π»ΡΠ²Π°ΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ΅ ΠΏΠΎΠ΅ΡΠΈΠΊΠ°ΡΠ½ΠΈ Π°ΠΊΠΎ Π³ΠΎ Π³Π»Π΅Π΄Π°ΡΠ΅ Π΄Π°Π»Π΅ΡΠΈΠ½ΡΠΊΠΈΠΎΡ Π΅ΠΊΡΠ°Π½.
ΠΠΎ βΠΏΡΠΎΠ½Π°ΡΠ΄ΠΎΠΊΠΎΡβ Π½Π° Π½Π°ΡΠΈΠΎΡ Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄, ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈΡΠ° ΡΠ°Π·ΡΠΌΠ½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π° ΡΠ΅ΠΌΠ°ΡΠ° Π½Π° ΡΡΠ°ΡΠΈΡΠ°ΡΠ°:
Π‘ΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎΠ΄ΠΎΠ»Ρ ΡΠ΅ Π½Π°ΠΌΠ΅Π½Π΅ΡΠΈ Π·Π° ΠΎΠ½ΠΈΠ΅ ΠΊΠΎΠΈ Π½ΠΎΡΠΌΠ°Π»Π½ΠΎ ΡΠΎΠ»Π΅ΡΠΈΡΠ° Π°Π±Π½ΠΎΡΠΌΠ°Π»Π½ΠΈ ΠΏΠ΅ΡΠ²Π΅ΡΠ·ΠΈΠΈ Π΄Π° Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ΅ ΠΏΠΎΡΠ°ΠΊΡΠ²Π°Π½ΠΈΠΎΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ, ΠΈΠ·ΠΌΠΈΡΠ»ΡΠ²Π°ΡΡΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π±Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈ.
ΠΠ° Π΄Π° Π½Π΅ ΡΠ° βΠ²Π»Π΅ΡΠ΅ΠΌ ΠΌΠ°ΡΠΊΠ°ΡΠ° Π·Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ°β, ΡΠ΅ Π·Π°ΠΏΠΎΡΠ½Π°ΠΌ ΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΎΡΠΎ: Π²Π΅Π»ΠΎΡΠΈΠΏΠ΅Π΄ΠΎΡ ΡΠ°Π±ΠΎΡΠΈ Π·Π° ΠΏΡΠΎΡΠ΅ΡΠ½ΠΈΠΎΡ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ ΡΡΠΎ ΡΠ° ΠΊΠΎΡΠΈΡΡΠΈ Π°Π»Π°ΡΠΊΠ°ΡΠ°
I. ΠΠΎΠ½Π·ΠΎΠ»Π° ΠΈ RDP Π²ΠΎ ΡΠ΅Π½ΠΊΠ°.
ΠΠ΄ ΡΠΏΠΎΡΡΠ΅Π±Π° ΡΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΠΊΠΈ ΠΏΡΠ°Π²Π° Π½Π° ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ° Π½Π° Server Manager -> QuickSessionCollection -> ΡΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡΠ²Π°ΡΠ΅ Π½Π° ΡΠ΅ΡΠΈΡΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΎΠ΄ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ, ΠΈΠ·Π±ΠΈΡΠ°ΡΡΠΈ Shadow ΠΎΠ΄ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΡΠΎ ΠΌΠ΅Π½ΠΈ Π·Π° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΎΡ ΠΊΠΎΡ Π΄Π°Π²Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠΎΡΡΠ²Π΅ΡΠΎΡ, Π½Π΅ Π΅ ΠΎΠΏΡΠΈΡΠ°, ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄ΡΠ²Π°ΡΠ΅ Π΄ΡΡΠ³ βΠ΄ΡΠ²Π΅Π½β ΠΌΠ΅ΡΠΎΠ΄, ΠΈΠΌΠ΅Π½ΠΎ:
1. ΠΠΎΠ·Π½Π°ΡΡΠ΅ Π³ΠΎ RDP ID Π½Π° ΡΠ΅ΡΠΈΡΠ°ΡΠ°:
query user | findstr Administrator
ΠΈΠ»ΠΈ:
qwinsta | findstr Administrator
ΠΠ³ΠΎΡΠ° Π½Π° ΡΠΎΠ° "| findstr ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡβΠΠ΅ΡΠ΅ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎ ΡΠ°ΠΌΠΎ ΠΊΠΎΠ³Π° Π·Π½Π°Π΅ΡΠ΅ ΡΡΠΎ ΡΠΎΡΠ½ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π²ΠΈ ΡΡΠ΅Π±Π° ΠΈΠ»ΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π³ΠΎ ΡΠ°ΠΌΠΎ ΠΏΡΠ²ΠΈΠΎΡ Π΄Π΅Π» Π·Π° Π΄Π° Π³ΠΈ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΈΡΠ΅ Π½Π°ΡΠ°Π²Π΅Π½ΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠΎΡ.
2. ΠΠΎΠ²ΡΠ·Π΅ΡΠ΅ ΡΠ΅ ΡΠΎ ΠΎΠ²Π°Π° ΡΠ΅ΡΠΈΡΠ°, ΠΏΠΎΠ΄ ΡΡΠ»ΠΎΠ² Π²ΠΎ Π΄ΠΎΠΌΠ΅Π½ΠΎΡ Π³ΡΡΠΏΠ½ΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΠΏΡΠΈΡΠ°ΡΠ° βΠΠΎΡΡΠ°Π²ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° Π΄Π°Π»Π΅ΡΠΈΠ½ΡΠΊΠΎ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ Π½Π° ΡΡΠ»ΡΠ³ΠΈ Π·Π° Π΄Π°Π»Π΅ΡΠΈΠ½ΡΠΊΠ° ΡΠ°Π±ΠΎΡΠ½Π° ΠΏΠΎΠ²ΡΡΠΈΠ½Π°β Π΅ ΠΈΠ·Π±ΡΠ°Π½Π° ΡΠΎ Π½Π°ΡΠΌΠ°Π»ΠΊΡ ΠΈΠ·Π±ΡΠ°Π½Π° ΠΎΠΏΡΠΈΡΠ° βΠ‘Π΅ΡΠΈΡΠ° Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡ ΡΠΎ Π΄ΠΎΠ·Π²ΠΎΠ»Π° ΠΎΠ΄ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡβ (
mstsc /shadow:127
ΠΠΌΠ°ΡΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° ΡΠΏΠΈΡΠΎΠΊΠΎΡ ΡΠ΅ ΡΠΎΠ΄ΡΠΆΠΈ ΡΠ°ΠΌΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ Π½Π°ΡΠ°Π²ΡΠ²Π°ΡΠ°.
ΠΠΎΠ²ΡΠΎΡΡΠ²Π°ΠΌ Π΄Π΅ΠΊΠ° Π±Π΅Π· Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΠΊΠΈ ΠΏΡΠ°Π²Π° ΡΠ΅ Π³ΠΎ Π΄ΠΎΠ±ΠΈΠ΅ΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΎΠ²ΠΎ:
ΠΠΎ, Π·Π° ΠΏΡΠ΅Π»ΠΈΠΌΠΈΠ½Π°ΡΠ½ΠΎ Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°ΡΠ° Π·Π° ΠΊΠΎΡΠ° ΡΠ΅ ΡΠ΅ Π΄ΠΈΡΠΊΡΡΠΈΡΠ°, ΠΊΠΎΡΠΈΡΡΠ΅Π² ΡΠΌΠ΅ΡΠΊΠ° ΡΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡΠΊΠΈ ΠΏΡΠ°Π²Π°.
II. ΠΡΠΎΠ³ΡΠ°ΠΌΠ°
ΠΠ½Π°ΡΠΈ, ΠΈΠ·ΡΠ°Π²Π°ΡΠ° Π·Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΡ: ΡΠΎΠ·Π΄Π°Π²Π°ΡΠ΅ Π΅Π΄Π½ΠΎΡΡΠ°Π²Π΅Π½ Π³ΡΠ°ΡΠΈΡΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ Π·Π° ΠΏΠΎΠ²ΡΠ·ΡΠ²Π°ΡΠ΅ ΡΠΎ ΡΠ΅ΡΠΈΠ»ΠΎΡΠΎ Π·Π° ΡΠ΅Π½ΠΊΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΡΠΎ Π½Π΅Π³ΠΎΠ²Π° Π΄ΠΎΠ·Π²ΠΎΠ»Π°, ΠΈΡΠΏΡΠ°ΡΠ°ΡΠ΅ ΠΏΠΎΡΠ°ΠΊΠ° Π΄ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ. ΠΠ·Π±ΡΠ°Π½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΡΠΊΠ° ΡΡΠ΅Π΄ΠΈΠ½Π° Π΅ ΠΠ°Π·Π°ΡΡΡ.
1. ΠΠΎ Π΄ΠΎΠ±ΠΈΠ²Π°ΠΌΠ΅ ΡΠ΅Π»ΠΎΡΠ½ΠΈΠΎΡ Π΄ΠΎΠΌΠ΅Π½ ΡΠΏΠΈΡΠΎΠΊ Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ βΠ½Π°ΡΠ°Π²Π°β - βΠΏΠΎΠ»Π½ΠΎ ΠΈΠΌΠ΅β ΠΎΠ΄ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠ΅ΠΊΡ ΠΊΠΎΠ½Π·ΠΎΠ»Π°ΡΠ°:
wmic useraccount get Name,FullName
ΠΠΈΠΊΠΎΡ Π½Π΅ Π³ΠΎ Π·Π°Π±ΡΠ°Π½ΡΠ²Π° Π½ΠΈ ΠΎΠ²Π°:
wmic useraccount get Name,FullName > c:testusername.txt
ΠΠ΅Π΄Π½Π°Ρ ΡΠ΅ ΠΊΠ°ΠΆΠ°ΠΌ Π΄Π΅ΠΊΠ° ΠΠ°Π·Π°Ρ ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΎΠ²Π°Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°, Π±ΠΈΠ΄Π΅ΡΡΠΈ ΠΏΠΎ Π΄ΠΈΡΠΎΠ»Ρ Π½Π΅Π³ΠΎΠ²ΠΎΡΠΎ ΠΊΠΎΠ΄ΠΈΡΠ°ΡΠ΅ Π΅ UCS-2, ΠΏΠ° ΠΌΠΎΡΠ°Π² ΡΠ°ΠΌΠΎ ΡΠ°ΡΠ½ΠΎ Π΄Π° Π³ΠΎ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠ°ΠΌ Π²ΠΎ ΠΎΠ±ΠΈΡΠ΅Π½ UTF-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. ΠΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΈΡΡΠΈΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ΄ ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΈΠΎΡ ΠΏΠ°ΡΡΡ, Π³ΠΎ ΡΠΈΡΠ°ΠΌΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΎΡ ΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π»ΠΈΡΡΠ°ΡΠ° Π²ΠΎ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΎΡ 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 //ΠΈΡΠ΅ΠΌ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ ΠΈΠ· ΠΏ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. ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ΅ ΡΡΡΠ΅ ΠΏΠ°Ρ ΡΠΊΡΠ°ΡΠΈ, ΠΊΠ°ΠΊΠΎ ΡΠΎΡΡΠΈΡΠ°ΡΠ΅ ΡΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠΏΡΠ΅ΡΠΎ Π·Π° ΡΠ°Π΄ΠΈΠΎ ΠΈ ΠΏΠΎΡΠ°ΠΊΠΈ Π΄ΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ ΠΈΠ»ΠΈ ΡΠΈΡΠ΅ ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ.
β Π¦Π΅Π»ΠΎΡΠ½ΠΈΠΎΡ ΠΈΠ·Π²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π²ΠΈΠ΄ΠΈ
III. ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ Π½Π° AdminLink - ΡΡΠΎ Π²ΠΈΠ΄ΠΎΠ²:
AdminLink Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΊΡΠ°ΡΠ΅Π½ΠΊΠ° ΠΊΠΎΡΠ° ΡΠΏΠ°ΡΡΠ²Π° Π½Π° Π»ΠΎΠΊΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π°Π»Π°ΡΠΊΠ°ΡΠ° admilaunch.exe, ΠΈ Π»ΠΈΡΠ½Π° ΠΊΠΎΠΏΠΈΡΠ° ΠΎΠ΄ Π°Π»Π°ΡΠΊΠ°ΡΠ° Π·Π° Π»Π°Π½ΡΠΈΡΠ°ΡΠ΅ AdmiRun.Exe ΠΊΠΎΡΠ° ΡΠ΅ Π½Π°ΠΎΡΠ° Π²ΠΎ ΠΏΠ°ΠΏΠΊΠ°ΡΠ° Π½Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊΠΎΡ, Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ Π²Π°ΡΠΈΡΠ°, ΡΠΈΠΏ C: ΠΠΎΡΠΈΡΠ½ΠΈΡΠΈ Π½Π° WINDOWS. ΠΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ, Π½Π΅ Π΅ ΡΓ¨ ΡΠΎΠ»ΠΊΡ Π»ΠΎΡΠΎ: ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΈ ΠΈΠ³ΡΠ°ΡΠ΅ ΡΠΎ ΠΏΡΠ°Π²Π°ΡΠ° Π·Π° ΠΏΡΠΈΡΡΠ°ΠΏ Π΄ΠΎ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΠΎ ΠΊΡΠ°ΡΠ΅Π½ΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ Π·Π° Π΄Π° ΡΠ° ΠΈΡΡΠΈΡΡΠΈΡΠ΅ Π²Π°ΡΠ°ΡΠ° ΡΠΎΠΏΡΡΠ²Π΅Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½Π° ΡΠΎΠ²Π΅ΡΡ.
ΠΠ·Π²ΠΎΡ: www.habr.com