PDA

View Full Version : Ревю: PsTools - Command-line инструменти на Sysinternals



WooDy
07-03-2009, 12:38
http://pics.softvisia.com/design/pics/5453/hero_windows_sysinternals.jpg

Официална страница: http://www.microsoft.com/technet/sysinternals
Директен линк за сваляне: PsTools (http://www.microsoft.com/technet/sysinternals/Utilities/PsTools.mspx)
Лиценз: FreeWare
Големина на пакета: 1MB

PsTools е пакет малки програми, които се изпълняват през командния ред. Пакетът съдържа общо 12 инструмента за администриране на Windows NT, Windows 2000, Windows XP, Windows Server 2003 и Windows Vista операционни системи, както локално така и отдалечено. Не е необходима инсталация.
Инструментите, които се съдържат в PsTools са:
1. PsExec - служи за изпълнение на процеси локално или на отдалечена система.
2. PsFile – показва какви файлове са отворени отдалечено.
3. PsGetSid – визуализира SID (security identifier) за компютър или потребител.
4. PsInfo - показва информация за хардуера и софтуера на локална или отдалечена система. Тази информация включва и версията на операционната система, марката, модела и тактовата честота на процесора, размера на оперативната памет (RAM) и марката и модела на видео адаптера. PsInfo може да показва и допълнителна информация, чрез въвеждането на допълнителни ключове.
5. PsList – показва информация за процесите на локален или отдалечен компютър.
6. PsKill – „убива” процеси на локална или отдалечена система по име или Process ID (PID).
7. PsLoggedOn – показа кой потребител е влезнал локално в системата или отдалечено.
8. PsLogList – визуализира записи от Event Log на локален или отдалечен компютър.
9. PsPasswd – променя парола на акаунт, регистриран на локална или отдалечена система.
10. PsService – визуализира и управлява услугите на локален или отдалечен компютър.
11. PsShutdown – позволява ви да изгасите, рестартирате, заключите локален или отдалечен компютър.
12. PsSuspend– временно прекратява „активността” на нишките в даден процес, като освобождава заетите системни ресурси. За разлика от Pskill след време можете да подновите процеса, както е бил преди използването на PsSuspend.

Как се използват инструментите от пакета PsTools?

За да стартирате инструмент от пакета PsTools, направете следното:
1. Отворете Command Promt - Start-->RUN-->„cmd”.
2. Влезте в папката, в която се намират инструментите от архива PsTools.
3. За да получите информация как се използва даден инструмент въведете „psинструмент /?”. Пример „psexec /?”.




PsExec

PsExec ви позволява да изпълнявате процеси както на локална така и на отдалечена система. За разлика от приложения за отдалечен контрол като TightVNC, Remote Administrator, PC Anywhere и др. тук не се налага да се инсталира клиент и сървър на системите. Всичко се извършва през командния ред.
По-важните възможности са.
„Psexec \\отдалечено_pc” – Стартира дадения процес на отдалечена система.
Пример: „psexec \\pc2 cmd” – PsExec ще стартира Command Prompt на компютъра PC2 в мрежата.

„Psexec –s” – Стартира дадения процес на локална или отдалечена система под системния акаунт (System account). Например това е полезно, ако искате да имате достъп до защитени файлове и папки, като System Volume Information (папката, в която System Restore функцията на Windows XP съхранява информация за системата).

http://pics.softvisia.com/design/pics/5453/cmdsysaccpf2.png

Интересно приложение на стартирането под системния акаунт е възможността да стартирате инструменти за диагностика на системата при влизане / излизане на потребител. Например инструмент, който записва I/O или активност на регистъра. На картинката по-долу се вижда такъв пример.

http://pics.softvisia.com/design/pics/5453/filemonsysaccounthj7.png

„Psexec –i “ – Стартира програмата, така че да се визуализира на екрана на отдалечена система.

„PsExec - priority“ – Задава приоритет на нишките в процеса. Възможните стойности са: -low, -belownormal, -abovenormal, -high или –realtime.


PsList

http://pics.softvisia.com/design/pics/5453/psliststandartfw1.png

PsList e инструмент, който ви показва информация за процесите на локална или отдалечена система. Стандартно Pslist визуализира информация за това как текущите процеси използват ресурсите на процесора и какво количество памет използва всеки един от тях. Колонките, които се показват по-подразбиране показват следните неща:
Name – Името на процеса.
Pid – Идентификатор на процеса.
Pri – Приоритета на дадения процес.
Thd – Броя на нишките.
Hnd – Броят на манипулаторите на обекти, които се използват от дадения процес.
Priv – Количеството виртуална памет, което процеса използва.
CPU Time – Общото процесорно време, използвано от процеса от момента на неговото стартиране.
Elapsed Time – Показва колко време е изминало от момента на стартиране на дадения процес.
Подразбиращата се конфигурация може да се смени, чрез добавянето на ключове. По-полезните от тях са:

„Pslist –m” - Показва информация за това как процесите използват паметта на системата.

http://pics.softvisia.com/design/pics/5453/pslistmvh4.png

По-важните колони са:
WS (Working Set) – Количеството физическа памет (RAM), което дадения процес използва. Тази колонка е аналог на колоната Мem Usage в Task Manager.
Priv (Private Bytes) – Количеството виртуална частна памет, което процеса използва. Този брояч е особено полезен при търсенето на Memory leaks. Аналог на този брояч е колонката Virtual Memory Size в Task Manager.
Priv PK (Private Bytes Peak) – Максималното количество виртуална памет, изразходвано от дадения процес от момента на неговото стартиране.

„Pslist –x” – Показва информация за процесора, паметта и нишки за всеки процес в отделна област.

http://pics.softvisia.com/design/pics/5453/pslistxop2.png

„Pslist –d” – Pslist показва статистика за всички активни нишки, групирани по-процеси. Информацията включва и статуса на нишката, броя на контекстните превключвания, времето, което е прекарала в потребителски режим (User Mode) и времето прекарано в режим ядро (Kernel Mode).
:computer: Контекстните превключвания (Cswtch) показват колко пъти нишката е била селектирана за изпълнение.

http://pics.softvisia.com/design/pics/5453/pslistdso1.png

„Pslist –t” – Показва дървовиден изглед на процесите.

http://pics.softvisia.com/design/pics/5453/pslisttzt3.png

„Pslist – s” – Активира режим, при който данните се актуализират постоянно, както при Task Manager.


PSSuspend

http://pics.softvisia.com/design/pics/5453/psuspendryp2.png

PSSuspend използва Suspend/ResumeThread API, който ви позволява да прекратяване или възобновявате изпълнението на нишки. Това е полезно, ако желаете да освободите системни ресурси без да убивате процес. Например: Стартирали сте програма, която натоварва процесора ви на 100%, но се налага да стартирате друго тежко приложение. Процесора е натоварен на 100% работата с Windows и приложенията няма да е много комфортна.
При такъв случай Pssuspend може да ви помогне. Стартирате Pssuspend, като указвате името на процеса, който да бъде временно прекратен. Когато сте готови указвате на Pssuspend да продължи изпълнението на избрания от вас процес.
Начина на използване е следния:
1. За да прекратите даден процес – „Pssuspend име_на_процес”. Пример: „pssuspend orthos.exe”.
2. За да „активирате” отново процеса – „Pssuspend –r име_на_процес”. Пример: „Pssuspend –r orthos.exe”.
Suspend функцията „освобождава” процесора, мрежовата и I/O активност.

http://pics.softvisia.com/design/pics/5453/pssuspendoc3.png

Функцията Suspend е налична и при инструмента Process Explorer (http://softvisia.com/download.php?view.274). Когато кликнете с дясното копче на мишката върху процес, на екрана се визуализира контекстно зависимо меню, което ви осигурява достъп до функцията Suspend.

http://pics.softvisia.com/design/pics/5453/pesuspendmw0.png

Предимството на PsSuspend е, че можете да използвате тази функция на отдалечена система.

CucAgMuH
07-04-2009, 21:51
Статията е копирана от http://forums.softvisia.com/index.php?showtopic=5453 :)

[!Дяволски Чекрък! Version 9.11.27]
[1670 SQL Queries Processed/1 match/0.37 seconds wasted here]