Dhibaatada inta lagu jiro muddada karantiil ee shirkadu waxay noqotay kuwan soo socda: runtii waa lagama maarmaan in la yareeyo tirada booqashooyinka xafiisyada ee takhasuska leh ee u adeegaya iyo la talinta software-ka codsiga, iyo si daacad ah, isticmaalayaashu waxay inta badan ku xad gudbaan caawinta takhasuska iyaga oo aan dooneynin inay dhexgalaan. Arrinta lafteeda, waxay yiraahdeen " way iman doonaan - way caawin doonaan - way samayn doonaan, laakiin waxaan cabbi doonaa / cabbi doonaa qaxwo, iwm." La talinta taleefoonka marka la wadaagayo server-ka ayaa aad waxtar u leh haddii aad aragto shaashadda fog.
Ka dib "hal-abuurkii" baaskiilkayaga, macluumaadka miyir-qabka ah ee mawduuca maqaalka ayaa soo baxay:
Dhammaan macluumaadka hoose waxaa loogu talagalay kuwa waxay u dulqaataa qalloocyada aan caadiga ahayn si loo helo natiijada la rabo, abuurista habab aan loo baahnayn.
Si aan " bisadda dabada ugu jiido ", waxaan ku bilaabayaa kan ugu dambeeya: baaskiilku wuxuu u shaqeeyaa celceliska isticmaalaha isticmaalka tamarta
I. Console iyo hadh RDP.
Tan iyo markii la isticmaalo xuquuqda maamulaha console Manager Server -> QuickSessionCollection -> adigoo gujinaya fadhiga isticmaalaha xiisaha, ka xulashada Shadow ka menu macnaha guud loogu talagalay shaqaalaha tilmaamaya sida loo isticmaalo software-ka, maaha doorasho, hab kale oo "qoryo" ah ayaa la tixgeliyey, oo kala ah:
1. Ogow aqoonsiga RDP ee fadhiga:
query user | findstr Administrator
ama:
qwinsta | findstr Administrator
Intaa waxaa dheer "| Findstr Maamulaha"Waxay ahayd mid ku habboon kaliya markaad ogaatay waxa dhabta ah Maamulaha aad u baahan tahay, ama isticmaal kaliya qaybta hore si aad u aragto qof kasta oo galay server-ka.
2. Ku xidh casharkan, waase taas barta interneedka siyaasadaha kooxda Xulashada "U deji xeerarka kontoroolka fogfog ee fadhiyada adeegsadaha ee Adeegyada Fog desktop" doorashada ayaa la doortaa iyada oo ugu yaraan "Monitor session with user permit" la doortay (
mstsc /shadow:127
Fadlan la soco in liisku ka koobnaan doono gelitaanka isticmaalaha.
Waxaan ku celinayaa in la'aanteed xuquuqda admin waxaad heli doontaa kuwan soo socda:
Laakin qaladka horudhaca ah ee barnaamijka laga doodi doono, waxaan isticmaalay akoon leh xuquuqda maamulaha.
II. Barnaamijka
Markaa bayaan dhibaatada: abuurista qaar ka mid ah is-dhexgalka garaafyada fudud si loogu xidho dareenka hadh ee isticmaalaha ogolaanshihiisa, u diraya fariin isticmaalaha. Deegaanka barnaamijka la doortay waa Laasaros.
1. Waxaan ka helnaa liiska isticmaalayaasha "login" - "magaca buuxa" ee maamulaha, ama mar labaad iyada oo loo marayo console:
wmic useraccount get Name,FullName
ma jiro qof diidaya xataa tan:
wmic useraccount get Name,FullName > c:testusername.txt
Waxaan isla markiiba odhan doonaa in ay Laasaros dhibaato ka haysatay habaynta faylkan, maadaama asal ahaan ay codayntu tahay UCS-2, marka waa in aan gacanta ugu rogo UTF-8 caadiga ah. Waxaa jira tabs badan oo ku jira qaab dhismeedka faylka, ama meelo badan, kuwaas oo la go'aamiyay in si barnaamij ah loo socodsiiyo, mar dhow ama hadhow mushkiladda codaynta ayaa la xallin doonaa, faylkana si barnaamij ah ayaa loo cusboonaysiin doonaa.
Haddaba, fikradda waa in la helo gal ay heli karaan isticmaalayaasha barnaamijka, tusaale ahaan c: test, kaas oo ay jiri doonaan 2 faylal: kan ugu horreeya oo leh login iyo magac buuxa, kan labaad oo leh id_rdp iyo login isticmaalayaasha. Marka xigta, waxaanu u habaynaynaa xogtan sida ugu wanaagsan ee aan awoodno :).
Dhanka kale, si aan ula xidhiidhno liiska kalfadhiyada, waxa aanu u wareejinaa waxa ka kooban (galitaanka iyo magaca buuxa) ee habaysan:
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;
Waxaan ka cudur daaranayaa "code badan", qodobbada soo socdaa waxay noqon doonaan kuwo kooban.
2. Anagoo adeegsanayna isla qaabkii cutubkii hore, waxaan akhrineynaa natiijada ka baaraandegidda liiska qeybta StringGrid, halka aan bixin doono kood βmuhiim ahβ:
2.1 Waxaan ku helnaa liiska hadda ee fadhiyada RDP faylka:
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 Habka faylka (kaliya khadadka muhiimka ah ee kood ayaa la tilmaamay):
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. Isku xidhka tooska ah laftiisa adigoo gujinaya khadka isticmaalaha iyo lambarka fadhiga:
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. Lammaanaha qurxinta dheeraadka ah ayaa la sameeyay, sida kala soocida adigoo gujinaya badhanka raadiyaha, iyo fariimaha isticmaalayaasha ama dhammaan isticmaalayaasha.
β Koodhka isha oo buuxa waa la arki karaa
III. Isticmaalka AdminLink - waxa aan arkay:
AdminLink waxay soo saartaa marin gaaban oo tixraacaya goobta tamarta admilaunch.exe, iyo koobiga shakhsi ahaaneed ee utility bilaabista AdmiRun.Exe kaas oo ku yaala galka isticmaalaha, tusaale ahaan Vasya, nooca C: UsersvasyaWINDOWS. Guud ahaan, wax walba maahan kuwo aad u xun: waxaad ku ciyaari kartaa adigoo leh xuquuqda gelitaanka faylka gaaban iyo kuwa kale si aad u nadiifiso damiirkaaga maamulka.
Source: www.habr.com