Ingxaki ngexesha lokuvalelwa kweli shishini yaba yile ilandelayo: ngenene kuyimfuneko ukunciphisa inani lokutyelelwa kwee-ofisi ziingcali ezibonelela ngenkonzo kunye nokubonisana nesoftware yesicelo, kwaye ngokuthetha ngokungafihlisiyo, abasebenzisi bahlala belusebenzisa kakubi uncedo lweengcali ngaphandle kokufuna ukuphonononga. Umcimbi ngokwawo, bathi "baya kuza - baya kunceda - baya kuyenza, kodwa ndiza kutshaya / ndisele ikofu, njl. Ukubonisana ngefowuni xa wabelana ngeseva kusebenza ngakumbi ukuba ujonga isikrini esikude.
Emva "kokuveliswa" kwebhayisekile yethu, kwavela ulwazi oluphilileyo ngesihloko senqaku:
Lonke ulwazi olungezantsi lwenzelwe abo bathe inyamezela ukugqwetheka okungaqhelekanga ngokuqhelekileyo ukufumana isiphumo esifunwayo, ukuyila iindlela ezingeyomfuneko.
Ukuze "ungadonsi ikati ngomsila", ndiya kuqala ngeyokugqibela: ibhayisekile isebenza kumsebenzisi oqhelekileyo usebenzisa i-utility.
I. I-Console kunye ne-RDP yesithunzi.
Ukususela ekusebenziseni nge amalungelo omlawuli we-Server Manager console -> QuickSessionCollection -> ngokunqakraza kwiseshoni yomsebenzisi onomdla, ukhetha iShadow kwimenyu yomxholo. kubasebenzi abayalela indlela yokusebenzisa isoftware, ayisiyiyo inketho, enye indlela "yomthi" yaqwalaselwa, ethi:
1. Fumana isazisi seRDP seseshoni:
query user | findstr Administrator
okanye:
qwinsta | findstr Administrator
Ngaphezu koko"| Findstr Umlawuli"Kwakulula kuphela xa ubusazi ukuba yintoni kanye kanye umlawuli udinga, okanye sebenzisa kuphela indawo yokuqala ukubona wonke umntu engenile kumncedisi.
2. Qhagamshela kule seshoni, ngaphandle kokuba ikwidomeyini iipolisi zeqela I "Cwangcisa imithetho yolawulo olukude kwiiseshoni zomsebenzisi weeNkonzo zeDesktop ekude" ukhetho lukhethiwe kunye noko "Jonga iseshoni ngemvume yomsebenzisi" ukhetho olukhethiweyo (
mstsc /shadow:127
Nceda qaphela ukuba uluhlu luya kuqulatha kuphela amagama abasebenzisi.
Ndiyaphinda ndithi ngaphandle kwamalungelo admin uya kufumana oku kulandelayo:
Kodwa ukulungiselela ukulungiswa kwangaphambili kwenkqubo eza kuxutyushwa, ndisebenzise i-akhawunti enamalungelo omlawuli.
II. Inkqubo
Ke ingxelo yengxaki: ukwenza ujongano olulula lomzobo ukuqhagamshela kwisithunzi somsebenzisi ngemvume yakhe, ukuthumela umyalezo kumsebenzisi. Indawo yenkqubo ekhethiweyo nguLazaro.
1. Sifumana uluhlu olupheleleyo lwesizinda sabasebenzisi "login" - "igama elipheleleyo" kumlawuli, okanye kwakhona nge-console:
wmic useraccount get Name,FullName
akukho walelayo nale nto.
wmic useraccount get Name,FullName > c:testusername.txt
Ndizakuthi ngoko nangoko ukuba yayinguLazaro owayenengxaki yokulungisa le fayile, kuba ngokungagqibekanga ukufakwa kwekhowudi kwayo yi-UCS-2, ke kwafuneka ndiyiguqulele kwi-UTF-8. Zininzi iithebhu kulwakhiwo lwefayile, okanye endaweni yoko izithuba ezininzi, ekugqitywe kuzo ukuba ziqhutywe ngokwenkqubo; kungekudala okanye kamva ingxaki yekhowudi iya kusonjululwa, kwaye ifayile iya kuhlaziywa ngokwenkqubo.
Ngoko ke, ingcamango kukuba ifolda ifikeleleke kubasebenzisi beprogram, umzekelo c: uvavanyo, apho kuya kubakho iifayile ezi-2: eyokuqala ngokungena kunye negama elipheleleyo, okwesibini kunye ne-id_rdp kunye nokungena kwabasebenzisi. Okulandelayo, siqhuba le datha kangangoko sinako :).
Okwangoku, ukudibanisa noluhlu lweseshini, sidlulisela oku (ukungena kunye negama elipheleleyo) imixholo kuluhlu:
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;
Ndiyaxolisa "ngekhowudi eninzi", la manqaku alandelayo aya kuba mafutshane.
2. Ukusebenzisa indlela efanayo kumhlathi odlulileyo, sifunda umphumo wokucubungula uluhlu kwizinto ze-StringGrid, ngelixa ndiza kunika ikhowudi "ebalulekileyo":
2.1 Sifumana uluhlu lwangoku lweeseshoni zeRDP kwifayile:
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 Yenza ifayile (kuphela imigca ebalulekileyo yekhowudi ebonisiwe):
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. Uqhagamshelo oluthe ngqo ngokwalo ngokucofa umgca kunye nomsebenzisi kunye nenombolo yakhe yeseshoni:
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. Kuye kwenziwa imihombiso emininzi, njengokuhlela ngokucofa iqhosha lerediyo, kunye nemiyalezo eya kumsebenzisi okanye bonke abasebenzisi.
β Ikhowudi yemvelaphi epheleleyo inokubonwa
III. Ukusebenzisa i-AdminLink- into endiyibonileyo:
I-AdminLink ivelisa indlela emfutshane ebonisa indawo yoncedo admilaunch.exe, kunye nekopi yobuqu yesixhobo sokuphehlelelwa AdmiRun.Exe ebekwe kulawulo lomsebenzisi, umzekelo Vasya, uhlobo C:AbasebenzisivasyaWINDOWS. Ngokubanzi, ayisiyiyo yonke into embi kakhulu: ungadlala ngamalungelo okufikelela kwifayile emfutshane kunye nabanye ukucima isazela sakho somlawuli.
umthombo: www.habr.com