- Paplašināta tasklist un taskkill izmantošana procesu auditēšanai un slēgšanai, izmantojot filtrus, CSV un attālinātu izpildi.
- Visaptveroša pakalpojumu pārvaldība ar sc: izveide, vaicāšana, sākšana, apturēšana un dzēšana lokāli un attālināti.
- Labākā prakse: vismazākās privilēģijas, attālināti piesardzības pasākumi un atbildīga /F un filtru lietošana.
Ja ikdienā strādājat ar Windows , tad kontrole, kas darbojas un kā reaģēt, ja kaut kas iestrēgst, ir ļoti svarīga, vai dators ir ātrs vai lēns. Par laimi, ar dažām vietējām komandām , piemēram, tasklist, taskkill un sc, varat auditēt, filtrēt, apturēt un automatizēt procesus un pakalpojumus gan lokāli, gan attālināti.
Šajā praktiskajā rokasgrāmatā es soli pa solim paskaidrošu, kā uzskaitīt procesus dažādos formātos, kā lietot papildu filtrus, kā droši aizvērt iesaldētas lietojumprogrammas un kā precīzi pārvaldīt sistēmas pakalpojumus. Tas viss ir aprakstīts ar reāliem piemēriem, kas ir gatavi kopēšanai un ielīmēšanai , attālās piekļuves brīdinājumiem un noderīgiem padomiem un ieteikumiem, lai atvieglotu navigāciju konsolē.
Procesi un pakalpojumi: kā tie ir līdzīgi un kā tie atšķiras
Sistēmā Windows process ir darbojoša programma, kurai var būt pavedieni, izpildīt uzdevumus un pārtraukt darbību, kad tā pabeidz savu darbu. Savukārt pakalpojums ir sistēmas komponents, kas parasti darbojas fonā, ko var startēt, apturēt, atsākt vai restartēt , un kas pēc būtības paliek aktīvs, līdz sistēma vai administrators nolemj citādi.
Galvenās atšķirības ietver: procesi var darboties priekšplānā vai fonā un tiek pārtraukti, kad nepieciešams, savukārt pakalpojumi tiek pārvaldīti ar stāvokļiem (start, stop, pause, continue) un ir paredzēti pastāvīgai darbībai. Process var izveidot vai kontrolēt pakalpojumus, un pakalpojums savukārt var palaist bērnprocesus.
Ja dodat priekšroku grafiskam interfeisam, uzdevumu pārvaldnieks (taskmgr.exe) nodrošina jūsu pašreizējās sistēmas momentuzņēmumu: cilni “Procesi” centrālā procesora, atmiņas, grafikas procesora, tīkla un statusa (tostarp klasiskā “Nereaģē”) skatīšanai, kā arī cilni “Pakalpojumi”, lai skatītu to PID, statusu, startēšanas veidu un ražotāju. Taču, ja nepieciešama precizitāte, automatizācija un attālā piekļuve, komandrinda ir jūsu labākais draugs.
Galvenie rīki sistēmas pārvaldībai no konsoles
Svarīgākās utilītas, kas jums jāzina, ir: tasklist (procesu saraksta izveidei), taskkill (procesu pārtraukšanai pēc PID vai attēla nosaukuma) un sc (pakalpojumu pārvaldībai, izmantojot pakalpojumu vadības pārvaldnieku). Ļoti noderīgas ir arī WMIC (WMI vaicāšanai, izmantojot konsoli) un query/qprocess komandas procesu pārbaudei pēc sesijas vai lietotāja.
Ar šīm komandām varat ģenerēt CSV atskaites programmai Excel, izveidot sarakstus bez galvenes, lietot filtrus pēc atmiņas izmantošanas vai statusa un rīkoties ar ķirurģisku precizitāti: sākot ar negodīga notepad.exe faila darbības pārtraukšanu un beidzot ar visa bērnu procesu koka aizvēršanu, ko palaiž cmd.exe konsole.
Uzskaitīšanas procesi ar uzdevumu sarakstu: filtri, formāti un piemēri
Vistiešākā komanda, lai redzētu, kas darbojas, ir `tasklist` . Bez jebkādām opcijām jūs iegūsit attēla nosaukumu, PID, sesiju un atmiņas izmantošanu. Taču interesantākā daļa ir saistīta ar modifikatoriem, kas ļauj filtrēt un pielāgot izvadi pēc jūsu vēlmēm.
Ļoti praktiski parametri: /V (detalizēts), /SVC (parāda katra procesa pārvaldītos pakalpojumus), /M (kuri procesi ielādē konkrētu DLL/EXE failu), /FO ("TABLE", "LIST", "CSV"), /NH (paslēpj galvenes TABLE/CSV failā) un /FI (filtri). Ir arī /S , /U un /P attālinātai izpildei ar akreditācijas datiem.
Ar šīm komandām varat ģenerēt CSV atskaites programmai Excel, izveidot sarakstus bez galvenes, lietot filtrus pēc atmiņas izmantošanas vai statusa un rīkoties ar ķirurģisku precizitāti: sākot ar negodīga notepad.exe faila darbības pārtraukšanu un beidzot ar visa bērnu procesu koka aizvēršanu, ko palaiž cmd.exe konsole.
Lai skatītu pilnu palīdzību savā darbvirsmā, varat kopēt izvadi ar: "TASKLIST /? >%userprofile%/Desktop/uso.txt" . Tādā veidā jums būs pieejamas visas izskaidrotās opcijas un nebūs jāpaļaujas uz atmiņu, strādājot ar sarežģītiem filtriem.
tasklist
tasklist /v
tasklist /svc
tasklist /m ntdll.dll
CSV izvade ir ideāli piemērota atvēršanai programmā Excel vai apstrādei ar skriptiem. Varat ģenerēt ļoti detalizētu pārskatu, piemēram, šo: CSV + detalizēts fails darbvirsmā, gatavs analīzei ar filtriem un rakurstabulām.
tasklist /v /fo csv >%userprofile%/Desktop/list.csv
Ja meklējat ko kodolīgāku, ar mitinātiem pakalpojumiem un teksta formātā: LIST + TXT novirzīts uz darbvirsmu. Tas ir ideāli piemērots ātrai pārskatīšanai programmā Notepad un ērtai kopīgošanai ar kolēģi.
tasklist /svc /fo list >%userprofile%/Desktop/list.txt
Filtrēšana ir neticami jaudīga. Piemēram, varat paturēt tikai darbojošās lietojumprogrammas un tās detalizēti apskatīt: tas palīdz koncentrēties uz to, kas pašlaik ir aktīvs, izslēdzot uzdevumus, kas dažos izdevumos ir apturēti vai atlikti.
tasklist /v /fi "STATUS eq running"
Vēl viens klasisks paņēmiens: noteiktu DLL failu, piemēram, ntdll.dll , ielādējošo procesu noteikšana . Ļoti noderīgi diagnostikai vai atkarību izpētei.
tasklist /m ntdll.dll
Ir iespējama arī filtrēšana pēc atmiņas izmantojuma, izmantojot diapazonus . Piemēram, lai skatītu procesus, kas izmanto vairāk nekā 15 000 KB un mazāk nekā 19 000 KB RAM, varat apvienot divas /FI komandas un iegūt tieši to segmentu, kas jūs interesē.
tasklist /fi "memusage gt 15000" /fi "memusage lt 19000"
Vēl viena atkārtota shēma ietver sarakstu apvienošanu : notepad.exe un firefox.exe saraksta iekļaušana divos ķēdē savienotos izsaukumos, izmantojot operatoru & , kas abus rezultātus atstāj ekrānā vienā piegājienā.
tasklist /fi "IMAGENAME eq notepad.exe" & tasklist /fi "IMAGENAME eq firefox.exe"
Vai CSV faili ir nepieciešami tieši konsolē, bet tikai procesiem ar PID > 1000 ? Nav problēmu: ar filtrēšanu un formatēšanu viss ir gatavs pāradresēšanai vai apstrādei citā programmā.
tasklist /v /fi "PID gt 1000" /fo csv
Ja vēlaties eksportēt šo CSV failu, vienkārši pievienojiet pāradresāciju. Tas ir ļoti ērti, veidojot perimetra atskaites vai apkopojot incidentu datus.
tasklist /v /fi "PID gt 1000" /fo csv > procs.csv
Filtrēšana pēc lietotāja un statusa, izslēdzot sistēmas pilnvaras, ir noderīga, meklējot aktīvus "lietotāja" procesus . Šis skats atsijā sistēmas troksni un ļauj koncentrēties uz to, kas parasti rada problēmas biroja vidē.
tasklist /fi "USERNAME ne NT AUTHORITY\SYSTEM" /fi "STATUS eq running"
Attālinātos scenārijos uzdevumu saraksts (Tasklist) ir īpaši noderīgs. Varat vaicāt serverim ar nosaukumu srvmain , izmantojot savus pašreizējos vai pielāgotos akreditācijas datus, kā arī filtrēt pēc ielādētajiem moduļiem un pakalpojumiem. Paturiet prātā, ka WINDOWTITLE un STATUS filtri netiek lietoti attālināti.
tasklist /s srvmain
tasklist /s srvmain /u maindom\hiropln /p p@ssW23
tasklist /s srvmain /svc /fi "MODULES eq ntdll*"
Ātrs padoms: ja vēlaties, lai komandrindas logs paliktu atvērts pēc saraksta palaišanas, izmantojiet komandu CMD /K . Tas ir vienkāršs veids, kā "redzēt un palikt" konsolē, to katru reizi neatkārtojot.
CMD /K TASKLIST /V
Uzdevumu aizvēršana ar taskkill: sintakse, filtri un reālās pasaules piemēri
Kad lietojumprogramma pārstāj reaģēt, nevajadzīgi patērē resursus vai atver pārāk daudz bērnu procesu, risinājums ir taskkill . Tas ļauj pārtraukt procesu, izmantojot PID vai attēla nosaukumu, piespiest pārtraukt procesu un, ja nepieciešams, ar vienu modifikatoru apturēt visu bērnu procesu koku.
Vispārīgā sintakse atbalsta attālo izpildi ar lietotājvārdu un paroli, vairākus ķēdē savienotus filtrus un izpildi, izmantojot PID vai IMAGE_NAME (ar aizstājējzīmēm vārdu vietā, ja pievienojat filtru). Piezīme. Attālā izpilde vienmēr ir piespiedu kārtā pieejama, un WINDOWTITLE/STATUS filtri netiek lietoti.
taskkill <usuario> ]]] { }
Pārtraukšana ar PID ir vistiešākā pieeja un samazina risku nejauši pārtraukt citus procesus ar līdzīgiem nosaukumiem. Vienā komandā var pārtraukt vienu vai vairākus PID, kas ir noderīgi, tīrot zombiju procesus , kas paši sevi replicē.
taskkill /pid 1230
taskkill /pid 1230 /pid 1241 /pid 1253
Pārtraukšana pēc attēla nosaukuma ir ērta konkrētas lietojumprogrammas "izslēgšanai" visos tās procesos, īpaši, ja tā izmanto vairāku procesu apstrādi, tāpat kā lielākā daļa mūsdienu pārlūkprogrammu. Izmantojot /F, lietojumprogramma tiek piespiesta aizvērties, un /T noņem apakšprocesus.
taskkill /f /im notepad.exe
Ja vēlaties apturēt visus procesus, kuru PID ir lielāks vai vienāds ar 1000, neatkarīgi no to nosaukuma, varat apvienot filtru ar `/im *` . Šis modelis ir paredzēts ļoti specifiskiem labošanas mērķiem; izmantojiet to saprātīgi.
taskkill /f /fi "PID ge 1000" /im *
Filtri pēc statusa un nosaukuma ir ļoti noderīgi, lai novērstu sastrēgumus . Piemēram, varat piespiedu kārtā aizvērt visu, kas "nereaģē", izslēdzot logus, kuru nosaukums neatbilst jūsu kritērijiem. Atcerieties, ka šie filtri nedarbojas attālināti.
taskkill /f /fi "STATUS eq NOT RESPONDING"
Ir īpaši procesi, par kuriem ir vērts zināt: aizverot wscript.exe, tiek pārtraukti visi iestrēgušie VBScript skripti, un restartējot Windows Explorer, var izvairīties no problēmām, ja uzdevumjosla vai čaula sasalst.
taskkill /f /im wscript.exe
taskkill /f /im explorer.exe & start explorer.exe
Ja vēlaties pirms čaulas atkārtotas palaišanas dot sistēmai pārtraukumu, pievienojiet dažas sekundes ` timeout` . Tas ir neliels solis, kas var novērst kļūdas, kad notiek diska operācijas.
taskkill /f /im explorer.exe & timeout /nobreak 05 & start explorer.exe
Vēl viens izplatīts lietojums: konsoles un visa, ko tā, iespējams, ir palaidusi kaskādē, aizvēršana. Izmantojot /T , tiek nodrošināts, ka fonā netiek palaistas bērnu komandas.
taskkill /f /im cmd.exe /t
Taskkill atbalsta arī attālinātu izpildi ar akreditācijas datiem, kas ir svarīgi, ja serveris startēšanas laikā ir pārslogots ar resursus patērējošu procesu . Aizstājējzīmes ļauj atlasīt vairākus izpildāmos failus ar līdzīgiem nosaukumiem, piemēram, "note*", lai atrastu Notepad un citas saistītas programmas.
taskkill /s srvmain /u maindom\hiropln /p p@ssW23 /fi "IMAGENAME eq note*" /im *
Ja nepieciešams rīkoties, ņemot vērā drošības kritēriju, var pārtraukt darbību tikai ar to, kas iedarbināja sistēmu ( NT AUTHORITY\SYSTEM user ), lai nodrošinātu, ka nevajadzīgi neaizverat lietotāja rīkus.
taskkill /f /fi "USERNAME eq NT AUTHORITY\SYSTEM" /im notepad.exe
Un, ja vēlaties kaut ko vēl vienkāršāku, ir tskill , kas ļauj pārtraukt procesus sesijas līmenī (mazāk elastīgs nekā taskkill, bet noderīgs vecākās vai ļoti ierobežotās vidēs). Administratori to var izmantot pret procesiem citās sesijās.
tskill 1230
tskill explorer /id:1
Automatizējiet izslēgšanu Windows startēšanas laikā, izmantojot pakešfailus
Ir situācijas, kad ir lietderīgi pārtraukt procesus tūlīt pēc pieteikšanās, piemēram, lai atspējotu nevajadzīgus pakalpojumus , kas kavē startēšanu. To var izdarīt ar vienkāršu pakešfailu mapē Startup, neizmantojot uzdevumu plānotāju.
Izveidojiet .bat failu ar nepieciešamajām taskkill rindām un pārvietojiet to uz lietotāja mapi Startup. Šo mapi var viegli atvērt, ierakstot dialoglodziņā Run (Win+R) shell:Startup un apstiprinot.
@echo off
taskkill /f /im proceso1.exe
taskkill /f /im proceso2.exe
taskkill /f /im proceso3.exe
Citi saraksta veidošanas veidi: WMIC, query un qprocess
Lai veiktu padziļinātu pārbaudi un neapstrādātu datu eksportēšanu, WMIC ir tīrs zelts un papildina ļaunprātīgu procesu noteikšanas rīkus . Varat izvēlēties kolonnas, kas jūs interesē (nosaukums, komandrinda, PID utt.), un eksportēt tās uz failu diskā vēlākai analīzei vai iekļaušanai pārskatā.
WMIC /OUTPUT:C:\procs.txt PROCESS get Caption,Commandline,Processid
Turklāt, izmantojot `query` un tā aizstājvārdu `qprocess`, ir viegli redzēt, kas ko, kurā sesijā un ar kuru PID izpilda. Tas ir ļoti noderīgi serveros ar attālās darbvirsmas pakalpojumiem, kur katrai sesijai var būt sava aktīvo procesu ferma.
query process *
query process /id:1
Šī komandu saime cita starpā parāda lietotāja nosaukumu, sesijas nosaukumu, sesijas ID, procesa nosaukumu un PID. Kopā tās nodrošina vairāku sesiju perspektīvu , ko var parādīt arī tasklist, bet īpašu uzmanību pievēršot termināļa pakalpojumiem.
Pakalpojumu pārvaldība ar sc: izveide, vaicājumu veikšana, palaišana un dzēšana
Sistēmas pakalpojumu pārvaldībai komanda `sc` ir tiešais ceļš uz pakalpojumu vadības pārvaldnieku (Services.msc ). Ar to var izveidot jaunu pakalpojumu, mainīt tā aprakstu, to startēt vai apturēt, apturēt vai dzēst pakalpojumu reģistra ierakstus. Tā darbojas arī attālināti, pirms komandas pievienojot simbolu `\\`.
Parauga pakalpojuma izveide ar automātisku startēšanu ir tikpat vienkārša kā simboliskā nosaukuma, binārā ceļa un startēšanas veida norādīšana. Pievērsiet uzmanību atstarpēm pēc vienādības zīmēm: tām ir nozīme `sc` valodā, tāpēc ievērojiet precīzu sintaksi.
sc create NuevoServicio binpath= c:\windows\system32\NuevoServicio.exe start= auto
Lai to izdarītu attālā resursdatorā , pirms datora nosaukuma norādiet . Turpmāk pārējās komandas (start, stop, delete) darbosies tieši tāpat ar šo pakalpojuma nosaukumu.
sc create \\miservidor NuevoServicio binpath= c:\windows\system32\NuevoServicio.exe start= auto
Jaunizveidota pakalpojuma palaišana, apturēšana vai administratīvā statusa maiņa ir vienkārša. Bieži vien šīs komandas tiks apvienotas ar tasklist/taskkill, kad pakalpojums palaiž problemātiskus bērnu procesus.
sc start NuevoServicio
sc stop NuevoServicio
sc pause NuevoServicio
Auditam ļoti noderīgs ir `sc query` dažādās formās: aktīvie pakalpojumi, visi pakalpojumi, interaktīvie pakalpojumi vai konkrēts pakalpojums ar tā statusu. Šis skats papildina `tasklist /svc`, ja nepieciešama reāllaika statusa un tipa informācija .
sc query
sc query type= service
sc query state= all
sc query NuevoServicio
sc query type= service type= interact
Un, kad tas vairs nav nepieciešams, pakalpojumu var noņemt no reģistra , veicot vienkāršu dzēšanu. Paturiet prātā, ka tas ir jāaptur; pretējā gadījumā darbība neizdosies vai paliks gaidīšanas režīmā, līdz tiks atbrīvoti resursi.
sc delete NuevoServicio
Palīdzība, atbalstītie filtri un attālā režīma nianses
Abas komandas — gan tasklist, gan taskkill — tieši no konsoles parāda ļoti visaptverošu palīdzību. Veltiet brīdi, lai to izlasītu: jūs redzēsiet atbalstītos filtrus, piemēram, PID (eq, ne, gt, lt, ge, le), IMAGENAME (eq, ne), USERNAME , MEMUSAGE , MODULES vai WINDOWTITLE , kā arī statusa vērtības, piemēram, RUNNING, NOT RESPONDING vai UNKNOWN (dažos izdevumos arī SUSPENDED).
Ir jāatceras daži noteikumi: aizstājējzīme * priekš /IM tiek pieņemta tikai tad, ja lietojat filtru; attālajā režīmā pabeigšana vienmēr ir piespiedu kārtā, un filtri WINDOWTITLE un STATUS netiek novērtēti. Ja plānojat palaist attālināti, pārliecinieties, vai jums ir derīgi akreditācijas dati , vai ugunsmūris atļauj nepieciešamo saziņu un vai darbojas RPC/WMI pakalpojumi.
Lai saglabātu palīdzību failā un vēlāk uz to atsauktos, neapmaldoties konsolē, atcerieties, ka varat novirzīt izvadi uz .txt failu darbvirsmā, kas ir īpaši noderīgi, dokumentējot iekšēju procedūru vai kopīgojot rokasgrāmatu ar komandu.
TASKLIST /? >%userprofile%/Desktop/uso_tasklist.txt
TASKKILL /? >%userprofile%/Desktop/uso_taskkill.txt
Praktiski ikdienas administrēšanas piemēri
Bieži veicami uzdevumi : Resursu ietilpīgu procesu uzraudzība, koplietoto DLL failu identificēšana un CSV faila sagatavošana vēlākai pārskatīšanai ir bieži veicami uzdevumi. Šeit ir ātru darbību apkopojums, kas viss ir balstīts uz iepriekš minēto un ir gatavs apvienošanai un pielāgošanai jūsu videi.
Detalizēta saraksta ģenerēšana un konsoles atstāšana atvērta pēc tam ir noderīga reāllaika uzraudzībai, neaizverot logu. CMD /K apvienošana ar uzdevumu sarakstu nodrošina ērtu darbplūsmu.
CMD /K TASKLIST /V
Atrodiet visus procesus, kuros ir modulis, kurā ir ielādēts modelis. Aizstājējzīme DLL nosaukuma beigās ļauj aptvert dažādas vienas un tās pašas sistēmas bibliotēkas versijas vai variantus.
tasklist /m ntdll*
Apvienots divu ļoti izplatītu lietojumprogrammu saraksts, lai ātri redzētu, cik instanču jums ir atvērtas un to atmiņas izmantojumu. Tas var sniegt priekšstatu par to, vai ir pārmērīga vairāku procesu apstrāde vai pārlūkprogrammas cilnes darbojas nevienmērīgi.
tasklist /fi "IMAGENAME eq notepad.exe" & tasklist /fi "IMAGENAME eq firefox.exe"
Pārtraukt piekļuvi attālajā serverī, izmantojot akreditācijas datus un attēla nosaukuma modeli. Ļoti noderīgi korporatīvā vidē, kur attālā darbvirsma bieži vien nereaģē ķēdē savienotu biroja procesu dēļ.
taskkill /s srvmain /u maindom\hiropln /p p@ssW23 /fi "IMAGENAME eq note*" /im *
Un, ja vēlaties stingri atlasīt pēc izcelsmes, noņemiet tikai to, ko palaida sistēmas konts. Šis filtrs ir ļoti efektīvs, pētot pakalpojuma darbību saistībā ar lietotāja procesiem.
taskkill /f /fi "USERNAME eq NT AUTHORITY\SYSTEM" /im notepad.exe
Drošības padomi un labākā prakse
Izvairieties pārtraukt sistēmas procesus, vispirms nepārbaudot to funkcijas; tas var izraisīt nestabilitāti vai datu zudumu. Pirms pārtraukšanas identificējiet procesu, izmantojot `tasklist /v` , un, ja iespējams, mēģiniet to parasti izslēgt no saskarnes. Rezervējiet ` /F` gadījumiem, kad nav citas alternatīvas. Pirms turpināt, skatiet to Windows 11 pakalpojumu sarakstu , kurus nevajadzētu atspējot .
Strādājot attālināti, izmantojiet kontus ar minimālajām nepieciešamajām privilēģijām, un, ja pārvaldāt vairākas mašīnas, apsveriet skriptus, kas reģistrē, kas tika slēgts un kad. Novirziet izvadi uz CSV vai TXT, lai atstātu pēdas, un aizsargājiet failus, kas satur paroles vai akreditācijas datus, ar tādu pašu dedzību kā ražošanas noslēpumu.
Visbeidzot, atcerieties, ka dažreiz ātrākais veids ir grafiskā pieeja: atveriet uzdevumu pārvaldnieku un manuāli aizveriet nevēlamo procesu. Konsole izceļas ar automatizāciju, precīzu diagnostiku un atkārtojamām darbībām ; grafiskā lietotāja saskarne nāk palīgā, kad nepieciešams tūlītējs klikšķis.
Tagad jūs esat apguvis procesu inventarizāciju, filtrēšanu un pārtraukšanu, izmantojot tasklist un taskkill, kā arī pakalpojumu izveidi, vaicājumus un dzēšanu, izmantojot sc, gan lokāli, gan attālināti. Izmantojot šajā rakstā sniegtos piemērus un brīdinājumus, jūs varēsiet izveidot savus apkopes skriptus, reaģēt uz avārijām dažu sekunžu laikā un ģenerēt noformētus CSV vai TXT pārskatus savai komandai, vienmēr piemērojot minimālas iejaukšanās un maksimālas kontroles principu pār to, kas darbojas jūsu sistēmās.
Kaislīgs rakstnieks par baitu pasauli un tehnoloģiju kopumā. Man patīk dalīties savās zināšanās rakstot, un tieši to es darīšu šajā emuārā, parādot visu interesantāko informāciju par sīkrīkiem, programmatūru, aparatūru, tehnoloģiju tendencēm un daudz ko citu. Mans mērķis ir palīdzēt jums vienkāršā un izklaidējošā veidā orientēties digitālajā pasaulē.