Как узнать количество оперативной памяти powershell


Получение данных в Powershell по оперативной памяти и CPU

Для получение информации о компьютере в Powershell, такой как CPU или температуре процессора есть два варианта. Первый способ вернет нам ограниченные данные по компьютеру, а второй, через WMI, вернет практически все, что есть в системе.

В первом варианту у нас отобразится большинство данных например таких, как процессор и оперативная память:

 Get-ComputerInfo

Минус командлета в том, что он долго выполняется и имеет очень большой вывод. Мы можем отфильтровать свойства таким способом:

 Get-ComputerInfo -Property *proc*,*mem*

Так я получил информацию по CPU в powershell и оперативной памяти.

Второй вариант это через WMI. О том как работать с wmi в powershell уже рассказывали, поэтому разбирать все в деталях не будем.

 

Получение информации об оперативной памяти в Powershell

Узнать информацию о памяти можно через отдельный класс "Win32_PhysicalMemory". Выполнив запрос к этому классу мы можем получить данные по серийному номеру, количестве планок, объем, частотность и многое другое. Запрос выполняется так:

 Get-WmiObject -Class "Win32_PhysicalMemory"

Так как информации много мы захотим ее отфильтровать, а объем преобразовать в гигабайты. Я выбрал в качестве свойства PurtNumber, но их может быть сколько угодно из колонки слева ( на рисунке выше):

 Get-WmiObject Win32_PhysicalMemory | fl PartNumber,@{Label="Capacity"; Expression={$_.Capacity / 1GB}}

Может мы хотим объединить все данные в один пункт, суммировав объем памяти. Это делается так:

 Get-WmiObject Win32_PhysicalMemory | Measure-Object -Property capacity -Sum | Foreach {"{0:N2}" -f ([math]::round(($_.Sum / 1GB),2))}

 

Получение данных по CPU в Powershell

Информацию по процессорам мы можем получить используя класс "Win32_Processor":

 Get-WmiObject -Class Win32_Processor | select *

Если мы хотим получить в powershell температуру процессора то нужно использовать другой класс "MSAcpi_ThermalZoneTemperature":

 Get-WmiObject -Class MSAcpi_ThermalZoneTemperature -Namespace "root/wmi"

Так как результат отображается в Kelvin * 10 нам нужно преобразовать это в температуру по цельсию. Один из вариантов такой:

 function Get-Temperature {
 $t = Get-WmiObject MSAcpi_ThermalZoneTemperature -Namespace "root/wmi"
 $returntemp = @()
 
 foreach ($temp in $t.CurrentTemperature)
 {
 $cuTempKelvin = $temp / 10
 $cuTempCelsius = $cuTempKelvin - 273.15
 $returntemp += $cuTempCelsius.ToString() + " C "
 }
 return $returntemp
 }
 
 Get-Temperature

Можно в powershell узнать температуру процессора и так:

 $result = Get-WmiObject MSAcpi_ThermalZoneTemperature -Namespace "root/wmi" | select CurrentTemperature
 $result | fl @{Label="Цельсий"; Expression={$_.CurrentTemperature / 10 - 273.15}}

 

Получение информации по материнской плате в Powershell

За материнскую плату отвечает класс "Win32_BaseBoard". Так мы выедем всю возможную информацию:

 Get-WmiObject -Class "Win32_BaseBoard"

 

...

Теги: #powershell

Как получить общий размер физической памяти с помощью PowerShell без WMI?

Я хотел бы отметить это для людей, ссылающихся в будущем.

Я хотел избежать WMI, потому что он использует протокол DCOM, требующий, чтобы удаленный компьютер имел необходимые разрешения, которые могут быть установлены только вручную на этом удаленном компьютере.

Итак, я хотел избежать использования WMI, но использование get-counter часто не имело нужного мне счетчика производительности.

решение, которое я использовал, было общей информационной моделью (CIM). В отличие от WMI, По умолчанию CIM не использует DCOM. Вместо возврата объектов WMI командлеты CIM возвращают объекты PowerShell.

CIM использует протокол Ws-MAN по умолчанию, но он работает только с компьютерами, имеющими доступ к Ws-Man 3.0 или более поздней версии. Таким образом, более ранние версии PowerShell не смогут выдавать командлеты CIM.

командлет, который я использовал для получения общего объема физической памяти, был:

get-ciminstance -class "cim_physicalmemory" | % {$_.Capacity} 

Как я могу использовать PowerShell для получения информации об оперативной памяти / памяти нескольки

Решение

Это модифицированная версия вашего скрипта для получения запрошенного вами результата.

#For more types https://msdn.microsoft.com/en-us/library/aa394347(v=vs.85).aspx $memtype = @{ 0 = 'Unknown' 1 = 'Other' 2 = 'DRAM' 20 = 'DDR' 21 = 'DDR-2' 22= 'DDR2 FB-DIMM' 24 = 'DDR3' 25 = 'FBD2' } $Result = @() $servers = Get-Content D:\123.txt Foreach ($s in $servers) { $Motherboard = (Get-WmiObject win32_baseboard -ComputerName $s -ErrorAction SilentlyContinue).product $colRAM = Get-WmiObject -Class "win32_PhysicalMemory" -namespace "root\CIMV2" -computerName $s $TotMemPopulated = 0 $SlotsFilled = 0 $colRAM | ForEach-Object { $SlotsFilled = $SlotsFilled + 1 $TotMemPopulated = $TotMemPopulated + ($_.Capacity / 1GB) $Props =[ordered]@{ Name = $s TotalRam = "$TotMemPopulated`gb" Type = $memtype[[int]$_.MemoryType] MotherBoard = $Motherboard } $Object = New-Object -TypeName PSCustomObject -Property $Props } $Result += $Object } $Result | Export-CSV RamReport.csv 

Объяснение:

$memtypeэто хеш-таблица, которая преобразует числовое MemoryTypeчисло из win32_PhysicalMemoryкласса WMI в понятное имя. Вам может понадобиться добавить дополнительные ссылки на эту хеш-таблицу в зависимости от разнообразия оперативной памяти в вашей среде (я предоставил ссылку на ссылки с числовым кодом).

$result определяется как пустой массив, который используется в сценарии для сопоставления результатов с объектом.

Сценарий создает объект $objectс использованием хеш-таблицы свойств, которые вы хотите сопоставить, а затем добавляет каждый объект в коллекцию $ result. Это упорядоченная хеш-таблица, поэтому мы соблюдаем порядок столбцов, который вы запросили в окончательном выводе.

Наконец мы экспортируем $resultв CSV используя Export-CSV.

Автор: Mark Wragg Размещён: 29.03.2017 11:17

Как определить объем оперативной памяти на вашем компьютере

Есть среди нас пользователи, которых мучает один конкретный вопрос. Хочется им узнать, каков объем оперативной памяти на собственном компьютере. Это нужно им для того, чтобы выполнить апгрейд своего персонального компьютера.

Нарастить общий объем памяти действительно может понадобиться в любую минуту. А перед этим сперва нужно установить, какая оперативка уже есть на устройстве. Если это знаешь, то будешь иметь представление о том, каковы характеристики RAM компьютера.

RAM, или Random Access Memory, — это и есть оперативная память. Таков один из важнейших компонентом аппаратного обеспечения устройства. Ведь он оказывает существенное влияние на производительность ПК.

Для того чтобы компьютер комфортно работал, у него должен быть достаточный объем оперативной памяти. В том случае, когда ее на устройстве маловато, то оперативку необходимо добавить либо заменить на большую по объему.

ВАЖНО! Для того чтобы модернизировать и усилить аппаратную часть ПК, в том числе увеличить размер оперативной памяти, необходимо, прежде всего, определить общие характеристики RAM, которая уже имеется на вашем устройстве.

Есть необходимость узнать такие характеристики:

- какой объем оперативной памяти,
- сколько имеется слотов оперативной памяти,
- какая частота оперативной памяти?

Есть другие технические характеристики, о которых нужно знать.

Зачем нужно знать текущий объем памяти

Первым делом необходимо установить, каков общий объем оперативной памяти на ПК в конкретный момент времени. В зависимости от того, какой информацией ты будешь обладать, будут определены остальные действия в том, как выбирать память.

Нередко пользователи идут по пути добавления дополнительных планок (модулей) памяти (если, конечно, предоставляется такая возможность) для того, чтобы увеличить объем RAM. Вот почему необходимо предварительно установить, сколько всего слотов оперативной памяти на вашем устройстве, имеются ли свободные слоты (разъемы, гнезда)?

Дополнительные модули памяти можно вставить в свободные слоты. Если пренебречь этим, то появится необходимость производить замену планок меньшего объема на модули памяти увеличенного объема.

Скажем, когда на персональном компьютере стоит пара планок по 2 ГБ, и они действуют в двухканальном режиме, а у пользователя появилось желание нарастить общий объем оперативки с 4 ГБ до 8 ГБ, то большое значение приобретает существование свободных гнезд (разъемов) для того, чтобы установить дополнительные RAM-модули.

Когда на компьютере отсутствуют свободные гнезда, то пользователю приходится просто производить замену уже имеющихся модулей памяти на пару планок по 4 ГБ. Они будут работать также в двухканальном режиме. Или возможна замена на единственный модуль в 8 ГБ, который действует в одноканальном режиме. Лучше, когда память используется в двухканальном режиме. Этот метод работы более производительный.

ВАЖНО! Получить полноценную информацию о том, каков объем памяти, можно, используя, например, собственные средства операционной системы. А более подробные данные о различных характеристиках установленных модулей памяти можно узнать, используя стороннее программное обеспечение.

Также, каждому, у кого есть ноутбук или ПК, под силу узнать базовые параметры оперативной памяти на официальном сайте производителя. Для этого нужно только ориентироваться по описанию модели устройства, если информация о ней приводится на веб-сайте. Можно узнать объем оперативки и в BIOS (UEFI).

Рассмотрим различные варианты получения информации.

При помощи msinfo32

У каждого есть возможность оперативно получить сведения о том, каков объем оперативки на устройствах с операционными системами Windows 10, Windows 8.1, Windows 8, Windows 7. Для этого ему нужно использовать встроенное системное средство «msinfo32» («Сведения о системе»).

Порядок действий таков:

- Заходим в меню «Пуск».
- В списке программ находим папку «Средства администрирования Windows» (в Windows 7 — это папка «Служебные»).
- Производим запуск утилиты «Сведения о системе».
- В окне «Сведения о системе» в разделе «Установленная оперативная память» для вас будет показан общий объем памяти устройства.

Как узнать при помощи командной строки

Имеется альтернативный метод, чтобы получить такие сведения. Просто в командной строке ОС Windows необходимо выполнить команду «systeminfo».

Порядок действий таков:

- Запускаем командную строку от имени администратора.
- В окне интерпретатора командной строки вводим «systeminfo» (но без кавычек). Потом нажимаем на «Enter».
- В окне командной строки вы обнаружите необходимые данные об оперативной памяти данного устройства.
- В том числе в разделе «Полный объем физической памяти» появится размер оперативки, которая есть на этом компьютере.

Как узнать в Windows PowerShell

Есть возможность получить сведения о памяти персонального компьютера в Windows PowerShell, если выполнишь подобную команду.

Порядок действий таков:

- От имени администратора запускаем Windows PowerShell.
- Выполняем команду «systeminfo» (тоже без кавычек).
- После этого изучаем данные об оперативной памяти данного девайса.

Как узнать в ОС Windows 10

ОС Windows 10 даже «чайнику» в компьютерах предоставляет возможность узнать размер памяти, а также сколько задействовано слотов без применения сторонних программ.

Для того чтобы найти данные о памяти RAM, нужно сделать следующее:

- Делаем щелчок правой кнопкой манипулятора по «Панели задач».
- В контекстном меню находим «Диспетчер задач».
- В окошке «Диспетчер задач» открываем вкладку «Производительность», выделяем опцию «Память».

Именно тут сосредоточены сведения об оперативной памяти: общий объем (допустим — 8,0 ГБ) и тип (например, DDR3), как и иные характеристики. Скажем, использование количества гнезд (допустим, 2 из 4).

Когда данные характеристики известны пользователю, можно еще добавить еще пару модулей памяти на ПК.

Как узнать при помощи CPU-Z

Бесплатная программа CPU-Z также позволит вам раздобыть сведения о RAM компьютера. Работа программы CPU-Z осуществляется на английском языке.

Данная программа демонстрирует параметры центрального процессора, материнской платы, оперативки, видеокарты либо характеристики встроенной графики. После того как запускаем CPU-Z на ПК, в окошке «CPU-Z» открываем вкладку «Memory».

Тут отображены основные данные оперативной памяти:

1. Type — тип памяти: DDR, DDR2, DDR3, DDR
2. Size — объем памяти, который измеряется в гигабайтах.
3. Channel — режим функционирования памяти (Dual — двухканальный, Single — одноканальный).
4. NB Frequency — частота контроллера памяти.
5. Timing — тайминги памяти.
6. В DRAM Frequency приводится актуальная частота памяти.

Во вкладке «SPD» есть данные о параметрах модулей оперативной памяти, которые находятся в отдельных слотах. Нужно лишь выбрать слот для того, чтобы получать необходимые данные. Слотов столько, сколько гнезд на материнской плате ПК, и потому пустые разъемы не служат для отображения информации.

ВАЖНО! Тут сосредоточены самые разные данные: тип памяти, изготовитель, номер изделия, объем памяти, время ее выпуска, тип применения, таблица таймингов, напряжение в вольтах.

Как узнать при помощи Speccy

С помощью бесплатной программы Speccy можно получить сведения об аппаратном обеспечении компьютера. Приложение на русском языке.

Порядок действий таков:

- Запускаем программу Speccy. В окошке приложения нажимаем на раздел «Оперативная память».

- В левой части окошка программы появится информация об оперативной памяти компьютера. Таковыми являются тип, объем, количество каналов, частота DRAM, прочие характеристики.

ВАЖНО! Для того чтобы получить сведения данных про каждый модуль памяти, в разделе «SPD» нужно нажать на соответствующий разъем. Здесь сосредоточены данные о модуле памяти. Таковыми являются тип, объем, изготовитель, пропускная способность, номер компонента, неделя и год выпуска, информация о таймингах.

Как правильно использовать AIDA64

Платная программа AIDA64, у которой большая мощность, предоставляет полную информацию о том, что представляет собой аппаратная составляющая компьютера. Программа AIDA64 осуществляет поддержку русского языка интерфейса.

Порядок действий таков:

- Производим запуск AIDA64 на компьютере.

- Открываем раздел «Память», что во вкладке «Меню», в разделе «Системная плата». В данном разделе приводятся основные данные об оперативной памяти вашего ПК.

- Для того чтобы иметь сведения о характеристиках отдельных модулей памяти, нужно войти в раздел «SPD».

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

ВАЖНО! Таковыми могут быть, например, имя модуля, серийный номер, дата изготовления, размер модуля, имя модуля, тип памяти, скорость памяти. А также ширина шины модуля (разрядность), напряжение, способ обнаружения ошибок, частота регенерации, производитель DRAM, тайминги памяти, функции модуля памяти.

Если появится необходимость, то ничто не мешает пользователю произвести замену модулей памяти на своем компьютере. Можно также сделать больше объем оперативной памяти, добавить новые планки памяти RAM.

Только предварительно узнайте, сколько памяти в настоящее время есть на компьютере, а также, какая именно оперативная память установлена сейчас на компьютере. Тогда можно будет подобрать модули оперативной памяти, которые подходят.

Узнать всю информацию об оперативной памяти в Windows7, 8, Windows 2008 Server и старше « Марк и Марта.Ру. Записки отца-программиста

Когда надо добавить оперативку на сервере или ноутбуке, про который уже все подзабыли, сначала необходимость узнать, сколько планок памяти уже установлено, есть ли свободные слоты, какая скорость установленной памяти. Для выполнения такой проверки есть два варианта: 1 – пойти, открыть сервер и посмотреть (ой как не всегда это можно сделать), 2 – для вменяемых пользователей и админов – набрать в консоли небольшой код и получить результат. Об этом подробнее.

Чтобы узнать всю информацию об оперативной памяти (сколько планок памяти уже установлено, есть ли свободные слоты, какая скорость установленной памяти, производитель памяти, даже серийный номер), которая установлена на сервере или на любом компьютере (даже ноутбуке) под операционной системой Windows (7, 8, Server 2008 и старше), нужно запустить PowerShell  и ввести команду:

Get-WmiObject Win32_PhysicalMemory

 

 

Рис.1. Нечитабельная информация об оперативной памяти

Результат будет не очень читабельный (Рис.1), но зато у нас будет самая полная информация об установленной памяти и, что довольно важно, список полей (свойств) оперативной памяти, зная которые мы сделаем результаты запроса более удобочитабельными (Рис2).

 Get-WmiObject Win32_PhysicalMemory | select BankLabel,DeviceLocator,Capacity,Manufacturer,PartNumber,SerialNumber,TotalWidth,Speed

 

 

Рис.2. Читабельный формат информации об оперативной памяти


Узнаем какая оперативная память установлена на компьютере.: spayte — LiveJournal

Некоторые пользователи задаются вопросом о том, как узнать сколько оперативной памяти стоит на компьютере для того, чтобы провести апгрейд своего ПК: увеличить общий объем памяти. Сначала необходимо узнать какая оперативная память стоит на устройстве, чтобы иметь представление о характеристиках RAM (оперативной памяти) компьютера.

Оперативная память (RAM, Random Access Memory) — важный компонент аппаратного обеспечения компьютера, влияющий на производительность устройства. Для комфортной работы, компьютере должен иметь достаточный объем оперативной памяти. Если оперативной памяти не хватает на ПК, памяти нужно добавить или заменить.

Для выполнения модернизации аппаратной части компьютера, в частности увеличения размера оперативной памяти, потребуется выяснить общие характеристики RAM, установленной на вашем устройстве. ">Необходимо узнать следующие параметры: какой объем оперативной памяти, сколько слотов оперативной памяти имеется, какая частота оперативной памяти и некоторые другие технические характеристики (тайминги и т. д.).

Сначала нужно узнать сколько всего оперативной памяти имеется на компьютере в данный момент времени. От этой информации зависят остальные действия по выбору памяти.

Часто пользователи добавляют дополнительные планки (модули) памяти, если есть такая возможность, для увеличения объема RAM. Поэтому предварительно нужно узнать количество слотов оперативной памяти на компьютере, есть ли свободные слоты (разъемы, гнезда).

В свободные слоты можно вставить дополнительные модули памяти. В противном случае, придется менять планки памяти меньшего объема на модули памяти большего объема.

Например, если на ПК установлены две планки памяти по 2 ГБ, работающие в двухканальном режиме, а пользователь хочет увеличить общий объем оперативной памяти с 4 ГБ до 8 ГБ, то имеет большое значение наличие свободных гнезд (разъемов) для установки RAM модулей.

Если на компьютере нет свободных слотов, то пользователю придется заменить установленные модули памяти на две планки по 4 ГБ, которые будут работать в двухканальном режиме или на один модуль в 8 ГБ, работающий в одноканальном режиме. Желательно использовать память в двухканальном режиме, это более производительный способ работы.

В этом руководстве находятся инструкции: как узнать сколько оперативной памяти на компьютере, а также, как узнать какая оперативная память стоит на компьютере. Получить общие сведения об объеме памяти можно с помощью средств операционной системы, а более детальные данные о технических характеристиках модулей памяти, мы узнаем с помощью стороннего программного обеспечения.

Владельцы ноутбуков могут узнать основные характеристики оперативной памяти на официальном сайте производителя, ориентируясь по описанию модели устройства (ноутбука), если такая информация имеется на веб-сайте. . Есть возможность узнать объем оперативной памяти в BIOS (UEFI).

Как узнать сколько оперативной памяти на компьютере при помощи msinfo32

Пользователь может быстро получить данные об объеме оперативной памяти в операционных системах Windows 10, Windows 8.1, Windows 8, Windows 7, с помощью встроенного системного средства «msinfo32» («Сведения о системе»).

Выполните следующие действия:

  1. Войдите в меню «Пуск».
  2. В списке программ найдите папку «Средства администрирования Windows» (в Windows 7 — «Служебные»).
  3. Запустите утилиту «Сведения о системе».
  4. В окне «Сведения о системе», в пункте «Установленная оперативная память» вы увидите общий объем памяти вашего компьютера.

Как узнать сколько памяти на ноутбуке или стационарном ПК в командной строке

Для получения сведений можно воспользоваться альтернативным способом: выполнить команду «systeminfo» в командной строке Windows.

Пройдите шаги:

  1. Запустите командную строку от имени администратора.
  2. В окне интерпретатора командной строки введите команду «systeminfo» (без кавычек), а затем нажмите на клавишу «Enter».
  3. В окне командной строки вы увидите информацию об оперативной памяти этого компьютера.

В пункте «Полный объем физической памяти» указан размер оперативной памяти, имеющийся на данном компьютере.

Узнаем какой размер оперативной памяти в Windows PowerShell

В Windows PowerShell можно получить данные о памяти ПК, выполнив аналогичную команду.

Проделайте следующее:

  1. Запустите Windows PowerShell от имени администратора.
  2. Выполните команду «systeminfo» (без кавычек).
  3. Ознакомьтесь с информацией об оперативной памяти этого устройства.

Как узнать сколько памяти Windows 10

В операционной системе Windows 10 можно узнать размер памяти и количество задействованных слотов без использования сторонних программ.

Для получения сведений о памяти RAM, выполните следующее:

  1. Щелкните правой кнопкой мыши по «Панели задач».
  2. В контекстном меню выберите «Диспетчер задач».
  3. В окне «Диспетчер задач» откройте вкладку «Производительность», выделите опцию «Память».

Здесь находятся сведения об оперативной памяти: общий объем (у меня — 8,0 ГБ), тип (в моем случае — DDR3), а также другие характеристики, в частности, использование количества гнезд (на моем компьютере — 2 из 4).

Зная эти характеристики, я могу дополнительно добавить еще два модуля памяти на свой компьютер.

Как узнать какая оперативная память стоит на ПК в CPU-Z

С помощью бесплатной программы CPU-Z можно получить данные об RAM памяти компьютера. Программа CPU-Z работает на английском языке.

Приложение показывает характеристики центрального процессора, материнской платы, оперативной памяти, видеокарты или параметры встроенной графики.

  1. Запустите программу CPU-Z на компьютере.
  2. В окне «CPU-Z» откройте вкладку «Memory».

Здесь отображены основные сведения об оперативной памяти:

  • Type — тип памяти: DDR, DDR2, DDR3, DDR
  • Size — размер памяти в гигабайтах.
  • Channel — режим работы памяти: Dual — двухканальный, Single — одноканальный.
  • NB Frequency — частота контроллера памяти.
  • Timing — тайминги памяти, в пункте «DRAM Frequency» указана актуальная частота памяти.

Во вкладке «SPD» находится информация о характеристиках модулей оперативной памяти, находящихся в отдельных слотах. Необходимо выбрать слот для получения нужных данных. Количество слотов соответствует количеству гнезд на материнской плате компьютера, пустые разъемы не будут отображать информацию.

Вам также может быть интересно:

Здесь находятся различные сведения: тип памяти, производитель, номер модели, объем памяти, время выпуска изделия, тип использования, таблица таймингов, напряжение в вольтах.

Как узнать какая оперативная память на компьютере в Speccy

Бесплатная программа Speccy предоставляет данные об аппаратном обеспечении компьютера. Приложение работает на русском языке.

Выполните следующие шаги:

  1. Запустите программу Speccy.
  2. В окне приложения нажмите на раздел «Оперативная память».
  3. В левой части окна программы отобразится информация об оперативной памяти компьютера: тип, объем, количество каналов, частота DRAM, другие характеристики.

Для получения данных о каждом модуле памяти, в разделе «SPD» нажмите на соответствующий разъем. Здесь собраны сведения о модуле памяти: тип, объем, изготовитель, пропускная способность, номер компонента, неделя и год выпуска, информация о таймингах.

Как определить какая оперативная память на ПК в AIDA64

Мощная программа AIDA64 (платная) предоставляет подробные сведения об аппаратной составляющей компьютера. Программа AIDA64 поддерживает русский язык интерфейса.

Пройдите следующие шаги:

  1. Запустите AIDA64 на компьютере.
  2. В во вкладке «Меню», в разделе «Системная плата» откройте раздел «Память».

В этом разделе отображаются основные сведения об оперативной памяти вашего компьютера.

Для получения информации о характеристиках отдельных модулей памяти, войдите в раздел «SPD».

После выделения модуля памяти, в окне программы отобразятся всевозможные сведения: имя модуля, серийный номер, дата выпуска, размер модуля, имя модуля, тип памяти, скорость памяти, ширина шины модуля (разрядность), напряжение, метод обнаружения ошибок, частота регенерации, производитель DRAM, тайминги памяти, функции модуля памяти.

Выводы статьи

В случае необходимости, пользователь может поменять модули памяти на своем компьютере, или увеличить объем оперативной памяти, добавлением новых планок памяти RAM. Предварительно необходимо узнать, сколько памяти сейчас имеется на компьютере, и какая именно оперативная память установлена в данный момент времени на ПК, чтобы подобрать подходящие модули оперативной памяти.

Использование PowerShell для определения степени фрагментации жесткого диска

Сводка : узнайте, как использовать Windows PowerShell для определения степени фрагментации жестких дисков.

Привет, сценарист! Одна из вещей, которая меня раздражает, это то, что «новая» программа дефрагментации в Windows 7 не возвращает никакой информации. Я думаю, с точки зрения пользователя, это нормально - и он работает как служба, и это нормально. Но мне понравилось смотреть отчеты. Возможно, во мне виноват компьютерщик.Может ли Windows PowerShell что-нибудь с этим сделать?

—NB

Здравствуйте, NB,

Microsoft Scripting Guy, Эд Уилсон, здесь. Вы не поверите, но здесь, в Шарлотте, Северная Каролина, стало холодно. Сейчас прекрасный солнечный день, но температура не поднималась выше 48 градусов по Фаренгейту (8 градусов по Цельсию, согласно моему модулю преобразования Windows PowerShell).

Начиная с Windows Vista, программа дефрагментации запускается как запланированная задача.Эта задача отображается в служебной программе планировщика заданий, как показано на следующем изображении.

Я вручную отредактировал командную строку запланированной задачи, потому что у меня есть твердотельный накопитель (SSD) - диск C, и я не хотел, чтобы программа дефрагментации работала на этом диске. Чтобы обеспечить это, я изменил переключатели, чтобы программа выполняла дефрагментацию только моего диска E.

При запуске дефрагментации (анализ или фактический сеанс дефрагментации) в журнал приложений записывается событие.Как видно на следующем изображении, информация не слишком яркая.

Здесь в игру вступает наше понимание методов WMI. Это также подтверждает ценность отчета, который я подготовил на прошлой неделе, о внедренных методах WMI.

«Какое отношение все это имеет к WMI и методам?» вы можете спросить.

Я вам скажу… класс Win32_Volume WMI (впервые доступный в Windows Server 2003, но не доступный в Windows XP) содержит метод под названием DefragAnalysis.Замечательная особенность метода DefragAnalysis заключается в том, что он возвращает экземпляр WMI-класса Win32_DefragAnalysis. Это звучит немного сложно, а в VBScript на самом деле довольно сложно. Однако в Windows PowerShell это несложно!

Первое, что нам нужно сделать, это запустить Windows PowerShell от имени администратора. Щелкните правой кнопкой мыши значок Windows PowerShell и выберите Запуск от имени администратора в меню Tasks , как показано на следующем изображении.

Теперь, когда у нас есть консоль Windows PowerShell, работающая с правами администратора, я использую командлет Get-WmiObject для получения экземпляра класса Win32_Volume WMI, который представляет мой диск E. Я сохраняю возвращенный объект в Переменная $ drive . Затем я просто вызываю метод DefragAnalysis . Помните, что при вызове методов использование круглых скобок обязательно. Здесь показаны две команды и связанный с ними вывод.

PS C: \> $ drive = Get-WmiObject -Class Win32_Volume -Filter «DriveLetter =‘ e: '»

PS C: \> $ drive.DefragAnalysis ()

__GENUS: 2

__CLASS: __PARAMETERS

__SUPERCLASS:

__DYNASTY: __PARAMETERS

__RELPATH:

__PROPERTY_COUNT: 3

__DERIVATION: {}

__SERVER:

__NAMESPACE:

__PATH :

DefragAnalysis: System.Management.ManagementBaseObject

DefragRecommended: False

ReturnValue: 0

Возвращаемое значение 0 означает, что ошибок не было.Отлично, все копацетно. За исключением одной вопиющей проблемы - эта команда возвращает не больше информации, чем содержится в журнале событий.

Помните, я сказал, что этот метод возвращает экземпляр класса Win32_DefragAnalysis WMI? Да? Отлично. Теперь на выходе он показывает нам следующую строку.

DefragAnalysis: System.Management.ManagementBaseObject

Это говорит мне, что свойство DefragAnalysis содержит объект.Лучший способ получить этот объект - сохранить возвращенные объекты в переменной. Этот метод и связанный с ним вывод команды показан здесь.

PS C: \> $ drive = Get-WmiObject -Class Win32_Volume -Filter «DriveLetter = 'e:'»

PS C: \> $ report = $ drive.DefragAnalysis ()

PS C: \> $ report.DefragAnalysis

__GENUS: 1

__CLASS: Win32_DefragAnalysis

__SUPERCLASS:

__DYNASTY: Win32_DefragAnalysis

__RELPATH: Win32_DefragAnalysis

__PROPERTY_COUNT: 27

__DERIVATION: {}

__SERVER: MRED1

__NAMESPACE: ROOT \ cimv2

__PATH: \\ MRED1 \ ROOT \ cimv2: Win32_DefragAnalysis

AverageFileSize: 976

AverageFragmentsPerFile: 1

AverageFreeSpacePerExtent: 1822187520 9000

ExcessFolderFragments: 0

FilePercentFragmentation: 0

FragmentedFolders: 0

FreeSpace: 350030282752

FreeSpacePercent: 69

FreeSpacePercentFragmentation: 0

LargestFreeSpaceExtent: 349548830720

MFTPercentInUse: 100

MFTRecordCount: 39423

PageFileSize: 0

TotalExcessFragments: 2

TotalFiles: 37513

TotalFolders: 874

TotalFragmentedFiles: 2

TotalFreeSpaceExtents: 192

TotalMFTFragments: 2

TotalMFTS6000 Всего файлов: 403702

UsedSpac e: 150074404864

VolumeName:

VolumeSize: 500104687616

Как видно из этих выходных данных, метод DefragAnalysis возвращает очень полезную информацию.

Есть еще один способ вызова методов WMI, и я вам сейчас его покажу.

Командлет Windows PowerShell Invoke-WmiMethod используется для вызова методов WMI. Он принимает имя выполняемого метода, входной объект (или имя класса WMI) и любые аргументы, которые могут потребоваться. К сожалению, в отличие от командлета Set-WmiProperty, который я обсуждал вчера, командлет Invoke-WMiMethod использует для ввода массив (в отличие от хэш-таблицы, такой как Set-WmiProperty ).

Чтобы использовать командлет Invoke- WmiMethod , я сначала использую командлет Get-WmiObject для получения экземпляра класса WMI Win32_Volume , связанного с моим диском E. Затем я вызываю Invoke-WmiMethod для передачи входного объекта, который хранится в переменной $ drive , и я использую параметр name для вызова метода DefragAnalysis . Этот метод не требует аргументов. Здесь показаны команда и связанный с ней вывод.

PS C: \> $ drive = Get-WmiObject -Class Win32_Volume -Filter «DriveLetter = 'e:'»

PS C: \> Invoke-WmiMethod -InputObject $ drive -Name DefragAnalysis

EN

: 2

__CLASS: __PARAMETERS

__SUPERCLASS:

__DYNASTY: __PARAMETERS

__RELPATH:

__PROPERTY_COUNT: 3

__DERIVATION: {}

__SERVER:

__NAMESPACE:

__PATH:

DefragAnalysis: система.Management.ManagementBaseObject

DefragRecommended: False

ReturnValue: 0

NB, вы можете легко поместить предыдущие команды в файл .PS1 и создать из него сценарий. Если вам нравится отчет об анализе, созданный методом DefragAnalysis , вы можете даже перенаправить вывод в текстовый файл и использовать планировщик задач для регулярного выполнения сценария.

NB, это все, что нужно для использования метода DefragAnalysis и Windows PowerShell для определения уровня фрагментации жестких дисков.Присоединяйтесь ко мне завтра, когда у меня будет гостевой блог о Microsoft Exchange Server от приглашенного блоггера Николаса Бланка. Николас действительно классный, и статья отличная. Вы не захотите его пропустить.

Я приглашаю вас подписаться на меня в Twitter и Facebook. Если у вас есть какие-либо вопросы, отправьте мне электронное письмо по адресу [email protected] или разместите свои вопросы на официальном форуме Scripting Guys. До завтра. А пока мир.

Эд Уилсон, Microsoft Scripting Guy

.

Как мне узнать в PowerShell, нахожусь ли я на сервере или на рабочей станции?

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
.

Найдите команды PowerShell с помощью командлета Get-Command

Dr Scripto

Сводка : Microsoft Scripting Guy, Эд Уилсон, показывает, как использовать командлет Get-Command в Windows PowerShell для поиска различных команд.

Привет, сценарист! Вам все кажется таким простым. Вы хотите что-то найти с помощью Windows PowerShell и ba-da-bing, это есть. Но в чем секрет для тех из нас, кто не использовал Windows PowerShell до того, как она была выпущена? Я имею в виду, что использование Windows PowerShell не кажется сложным, но его так много.Каждый день кажется, что вы исполняете этот номер, и это как театр Windows PowerShell. Конечно, работает, но как вы вообще это обнаружили? Надеюсь, я ясно выражаюсь… Я даже не знаю, с чего начать.

—RS

Hello RS,

Разработчик сценариев Microsoft, Эд Уилсон, здесь. Сегодня день кажется поздним или ранним, в зависимости от точки зрения. Уже почти полдень, а солнце, кажется, не проснулось. Небо все серое, и мелкая морось дождя обеспечивает приятный глоток прохладной воды для наших выжженных деревьев и растений.Сегодня утром мы с женой-сценаристом пили чай на веранде, обсуждая Microsoft TechEd 2012 в Орландо.

«Вам нужно все спланировать», - сказала она. «TechEd будет здесь раньше, чем вы думаете».

«На самом деле, я думаю, что TechEd прибудет ровно в понедельник, 11 июня. Мы должны подготовить стенд Scripting Guys к полудню 10 июня. Тогда же мы увидим Дэниела Круза, который помогает на стенде. . Мы также можем увидеть Рона Эдвардса и Лидо Палья, победителей Скриптовых игр 2012 года, - сказал я.

«Это будет очень весело, - ответила она, - а вечеринка TechEd будет проходить в тематическом парке Universal Islands of Adventure. Как это круто?"

«Это правда, но я действительно с нетерпением жду встречи с людьми и новых друзей. Для меня TechEd - это сетевые возможности ».

«Итак, говоря о работе в сети, - начала она, - как у вас дела с созданием гостевого расписания Scripting Guys?»

«Ну, пока у меня есть Марк Минаси, Дон Джонс, Джеффри Хикс, Джеффри Сновер и еще несколько человек, которые должны появиться в качестве гостей на стенде Scripting Guys.У меня также есть подтверждение от пресс-службы O’Reilly на мою автограф-сессию на их стенде ».

«Так ты откроешь мне секрет? Или ты собираешься держать все при себе? » спросила она.

«Ну, пока я сохраню это при себе», - сказал я с улыбкой.

«Ну, а пока я иду с друзьями, - сказала она с улыбкой, - я думаю, мы собираемся проверить тот новый магазин, который открылся рядом с межштатной автомагистралью».

И без лишних слов она ушла.

Итак, RS, я решил подняться наверх, чтобы проверить электронное письмо, отправленное на адрес [email protected], и наткнулось на ваше письмо.

Note Завтра вечером, 16 мая 2012 г., в 21:30 по восточному поясному времени (-5 GMT), появляются два победителя Скриптовых игр 2012 года (Лидо Палья и Рон Эдвардс), Джеффри Сновер и я. Джонатан Уолц и Хэл Роттенберг о подкасте PowerScripting. Это мероприятие записывается в прямом эфире, и здесь есть чат, где вы можете поговорить с другими слушателями, а также задать вопросы гостям.Это будет очень весело, и вы не должны пропустить это, если это вообще возможно.

Простой способ найти командлеты Windows PowerShell

Первое, что нужно иметь в виду, это то, что в Windows PowerShell не все является командлетом. Существуют языковые операторы, функции, псевдонимы, различные объекты (из .NET Framework или COM) и даже другие исполняемые файлы, которые можно использовать из Windows PowerShell. В Windows 8 Consumer Preview это означает, что у вас есть около 1000 команд на выбор.В Windows 7 ситуация не такая уж сложная, но все же вам нужно знать, как найти то, что вам нужно.

В Windows 7 большая часть возможностей Windows PowerShell обеспечивается WMI. (На самом деле это верно и для Windows 8 Consumer Preview, но классы WMI доступны более непосредственно.) Для получения информации о поиске и работе с WMI см. Этот сборник Hey, Scripting Guy! Блоги.

Примечание Во вчерашнем блоге «Откройте для себя простой способ начать изучение Windows PowerShell» , я говорил об изучении шаблона именования глагол-существительное в Windows PowerShell как способе лучше понять охват Windows PowerShell.Этот метод также поможет найти командлеты Windows PowerShell.

Два командлета необходимы для обнаружения команд Windows PowerShell. Первый - это командлет Get-Command , а второй - командлет Get-Help . На первый взгляд, командлет Get-Command может показаться не таким уж полезным. Например, вы предоставляете ему имя командлета, и в основном то, что возвращается, - это имя командлета. Эта команда показана здесь.

Get-Command Get-Process

Команда и выходные данные, связанные с командой, иллюстрируют проблему . Выходные данные по умолчанию, похоже, не содержат намного больше информации, чем вы знали, когда вводили команду. Вы полагали, что это командлет, вы знали имя Get-Process , а определение не добавляет много дополнительной информации.

Но помните, что все в Windows PowerShell является объектом. Фактически, командлет Get-Command возвращает объект CmdletInfo . Это показано здесь.

PS C: \> Get-Command Get-Process | gm

Имя типа: System.Management.Automation.CmdletInfo

Имя MemberType Definition

—- ———-———-

Equals Method bool Equals (System.Object obj)

GetHashCode Method int GetHashCode () GetHashCode ()

9000 Method2 Method2 ()

ToString Строка метода ToString ()

CommandType Свойство System.Management.Automation.CommandTypes Comm…

DefaultParameterSet Свойство System.String DefaultParameterSet {get;}

Определение Свойство System.String Определение {get;}

Свойство HelpFile System.String HelpFile {get;}

ImplementingType Свойство System.Type {Get; }

Свойство модуля System.Management.Automation.PSModuleInfo Modu…

Система свойств ModuleName.String ModuleName {get;}

Имя Свойство System.String Name {get;}

Существительное Свойство System.String Существительное {get;}

Свойство OutputType System.Collections.ObjectModel.ReadOnlyCollect…

Свойство Параметры System.Collections. Generic.Dictionary`2 [[Система…

Свойство ParameterSets System.Collections.ObjectModel.ReadOnlyCollect…

Система свойств PSSnapIn.Management.Automation.PSSnapInInfo PSSn…

Свойство Verb System.String Verb {get;}

Свойство видимости System.Management.Automation.SessionStateEntry…

DLL ScriptProperty System.Object DLL {get = $ this.ImplementingType….

HelpUri ScriptProperty System.Object HelpUri {get = try…

Судя по членам объекта CmdletInfo , имеется много информации о командлете.Самый простой способ просмотреть эту информацию - направить выходные данные командлета Get-Command по конвейеру в командлет Format-List и использовать подстановочный знак для выбора всех доступных свойств. Команда показана здесь ( fl - это псевдоним для командлета Format-List ).

Get-Command Get-Process | fl *

Команда и выходные данные, связанные с командой, показаны на следующем изображении.

У вчерашнего Привет, сценарист! Блог, я говорил о работе с глаголами Windows PowerShell как о способе понимания доступных команд.Когда вы знаете и понимаете различные команды, использование командлета Get-Command становится гораздо более полезным. Например, когда вы ищете информацию о различных предметах, вы знаете, что с большей вероятностью будете использовать глагол get . Поэтому используйте командлет Get-Command для получения только командлетов, которые используют команду get . Эта команда показана здесь.

Get-Command –verb get

Если вы ищете командлеты, которые присваивают чему-то новое значение, вы, скорее всего, ищете командлет, который использует команду set .Следующая команда извлекает эти типы командлетов.

Get-Command –verb set

Используйте существительные для командлетов

Одна из вещей, которая может сбивать с толку новичков, - это разница между именем и параметрами существительного . Командлет Get-Command имеет несколько наборов параметров, и когда вы используете глагол или параметр существительное , командлет Get-Command возвращает только командлеты. Если вы используете параметр name , Get-Command находит командлеты, исполняемые файлы, функции, псевдонимы и другие типы команд.

Хороший способ поиска команд - использовать подстановочные знаки. Например, следующая команда возвращает любую команду, содержащую буквы адаптер в имени команды. Выходные данные показывают, что этому фильтру соответствует одна команда.

PS C: \> gcm -Name * adapter *

Определение имени CommandType

———– —-———-

Адаптер приложенияTroubleshooter.exe C: \ Windows \ system32 \ AdapterTro…

Примечание Поскольку командлет Get-Command возвращает больше, чем командлеты Windows PowerShell, я часто использую его для поиска различных исполняемых файлов Windows.Поскольку консоль Windows PowerShell обычно открыта на моем компьютере, для меня это быстрее, чем использовать Windows Search.

На следующем изображении я сначала ищу команды, связанные с процессом . Первые результаты (полученные с использованием параметра name ) содержат ряд приложений в дополнение к нескольким командлетам Windows PowerShell. Когда я ограничиваю результаты только командлетами, у которых есть существительное , относящееся к процессу , результаты будут более направленными.

RS, вот и все, что нужно для использования командлета Get-Command для поиска командлетов. Присоединяйтесь ко мне завтра, когда я расскажу о дополнительных способах использования Get-Command . Это будет очень крутой блог (и не только для новичков).

Я приглашаю вас подписаться на меня в Twitter и Facebook. Если у вас есть какие-либо вопросы, отправьте мне электронное письмо по адресу [email protected] или разместите свои вопросы на официальном форуме Scripting Guys. До завтра. А пока мир.

Эд Уилсон, Microsoft Scripting Guy

Dr Scripto

Scripter, PowerShell, vbScript, BAT, CMD

.

Powershell - возьмите фиксированное количество файлов и переместите их в новую папку

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
.

PowerTip: Используйте PowerShell, чтобы легко узнать, как долго выполняется процесс

Dr Scripto

Резюме: Используйте Windows PowerShell, чтобы легко показать, как долго выполняется процесс.

Вам нужно узнать, как долго выполняется конкретный процесс. Как это легко сделать с помощью Windows PowerShell?

Используйте командлет New-TimeSpan и укажите параметр –Start как результат из Get-Process для процесса и свойства StartTime .Это показано здесь на примере Блокнота.

PS C: \> New-TimeSpan -Start (блокнот get-process) .StartTime

Дней: 0

Часы: 6

Минуты: 53

Секунды: 54

Миллисекунды: 55

Тиков : 248340555164

Всего дней: 0,287431198106481

Всего часов: 6,89834875455556

Всего минут: 413.900925273333

Всего секунд: 24834.0555164

Всего миллисекунд: 24834055.5164

Dr Scripto

Скриптер, PowerShell, vbScript, BAT, CMD

.

Поиск точек монтирования с помощью PowerShell | Изучите Powershell

Иногда, когда вы создаете файловый сервер (или какой-то другой сервер), вы понимаете, что у вас больше дисков или разделов, чем доступных букв дисков. Что делать в этой ситуации? Если вы ответили «создать точку монтирования» для решения этой проблемы, значит, вы на правильном пути или, по крайней мере, идете по тому пути, по которому иду я.

Точки монтирования можно определить как:

Точки монтирования тома - это специализированные объекты файловой системы NTFS, которые используются для монтирования и обеспечения точки входа для других томов.Точки монтирования могут быть созданы в каталоге файловой системы NTFS, который дает ссылку на корневой каталог смонтированного тома.

Источник

Если вы хотите узнать, как создать точку монтирования, перейдите по этой ссылке.

Я создал 2 точки монтирования, как вы можете видеть на картинках ниже.

В PowerShell мы обычно можем использовать Win32_LogicalDisk для получения информации о каждом диске и его пространстве.Но знаете что? Это не будет работать с точками монтирования.

 Get-WmiObject Win32_LogicalDisk 

Хм, так что если мы не можем использовать класс Win32_LogicalDisk, чтобы найти эти неуловимые точки монтирования и узнать их размер, что мы могли бы использовать вместо этого, чтобы выяснить это? Ответ кроется в классе Win32_Volume. В то время как Win32_LogicalDisk «представляет собой источник данных, который преобразуется в фактическое локальное запоминающее устройство в компьютерной системе под управлением Windows», класс Win32_Volume «представляет собой область хранения на жестком диске».Это означает, что нам будут доступны даже точки монтирования для просмотра всевозможной информации. Поскольку если я просто запрашиваю класс, будет возвращено много данных, я собираюсь возвращать только то, что мне нужно изначально, а именно имя, заголовок, FreeSpace и емкость.

 Get-WmiObject Win32_Volume | Имя форматной таблицы, метка, FreeSpace, емкость 

Отлично! Вы можете увидеть точки монтирования, перечисленные здесь, в выходных данных, а также их свободное пространство и общий размер.Теперь я сделаю еще один шаг, очистив часть вывода, удалив DVD-привод (E: \) и преобразовав пространство из байтов в ГБ. Я могу фильтровать по DriveType только для 3, что означает, что я ищу только локальный диск и могу преобразовать байты в ГБ, просто взяв каждое значение и разделив на 1 ГБ.

 Get-WmiObject Win32_Volume -Filter "DriveType = '3'" | Для каждого { Новый объект PSObject -Property @ { Имя = $ _. Имя Ярлык = $ _. Ярлык FreeSpace_GB = ([Math] :: Round ($ _.FreeSpace / 1 ГБ, 2)) TotalSize_GB = ([Math] :: Round ($ _. Емкость / 1 ГБ, 2)) } } 

Вот и все! Найти точку монтирования не только просто, но и достаточно места! Есть много других свойств, которые могут оказаться полезными, например серийный номер, размер блока и файловая система.

Кроме того, я счел необходимым указать на то, что с классом Win32Volume связано несколько замечательных методов, которые очень полезны. Их:

Не стесняйтесь дать им возможность проверить, какие они классные!

Нравится:

Нравится Загрузка...

Связанные

.

Смотрите также