αααα αΆαααα»αα’αα‘α»ααααααααΆαααΆααα±αααα ααΆα αααΈαααααααα ααααΆαααΆαααααΆααα ααΆααΌα ααΆααααααα ααΆαα·αααΆα αΆαααΆα ααααα»αααΆαααΆαααααααα ααα½αααααΆαα αΌαααααΆααααΆαα·ααΆααααααα’αααα―ααααααααααααααααΆαααα αα·αααααΉααααΆααΎαααααα·ααΈαααααα·ααΈ α αΎααα·ααΆααααααααααα α’αααααααΎααααΆαααααααααααΆααααα½αααΈα’αααα―ααααααααα·αα ααααααααααα’αααΈ αααα αΆααααααα½αα―ααα½ααααα·ααΆαααΆ "αα½αααααΉααα - αα½αααααΉααα½α - αα½αααααΉαααααΎααΆααα»αααααααα»αααΉααααααΆααΈ / ααΉαααΆα αααα ααΆαααααΉααααΆααΆαααΌαααααααα αααα ααααααααααΆαααΈαααααΆαααααα·αααααΆαααΆαααααα·αααΎα’αααααΎαα’ααααααααΈα ααααΆαα
αααααΆααααΈ "ααΆαα
αααααααα·α" αααααααααααΎαααααααΆαααα’ α ααΎαααααΆαααααα’αααααααΆαααα
α
ααααα
ααααααΆαααΆααα’ααααΆααααααααΊααΆααααααααααΆααα’αααααα α’αααααααααΉαααΆααααααααα·αααααααΆααΆααααααΆ ααΎααααΈααα½αααΆααααααααααα
ααααΆα αααααΎααα·ααΈααΆαααααααααα·αα
αΆαααΆα
αα
ααΎααααΈαα»αα±αα "ααΆαααααΆαααααααα»α" αααα»αααΉαα
αΆααααααΎαααΆαα½αα
α»αααααα: αααααααΎαααΆααααααΆααα’αααααααΎααααΆααααΆααααααααααααΎα§αααααααααΎααααΆαα
I. αα»αααΌα αα·ααααααα RDP α
α αΆααααΆααααΈααααΎααΆαα½α αα·αααα·α’αααααααααααααααα»αααΌαααααααααααααΆαααΈααα -> QuickSessionCollection -> αααβα α»α βααΎβααααβααβα’αααβααααΎβαααβααΆαβα αααΆααβα’αΆαααααα αααβααααΎαβααΎα Shadow ααΈβαααΊαα»αβααα·αα αααααΆαααα»ααααα·αααααααααΈααααααααΎααααΆαααααααα·ααΈαα·ααααααΆαααααΎααααα·ααΈααΆααααα "ααΎ" ααααααααααααΌαααΆααααα·α αΆαααΆααΊ:
1. αααααααααααααααΆαα RDP ααααααα
query user | findstr Administrator
α¬α
qwinsta | findstr Administrator
ααΎαααΈααααα ααα "| findstr α’αααααααααααα"ααΆααΆααααα½ααα ααααααα’αααααΉαααΈα’αααΈααααα·αααααΆαα α’αααααααααααα α’αααβααααΌαβααΆα α¬βααααΎβααβαααααβααααΌαβααα»αααααβααΎααααΈβααΎαβααΎαβα’αααβααΆααβααααΆβα αΌαβαααα»αβαααΆαααΈαβααα
2. ααααΆαααα
ααααααα αααααΆααααααααΆαα
αααα»αααα ααααααααΆααααα»α αααααΎα "αααααβα
αααΆααβαααααΆβααΈβα
ααααΆαβαααααΆααβααααβα’αααβααααΎβααβααααΆβαααααα»βααΈβα
ααααΆα" ααααΌαβααΆαβααααΎαααΎαβαααβααΆαβαααααΎα "Monitor session with user permission" αααΆαβα αα
βααΆααβααΆαβααααΎαααΎα (
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α ααΈαα½αααΆαααΆαα αΌα αα·ααααααααα ααΈααΈαααΆαα½α 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: UsersvasyaWINDOWS. ααΆααΌαα
αα·ααααα’αααΈαααΆααα’αααα»αααααα’αΆααααααααααα α’αααα’αΆα
αααααΆαα½ααα·αααα·α
αΌαααααΎα―αααΆαααααΌαααΆαα αα·αα’αααααααααααααΎααααΈααααααααα·ααΆαα’ααααααααααααααααα’αααα
ααααα: www.habr.com