Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows

Модерирует : KLASS, IFkO

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

iNNOKENTIY21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
<#
.SYNOPSIS
Получение для процесса сведений по памяти: Рабочий набор (частный)
.DESCRIPTION
Получение для указанного процесса данных с счётчика:
\Процесс(*)\Рабочий набор (частный)
.PARAMETER ProcessName
Имя процесса. По умолчанию 'svchost'
.INPUTS
Необязательно. [string] имя процесса, если по конвейеру, то можно массив имён
процессов или вывод другой команды с именами процессов
.OUTPUTS
[PSCustomObject] объект с полями Name, Count, WS (private) MB
.NOTES
Автор:          iNNOKENTIY21
.EXAMPLE
.\Get-PrivateWorkingSetProccess.ps1 -ProcessName 'RuntimeBroker'
Получить данные Рабочий набор (частный) для процесса 'RuntimeBroker'
.EXAMPLE
'firefox', 'code' | .\Get-PrivateWorkingSetProccess.ps1
Получить данные Рабочий набор (частный) для процессов 'firefox' и 'code'
.EXAMPLE
(Get-Process).Name | Select-Object -Unique | .\Get-PrivateWorkingSetByProcess.ps1 | Sort-Object 'WS (private) MB'
Получить данные Рабочий набор (частный) для всех процессов
#>
 
 
param (
    # Имя процесса
    [Parameter(ValueFromPipeline)]
    [string]
    $ProcessName = 'svchost'
)
 
begin {
    $Param = @{
        Counter        = '\Процесс(*)\Рабочий набор (частный)'
        ErrorAction    = 'SilentlyContinue'
        SampleInterval = 1
        MaxSamples     = 1
    }
 
    $CounterSamples = (Get-Counter @Param).CounterSamples
}
 
process {
    $ProcSamples = $CounterSamples | Where-Object InstanceName -eq $ProcessName
    $Measure = $ProcSamples | Measure-Object -Sum -Property CookedValue
 
    [PSCustomObject] @{
        Name              = $ProcessName
        Count             = $Measure.Count
        'WS (private) MB' = [math]::Round(($Measure.Sum / 1mb), 3)
    }
}

Всего записей: 3521 | Зарегистр. 16-08-2012 | Отправлено: 06:55 24-12-2019 | Исправлено: iNNOKENTIY21, 07:50 24-12-2019
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Сценарии для Windows


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru