Inkinga ngesikhathi sokuvalelwa kwebhizinisi yaba yilena elandelayo: kuyadingeka ngempela ukunciphisa inani lokuvakashela amahhovisi ngochwepheshe abasebenza futhi bebonisana ngesoftware yesicelo, futhi ukukhuluma ngokungagwegwesi, abasebenzisi bavame ukusebenzisa kabi usizo lochwepheshe ngaphandle kokufuna ukujula. udaba ngokwalo, bathi "bazofika - bazosiza - bazokwenza, kodwa ngizobhema/ngiphuze ikhofi, njll." Ukubonisana ngocingo lapho wabelana ngeseva kuphumelela kakhulu uma ubuka isikrini esikude.
Ngemva "kokusungulwa" kwebhayisikili lethu, kwavela ulwazi oluhlakaniphile esihlokweni sendatshana:
Lonke ulwazi olungezansi lwenzelwe labo abakwenzayo ibekezelela ukuhlanekezela okungavamile ngokujwayelekile ukuthola umphumela oyifunayo, ukusungula izindlela ezingadingekile.
Ukuze "ungadonsi ikati ngomsila," ngizoqala ngeyokugcina: ibhayisikili lisebenzela umsebenzisi ojwayelekile usebenzisa insiza.
I. Console kanye ne-RDP yesithunzi.
Kusukela ukusetshenziswa nge amalungelo omlawuli wekhonsoli Yesiphathi Seseva -> I-QuickSessionCollection -> ngokuchofoza iseshini yomsebenzisi onentshisekelo kuwo, ukhethe i-Shadow kumenyu yokuqukethwe kubasebenzi abayalela indlela yokusebenzisa isoftware, akuyona inketho, enye indlela "yokhuni" yacatshangelwa, okungukuthi:
1. Thola i-ID ye-RDP yeseshini:
query user | findstr Administrator
noma:
qwinsta | findstr Administrator
Ngaphezu kwalokho "| findstr Administrator"Kwakulula kuphela uma wazi ukuthi yini ngempela Administrator udinga, noma sebenzisa ingxenye yokuqala kuphela ukuze ubone wonke umuntu engene kuseva.
2. Xhuma kulesi sikhathi, inqobo nje uma lokho kusizinda izinqubomgomo zeqembu Inketho ethi "Setha isilawuli kude sezikhathi zomsebenzisi Wezinsiza Zedeskithophu Ekude" ikhethwa okungenani ngenketho ethi "Qapha ngemvume yomsebenzisi" (
mstsc /shadow:127
Sicela uqaphele ukuthi uhlu luzoqukatha kuphela ukungena ngemvume komsebenzisi.
Ngiyaphinda ngithi ngaphandle kwamalungelo admin uzothola okulandelayo:
Kodwa ngokulungisa iphutha lokuqala lohlelo oluzoxoxwa ngalo, ngisebenzise i-akhawunti enamalungelo omlawuli.
II. Uhlelo
Ngakho isitatimende senkinga: ukudala isixhumi esibonakalayo esilula sokuxhuma kumqondo wesithunzi somsebenzisi ngemvume yakhe, ukuthumela umlayezo kumsebenzisi. Indawo yokuhlela ekhethiwe nguLazaru.
1. Sithola uhlu olugcwele lwesizinda lwabasebenzisi βabangena ngemvumeβ - βigama eligcweleβ kumphathi, noma futhi ngekhonsoli:
wmic useraccount get Name,FullName
akakho onqabela nalokhu:
wmic useraccount get Name,FullName > c:testusername.txt
Ngizosho zisuka nje ukuthi kwakunguLazaru owayenenkinga yokucubungula leli fayela, njengoba ngokuzenzakalelayo ukufakwa kwalo ngekhodi kuyi-UCS-2, ngakho-ke kwadingeka ngiliguqulele ngesandla libe yi-UTF-8 evamile. Kunamathebhu amaningi esakhiweni sefayela, noma kunalokho izikhala eziningi, okwanqunywa ukuthi zicutshungulwe ngokohlelo; ngokushesha noma kamuva inkinga yombhalo wekhodi izoxazululwa, futhi ifayela lizobuyekezwa ngokohlelo.
Ngakho-ke, umbono uwukuba nefolda efinyeleleka kubasebenzisi bohlelo, isibonelo c:test, lapho kuzoba khona amafayela angu-2: eyokuqala ngokungena ngemvume negama eligcwele, eyesibili nge-id_rdp nokungena kwabasebenzisi. Okulandelayo, sicubungula le datha ngokusemandleni ethu :).
Okwamanje, ukuze sihlotshaniswe nohlu lwamaseshini, sidlulisela lokhu okuqukethwe (igama eliphelele negama eliphelele) ohlwini:
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;
Ngiyaxolisa "ngekhodi eningi", amaphuzu alandelayo azoba mfushane kakhudlwana.
2. Sisebenzisa indlela efanayo esigabeni esandulele, sifunda umphumela wokucubungula uhlu ku-elementi ye-StringGrid, kuyilapho ngizonikeza ingxenye yekhodi βebalulekileβ:
2.1 Sithola uhlu lwamanje lwezikhathi ze-RDP ngefayela:
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 Lungisa ifayela (kukhonjiswa imigqa ebalulekile kuphela yekhodi):
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. Ukuxhumana okuqondile ngokwako ngokuchofoza kulayini onomsebenzisi nenombolo yakhe yeseshini:
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. Imihlobiso embalwa eyengeziwe yenziwe, njengokuhlunga ngokuchofoza inkinobho yomsakazo, nemilayezo eya kumsebenzisi noma kubo bonke abasebenzisi.
β Ikhodi yomthombo ogcwele ingabonwa
III. Ukusebenzisa i-AdminLink - engikubonile:
I-AdminLink ikhiqiza isinqamuleli esikhomba indawo yokusetshenziswa admilaunch.exe, kanye nekhophi yomuntu siqu yesisetshenziswa sokuqalisa I-AdmiRun.Exe etholakala kufolda yomsebenzisi, isibonelo Vasya, uhlobo C:AbasebenzisivasyaWINDOWS. Ngokuvamile, akuyona yonke into embi kakhulu: ungadlala ngamalungelo okufinyelela kufayela lezinqamuleli nokunye ukuze usule unembeza wakho womphathi.
Source: www.habr.com