Dambudziko panguva yekuvharirwa kwebhizinesi rakave rinotevera: zvakakosha kudzikisa huwandu hwekushanya kumahofisi nenyanzvi dzinoshanda uye kubvunzana nezve application software, uye kutaura chokwadi, vashandisi vanowanzo shandisa zvisina kunaka rubatsiro rwenyanzvi vasingade kuferefeta. nyaya yacho pachayo, vanoti "vachauya - vachabatsira - vachazviita, asi ini ndichaputa / kunwa kofi, nezvimwe." Kubvunza parunhare kana uchigovera sevha kunoshanda zvakanyanya kana iwe ukatarisa kure kure skrini.
Mushure me "kugadzirwa" kwebhasikoro redu, ruzivo rwakajeka pamusoro pechinyorwa chakabuda:
Ruzivo rwese pazasi rwakaitirwa avo vano inoshivirira kutsveyamisa kusiri kwakajairika kuwana mhedzisiro inodiwa, kugadzira nzira dzisina kufanira.
Kuti ndirege "kudhonza katsi nemuswe", ini ndichatanga neyekupedzisira: bhasikoro rinoshanda kune avhareji mushandisi achishandisa utility.
I. Console uye mumvuri RDP.
Kubva kushandiswa ne kodzero dzemutungamiri weServer Manager console -> QuickSessionCollection -> nekudzvanya pane chikamu chemushandisi wekufarira, kusarudza Shadow kubva pane yemukati menyu. kune vashandi vanoraira mashandisirwo esoftware, haisi sarudzo, imwe nzira ye "huni" yaifungidzirwa, iyo:
1. Tsvaga ID yeRDP yechirongwa:
query user | findstr Administrator
kana:
qwinsta | findstr Administrator
Uyezve "| findstr Administrator"Zvaingove nyore kana waiziva kuti chii chaizvo mutariri iwe unoda, kana kushandisa chete chikamu chekutanga kuona munhu wese apinda muserver.
2. Batanidza kuchikamu chino, chero chiri mudura mitemo yeboka Iyo "Seta kure kure kudzora mitemo yevashandisi masevhisi eRemote Desktop Services" sarudzo inosarudzwa neinenge iyo "Monitor chikamu nemvumo yemushandisi" sarudzo yakasarudzwa (
mstsc /shadow:127
Ndokumbira utarise kuti rondedzero inongove nemashandisi ekushandisa.
Ndinodzokorora kuti pasina kodzero dze admin iwe uchawana zvinotevera:
Asi kwekutanga kugadzirisa kwechirongwa chichakurukurwa, ndakashandisa account ine kodzero dzemaneja.
II. Chirongwa
Saka chirevo chedambudziko: kugadzira imwe yakapfava graphical interface yekubatanidza kune mumvuri wemushandisi nemvumo yake, kutumira meseji kumushandisi. Nzvimbo yepurogiramu yakasarudzwa ndiRazaro.
1. Isu tinowana iyo yakazara domain runyorwa rwevashandisi "login" - "zita rakazara" kubva kune maneja, kana zvakare kuburikidza nekoni:
wmic useraccount get Name,FullName
hapana anorambidza kunyange izvi.
wmic useraccount get Name,FullName > c:testusername.txt
Ini ndichataura ipapo ipapo kuti aive Razaro aive nedambudziko nekugadzirisa faira iri, sezvo nekusarudzika encoding yaro iri UCS-2, saka ndaifanira kungoishandura nemaoko kuita UTF-8. Kune akawanda ma tabo muchimiro chefaira, kana kuti nzvimbo dzakawanda, iyo yakasarudzwa kuti igadziriswe zvine hurongwa; munguva pfupi kana gare gare dambudziko reencoding rinogadziriswa, uye faira rinozogadziridzwa zvakarongeka.
Saka, pfungwa ndeyokuva nefolda inowanikwa kune vashandisi vepurogiramu, semuenzaniso c: test, umo muchava ne 2 mafaira: yekutanga ine login uye fullname, yechipiri id_rdp uye kupinda kwevashandisi. Tevere, isu tinogadzira iyi data nepese patinogona :).
Zvichakadaro, kushamwaridzana nerondedzero yezvikamu, tinoendesa izvi (login uye zita rakazara) zviri mukati kune array:
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;
Ndinokumbira ruregerero nokuda kwe "code yakawanda", pfungwa dzinotevera dzichava dzakapfupika.
2. Tichishandisa nzira imwechete kubva mundima yapfuura, tinoverenga mhedzisiro yekugadzira rondedzero muStringGrid element, ini ndichipa "yakakosha" chidimbu chekodhi:
2.1 Isu tinogashira runyorwa rwazvino rwemasesheni eRDP mufaira:
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 Gadzirisa faira (chete mitsetse yakakosha yekodhi inoratidzwa):
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. Yakananga kubatanidza pachayo nekudzvanya pamutsetse nemushandisi uye nhamba yechikamu chake:
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. Mamwe mashongedzero akati wandei akaitwa, sekurongedza nekudzvanya paradiobutton, uye meseji kumushandisi kana vese vashandisi.
β Yakazara sosi kodhi inogona kuoneka
III. Kushandisa AdminLink - zvandakaona:
AdminLink inogadzira nzira pfupi inoreva nzvimbo yekushandisa admilaunch.exe, uye kopi yega yega yekushandisa yekutanga AdmiRun.Exe iyo iri muforodha yemushandisi, semuenzaniso Vasya, mhando C:UsersvasyaWINDOWS. Kazhinji, hazvisi zvese zvakanyanya kushata: unogona kutamba uchitenderedza nekodzero dzekuwana kupfupika faira uye vamwe kujekesa yako admin hana.
Source: www.habr.com