Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Как получить данные о системном кэше?

Ответить
Настройки темы
PowerShell - [решено] Как получить данные о системном кэше?

Новый участник


Сообщения: 2
Благодарности: 0

Профиль | Отправить PM | Цитировать


Суть такая: нужно получить состояние системного кэша из-под ограниченной учетки. Заранее спасибо!

Отправлено: 12:25, 31-05-2015

 

Забанен


Сообщения: 793
Благодарности: 260

Профиль | Цитировать


Было дело, такая же задача подворачивалась.
Код: Выделить весь код
function Get-SystemFileCache {
  $SYSTEM_INFO = ($o = [Object].Assembly.GetType(
    'Microsoft.Win32.Win32Native'
  )).GetNestedType(
    'SYSTEM_INFO', [Reflection.BindingFlags]36
  ).InvokeMember(
    $null, [Reflection.BindingFlags]512, $null, $null, $null
  )

  $o.GetMethod(
    'GetSystemInfo', [Reflection.BindingFlags]40
  ).Invoke($null, ($si = [Object[]]@($SYSTEM_INFO)))

  $PageSize = $si[0].GetType().GetField(
    'dwPageSize', [Reflection.BindingFlags]36
  ).GetValue($si[0])

  $ptr = [Runtime.InteropServices.Marshal]::AllocHGlobal(36)
  if ([Regex].Assembly.GetType(
    'Microsoft.Win32.NativeMethods'
  ).GetMethod(
    'NtQuerySystemInformation'
  ).Invoke($null, @(21, $ptr, 36, 0)) -eq 0) {
    New-Object PSObject -Property @{
      CurrentSize = [Runtime.InteropServices.Marshal]::ReadInt32($ptr) / 1KB
      PeakSize = [Runtime.InteropServices.Marshal]::ReadInt32($ptr, 4) / 1KB
      MaximumWS = [Runtime.InteropServices.Marshal]::ReadInt32($ptr, 16) * $PageSize / 1KB
      MinimumWS = [Runtime.InteropServices.Marshal]::ReadInt32($ptr, 12) * $PageSize / 1KB
    } | Format-List
  }
  [Runtime.InteropServices.Marshal]::FreeHGlobal($ptr)
}
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:17, 31-05-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Как получить данные о системном кэше?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Получить данные о часовом поясе Dreamer_UFA Скриптовые языки администрирования Windows 2 17-10-2014 09:19
[решено] Как получить данные из элемента ThunderRT6TextBox в ini-файл aktivizion AutoIt 15 12-03-2010 17:57
[решено] Как получить данные в скрипт из командной строки? madmasles AutoIt 2 27-11-2009 15:50
Разное - *SQL* | Как получить данные HTTP->SQL pva Программирование и базы данных 4 11-09-2009 21:49
Как получить данные из xml-файла? ptt Программирование и базы данных 1 14-10-2004 09:45




 
Переход