Как посмотреть объем сетевого диска
как сделать Freespace и Size of DeviceID C: ? Мне нужно извлечь только эти два значения без какой-либо другой информации. Я пробовал это с Select командлет, но без эффекта.
Edit: Мне нужно извлечь только числовые значения и сохранить их в переменных.
извлечь только значения и присвоить их переменной:
гораздо более простое решение:
и для удаленных компьютеров (потребности Powershell Remoting )
некоторое время назад я создал расширенную функцию PowerShell (командлет сценария), которая позволяет запрашивать несколько компьютеров.
код для функции имеет длину чуть более 100 строк, поэтому вы можете найти его здесь:PowerShell версия команды DF
Проверьте использование для примера. В следующем примере использования запрашивается набор удаленных компьютеров (ввод из конвейера PowerShell) и выводится в табличном формате с числовыми значениями в удобочитаемой форме:
только одна команда простой сладкий и чистый, но это работает только для локальных дисков
вы все равно можете использовать эту команду на удаленном сервере, выполнив Enter-PSSession-Computername ServerName, а затем запустите Get-PSDrive, он вытащит данные, как если бы вы запустили их с сервера.
другим способом является приведение строки к объекту WMI:
также вы можете разделить результаты на 1 ГБ или 1 Мб, если вы хотите разные единицы:
вывод: Remotecomputer C: has 252.7 GB free of 298.0 GB Total
есть две проблемы с которыми я столкнулся с другими предложениями
-
1) сопоставления дисков не поддерживаются при запуске powershell в разделе планировщик задач
-
2) вы можете узнать Доступ запрещен ошибки Ошибки при попытке использовать "get-WmiObject" на удаленных компьютерах (в зависимости от настройки инфраструктуры, конечно)
альтернативой, которая не страдает от этих проблем, является использование GetDiskFreeSpaceEx С UNC-путем:
Я знаю инструменты psExec, которые вы можете скачать с здесь
появляется psinfo.exe из пакета инструменты. Основное использование в powershell/cmd происходит следующим образом.
однако у вас может быть много вариантов с ним
использование: psinfo [[\computer [, computer [. ] файл | @[- U пользователь [- p psswd]]] [- h] [- s] [- d] [- c [- t разделитель]] [фильтр]
компьютер\выполнить команда на указанном удаленном компьютере или компьютерах. Если имя компьютера не указано, команда выполняется в локальной системе, а если указан подстановочный знак ( \ * ), команда выполняется на всех компьютерах в текущем домене.
filter Psinfo покажет только данные для поля, соответствующего фильтру. например, "psinfo service" перечисляет только поле пакета обновления.
Я удаленно в компьютер с помощью Enter-PSsession pcName тогда я набираю Сделать-Диск Psdrive
Что будет список всех дисков и пространства и остальные. Если вам нужно увидеть всю информацию, сформированную, отправьте ее в FL следующим образом:Get-PSdrive / FL *
Я создал эту простую функцию, чтобы помочь мне. Это делает мои вызовы намного проще читать, что наличие встроенного Get-WmiObject, Где-Объект заявления и т. д.
Если вы хотите проверить несколько букв диска и / или фильтр между локальными и сетевыми дисками, вы можете использовать PowerShell, чтобы воспользоваться WIN32_LOGICALDISK WMI класса. Вот краткий пример:
я использовал вышеуказанный метод для создания сценария Powershell, который проверяет все диски и отправляет предупреждение по электронной почте, когда они идут ниже пользовательской квоты. Вы можете получить его от здесь.
как я могу получить Freespace и Size на DeviceID C: ? Мне нужно извлечь только эти два значения без какой-либо другой информации. Я пробовал это с Select командлет, но без эффекта.
Edit: Мне нужно извлечь только числовые значения и сохранить их в переменных.
извлечь только значения и присвоить их переменной:
гораздо более простое решение:
и для удаленных компьютеров (потребности Powershell Remoting )
некоторое время назад я создал расширенную функцию PowerShell (командлет script), которая позволяет запрашивать несколько компьютеров.
код для функции составляет немногим более 100 строк, так что вы можете найти его здесь: PowerShell версия команды df
Проверьте использование для примера. В следующем примере использования запрашивается набор удаленных компьютеров (ввод из конвейера PowerShell) и выводится в табличном формате с числовыми значениями в удобочитаемой форме:
только одна команда простой сладкий и чистый, но это работает только для локальных дисков
вы все еще можете использовать эту команду на удаленном сервере, выполнив команду Enter-PSSession-Computername ServerName, а затем запустите Get-PSDrive, который будет извлекать данные, как если бы вы запускали его с сервера.
другой способ-это приведение строки к объекту WMI:
также вы можете разделить результаты на 1 ГБ или 1 Мб, если вы хотите разные единицы измерения:
вывод: Remotecomputer C: has 252.7 GB free of 298.0 GB Total
-
1) сопоставления дисков не поддерживаются при запуске powershell в планировщике задач
-
2) вы можете узнать Доступ запрещен ошибки Ошибки при попытке использовать "get-WmiObject" на удаленных компьютерах (в зависимости от настройки инфраструктуры, конечно)
Я знаю инструменты psExec, которые вы можете скачать с здесь
появляется psinfo.exe из пакета инструменты. Основное использование в powershell/cmd выполняется следующим образом.
вы могли бы иметь много вариантов с нимиспользование: psinfo [[\computer [, computer[. ] / @file [- U user [- p psswd]]] [- h] [- s] [- d] [- c [- t разделитель]] [фильтр]
компьютер\выполнить команда на удаленном компьютере или указанных компьютерах. Если опустить имя компьютера, команда выполняется в локальной системе, а также если указать подстановочный знак ( \ * ), команда выполняется на всех компьютерах в текущем домене.
фильтр Psinfo будут отображаться только данные для поля, удовлетворяющие заданному фильтру. например, "psinfo service" содержит только поле пакета обновления.
Я удаленно в компьютер с помощью Enter-PSsession pcName затем я набираю Get-PSDrive
Что будет список всех дисков и пространства и остальные. Если вам нужно увидеть всю информацию, сформированную, передайте ее в FL следующим образом:Get-PSdrive | FL*
Я создал эту простую функцию, чтобы помочь мне. Это делает мои звонки намного проще читать, что имея встроенный Get-WmiObject,Где-Объект заявления и т. д.
в случае, если вы хотите проверить несколько букв дисков и/или фильтр между локальными и сетевыми дисками, вы можете использовать PowerShell, чтобы воспользоваться Win32_LogicalDisk WMI класса. Вот краткий пример:
я использовал вышеописанный метод для создания сценария Powershell, который проверяет все диски и отправляет предупреждение по электронной почте, когда они идут ниже пользовательской квоты. Вы можете получить его от здесь.
Windows
Многие люди склонны использовать несколько устройств. Это включает в себя свои смартфоны, персональные ноутбуки, рабочие столы в офисах и дома. Даже после большой облачной интеграции со службами, такими как OneDrive, некоторые простые вещи действительно нуждаются в физическом присутствии пользователя, чтобы выполнить некоторую работу. Одна из таких простых вещей – проверка дискового пространства. Если у вас нет физического компьютера, обычному пользователю становится очень трудно выполнить эту простую задачу. Итак, чтобы проверить, сколько разделов присутствует на этом компьютере и на каждом разделе, какова общая емкость этого раздела. Наряду с этим, свободного места на диске и используемого дискового пространства нам просто нужно запустить простой скрипт. Итак, без каких-либо дальнейших задержек, давайте просто прыгнем прямо.
Проверьте дисковое пространство на удаленных компьютерах
Прежде всего, этот скрипт не будет работать на каждой машине. Он работает только с Windows 10, Windows Server 2012, Windows Server 2012 R2, Windows Server 2008, Windows Server 2008 R2 и Windows 7. По моему мнению, это также должно работать с Windows 8 и Windows 8.1, но он еще не был протестирован. Если вы попробуете это в Windows 8 и Windows 8.1, пожалуйста, не стесняйтесь поделиться своими результатами в поле для комментариев ниже.
Итак, прежде всего, загрузите этот файл скрипта Powershell из TechNet. Вам просто нужно сохранить его на свой компьютер.
Затем откройте тот же файл с помощью Блокнота, и вы увидите код, который будет выглядеть примерно так:
Теперь вам нужно будет ввести адрес вашего удаленного компьютера в отмеченном выше месте внутри кавычек – Адрес идет сюда .
Нажмите правой кнопкой мыши на файл и выберите Запустить с Powershell. Нажмите Да в ответ на запрос контроля учетных записей пользователей или UAC.
Теперь вы получите свои результаты на терминале Powershell как в формате,
В посте собран перечень 20 лучших бесплатных инструментов разбивки, диагностики, шифрования, восстановления, клонирования, форматирования дисков. Вообщем практически все что нужно для базовой работы с ними.
1. TestDisk
TestDisk позволяет восстанавливать загрузочные разделы, удаленные разделы, фиксировать поврежденные таблицы разделов и восстанавливать данные, а также создавать копии файлов с удаленных/недоступных разделов.
Примечание: PhotoRec ето связанное с TestDisk приложением. С его помощью возможно восстановить данные в памяти цифровой камеры на жестких дисках и компакт-дисках. Кроме того можно восстановить основные форматы изображений, аудиофайлы, текстовые документы, HTML-файлы и различные архивы.
При запуске TestDisk предоставляется список разделов жесткого диска, с которыми можно работать. Выбор доступных действий, осуществляемых в разделах, включает: анализ для корректировки структуры (и последующее восстановление, в случае обнаружения проблемы); изменение дисковой геометрии; удаление всех данных в таблице разделов; восстановление загрузочного раздела; перечисление и копирование файлов; восстановление удаленных файлов; создание снапшота раздела.
2. EaseUS Partition Master
EaseUS Partition Master — инструмент для работы с разделами жесткого диска. Он позволяет создавать, перемещать, объединять, разделять, форматировать, изменяя их размер и расположение без потери данных. Также помогает восстанавливать удаленные или потерянные данные, проверять разделы, перемещать ОС на другой HDD/SSD и т.д.
Слева представлен перечень операций, которые можно выполнить с выбранным разделом.
3. WinDirStat
Бесплатная программа WinDirStat проводит анализ использованного места на диске. Демонстрирует, как данные распределяются и какие из них занимают больше места.
Клик по полю в диаграмме выведет на экран рассматриваемый файл в структурном виде.
После загрузки WinDirStat и выбора дисков для анализа, программа сканирует дерево каталога и предоставляет статистику в таких вариантах: список каталогов; карта каталогов; список расширений.
4. Clonezilla
Clonezilla создает образ диска с инструментом клонирования, который также упакован с Parted Magic и первоначально доступен, как автономный инструмент. Представлен в двух версиях: Clonezilla Live и Clonezilla SE (Server Edition).
Clonezilla Live является загрузочным дистрибутивом Linux, позволяющим клонировать отдельные устройства.
Clonezilla SE — это пакет, который устанавливается на дистрибутиве Linux. Он используется для одновременного клонирования множества компьютеров по сети.
5. OSFMount
Использование данной утилиты дает возможность монтировать ранее сделанные образы дисков и представлять их в виде виртуальных приводов, непосредственно просмотривая сами данные. OSFMount поддерживает файлы образов, такие как: DD, ISO, BIN, IMG, DD, 00n, NRG, SDI, AFF, AFM, AFD и VMDK.
Дополнительная функция OSFMount — создание RAM-дисков, находящихся в оперативной памяти компьютера, что существенно ускоряет работу с ними. Для запуска процесса нужно перейти в File > Mount new virtual disk.
6. Defraggler
Defraggler — бесплатная программа для дефрагментации жесткого диска, которая способствует увеличению его скорости и срока службы. Особенностью программы является возможность дефрагментации также и отдельных файлов.
Поддерживает файловые системы NTFS, FAT32 и exFAT.
7. SSDLife
SSDLife — проводит диагностику твердотельного диска, выводит на экран информацию о его состоянии и оценивает предполагаемый срок службы. Поддерживает удаленный мониторинг, управляет уровнем производительности на некоторых моделях жестких дисков.
Благодаря контролю износа SSD можно повысить уровень безопасности данных, вовремя выявлять проблемы. На основе анализа программа делает вывод насколько часто используется твердотельный диск.
8. Darik’s Boot And Nuke (DBAN)
Довольно популярная бесплатная утилита DBAN, применяется для очистки жестких дисков.
В DBAN два основных режима: интерактивный (interactive mode) и автоматический (аutomatic mode). Интерактивный режим позволяет подготовить диск к удалнию данных и выбирать необходимые опции стирания. Автоматический режим очищает все обнаруженные диски.
9. HD Tune
Утилита HD Tune предназначена для работы с жестким диском и SSD. Измеряет уровень чтения-записи HDD/SSD, сканирует ошибки, проверяет состояние диска и выводит на экран информацию о нем.
При запуске приложения, нужно выбрать диск из выпадающего списка и перейти к надлежащей вкладке, чтобы просмотреть информацию.
10. VeraCrypt
VeraCrypt — бесплатное приложение для шифрования с открытым исходным кодом. Используется шифрование на лету.
Проект VeraCrypt создался на основе TrueCrypt с целью усиления методов защиты ключей шифрования.
11. CrystalDiskInfo
CrystalDiskInfo отображает состояние жестких дисков, поддерживающих технологию S.M.A.R.T. Утилита проводит мониторинг, оценивает общее состояние и отображает детальную информацию о жестких дисках (версия прошивки, серийный номер, стандарт, интерфейс, общее время работы и т. д.). У CrystalDiskInfo есть поддержка внешних жестких дисков.
В верхней панели на экране отображаются все активные жесткие диски. Щелчок по каждому из них показывает информацию. Иконки Health Status и Temperature меняют цвет в зависимости от значения.
12. Recuva
Утилита Recuva служит для восстановления случайно удаленных или потерянных файлов. Она сканирует нужный носитель информации, после чего выводит на экран список удаленных файлов. Каждый файл имеет свои параметры (имя, тип, путь, вероятность восстановления, состояние).
Необходимые файлы определяются с помощью функции предпросмотра и отмечаются флажками. Результат поиска можно отсортировать по типу (графика, музыка, документы, видео, архивы) и сразу просмотреть содержимое.
13. TreeSize
Программа TreeSize показывает дерево находящихся на жестком диске директорий с предоставлением информации об их размерах, а также проводит анализ использования дискового пространства.
Размеры папок выводятся на экран от самых больших до самых маленьких. Таким образом становится понятно, какие папки занимают большую часть места.
Примечание: При наличии Defraggler, Recuva и TreeSize, можно инициировать функции Defraggler и Recuva для определенной папки непосредственно из TreeSize — все три приложения эффективно интегрируются.
14. HDDScan
HDDScan — утилита диагностики жесткого диска, используется для тестирования накопителей информации (HDD, RAID, Flash) с целью выявления ошибок. Просматривает S.M.A.R.T. атрибуты, выводит показания датчиков температуры жестких дисков в панель задач и выполняет сравнительный тест чтения-записи.
HDDScan предназначена для тестирования накопителей SATA, IDE, SCSI, USB, FifeWire (IEEE 1394).
15. Disk2vhd
Бесплатная утилита Disk2vhd преобразует действующую физический диск в виртуальный Virtual Hard Disk (VHD) для платформы Microsoft Hyper-V. Причем, VHD-образ можно создавать прямо с запущенной операционной системы.
Disk2vhd создает один VHD-файл для каждого диска с избранными томами, сохраняя информацию о разделах диска и копируя только те данные, которые относятся к выбранному тому.
16. NTFSWalker
Портативная утилита NTFSWalker позволяет проводить анализ всех записей (включая и удаленные данные) в главной файловой таблице MFT диска NTFS.
Наличие собственных драйверов NTFS дает возможность просматривать файловую структуру без помощи Windows на любых носителях чтения компьютера. К просмотру доступны удаленные файлы, обычные файлы, а также подробные атрибуты для каждого файла.
17. GParted
GParted — редактор дисковых разделов с открытым исходным кодом. Осуществляет эффективное и безопасное управление разделами (создание, удаление, изменение размера, перемещение, копирование, проверка) без потери данных.
GParted позволяет создавать таблицы разделов (MS-DOS или GPT), включать, отключать и изменять атрибуты, выравнивать разделы, восстанавливать данные с поврежденных разделов и многое другое.
18. SpeedFan
Компьютерная программа SpeedFan следит за показателями датчиков материнской платы, видеокарты и жёстких дисков, с возможностью регулирования скорости вращения установленных вентиляторов. Есть возможность проводить автоматическую и ручную регулировку.
SpeedFan работает с жесткими дисками с интерфейсом SATA, EIDE и SCSI.
19. MyDefrag
MyDefrag — бесплатный дисковой дефрагментатор, который используется для упорядочивания данных, размещенных на жестких дисках, дискетах, дисках USB и картах памяти.
У программы есть удобная функция работы в режиме скринсейвера, в результате чего дефрагментация будет производится во время, назначенное для запуска хранителя экрана. MyDefrag также позволяет создавать или настраивать собственные сценарии.
20. DiskCryptor
С помощью шифровальной программы DiskCryptor с открытым исходным кодом, можно полностью зашифровать диск (все дисковые разделы, включая системный).
У DiskCryptor довольно высокая производительность — это один из самых быстрых драйверов шифрования дисковых томов. Программа поддерживает FAT12, FAT16, FAT32, NTFS и exFAT файловые системы, позволяя шифровать внутренние или внешние диски.
Начнем с того, что определим, что же расшарено. Задача проста: просто осуществляем запрос класса Win32_Share, чтобы использовать Windows Management Instrumentation (WMI). Вам даже не нужно логиниться на файловом сервере. Вы можете запустить эту команду откуда угодно.
Вместо chi-fp01 укажем имя интересующего нас компьютера
Запустив эту команду Вы получите все сетевые папки, включая принтеры (если таковые имеются). Но так как мы говорим о файловых шарах, то давайте ограничим запрос. Все экземпляры Win32_Share имеют свойство Type, как показано в таблице 1.
Добавим фильтр в первоначальную команду:
Тем самым мы выводим только нужную информацию.
Но если вы ищите также и скрытые папки – те, которые заканчиваются знаком доллара ($) – фильтр придется слегка переписать:
В WMI знак процента (%) используется вместо знака подстановки (wildcard). Вывести все папки, кроме тех, которые скрыты чуть сложнее.
Команда выведен все объекты Win32_Share, у которых свойство Type равно 0 и имя не заканчивается на $.
Получаем размер сетевой папки
Довольно часто необходима информация о том, сколько места занимают файловые шары. Используем Get-ChildItem, или его сокращение dir, и передадим результаты в Measure-Object:
В итоге вы получите информацию об общем числе объектов, размер в байтах, наименьшие и наибольшее размерах файлов. В предыдущей команде, применил фильтр. В PowerShell 3.0 то же самое можно сделать проще, однако та команда, которую я использовал, работает как v2.0, так и 3.0. Ее лучше всего запускать локально. Код в примере 1 комбинирует эту команду с нашей техникой WMI, чтобы получить отчет о размере высокоуровневых папок.
Пример 1: Отчет о размерах высокоуровневых сетевых папок
Вы можете форматировать или обрабатывать $results как вашей душе будет угодно. Нужна удобоваримая таблица? Просто используйте следующую команду:
Тем самым можно сделать полный отчет по использованию всех папок на файловом сервере не составляет труда. Сэкономьте время, воспользуетесь примером 2.
Пример 2: Отчет об использовании файловых шар
И снова я слегка отформатирую таблицу.
Получаем файлы по владельцу
Двигаемся дальше – найдем владельцев файлов. Если вы используете квоты, отчеты уже наверняка получаете. В противном случае, все, что вам нужно – это извлечь ACL файла, который включает в себя владельца, и агрегировать результаты. Лучше всего добавить владельца файла в качестве кастомного свойства
Мы можем группировать по свойству нового владельца и затем обрабатывать новый объект.
Пара усилий и вы можете применить тот же подход к файловой шаре, как указано в коде примера 3.
Пример 3: Группируем файловые шары по владельцу
Я также должен указать на то, что могут проблемы: с файлами, имя которых более 260 символов или содержит необычные символы, особенно если вы пытаетесь запустить Get-ACL. В PowerShell 3.0 этот командлет имеет параметр -LiteralPath, что помогает решить вышеуказанные проблемы.
Опять выведем читаемую таблицу.
Получаем файлы по дате создания
дает вывод, представленный на скриншоте ниже.
Лично я считаю, что лучше использовать LastWriteTime, который обозначает, когда к файлу в последний раз обращались. Мне встречались ситуации, когда LastAccessTime обновлялся через сторонние программы, например, антивирус, что само по себе уже не означает правды. И LastAccessTime был деактивировал еще со времени Windows Vista, хотя вы можете его включить. Вам также нужно быть осторожным, потому что эти значения могут меняться в зависимости от того, копируете ли вы или перемещаете файлы между дисками (between volumes). Но вы можете решить это сами. Используя этот файл как пример, мы может заставить PowerShell сказать нам, насколько стар файл. См. пример 4.
Пример 4. Определяем возраст файлов
Свойство Age является объектом TimeSpan, и свойство Days является просто свойством TotalDays этого объекта. Но так как мы можем этом сделать для одного файла, мы можем сделать и для других Давайте взглянем на мою общую папку и найдем все файлы, которые не менялись за последние 400 дней.
Я пойду дальше и включу еще и владельца файла. На скриншоте ниже показаны результаты от запуска этого код в удаленной сессии на моем файловом сервере.
Я могу сохранить эти результаты в переменную и использовать их в любое время. Так как у меня есть полное имя файла, передать в другую команду, например, Remove-Item, не составит труда.
Одной из моих любимых техник является определение того, сколько файлов было изменено за год.
Как вы можете видеть на скриншоте, все выглядит причесано. Нужны детали? Можно проанализировать свойство Group, которое представляет собой коллекцию файлов.
Полезно знать, сколько файлов не изменялось за 30, 90 или 180 дней. К сожалению, простого способа использовать Group-Object для этого не существует, поэтому мне необходимо придется «пойти иным путем»; смотрите пример 5.
Пример 5: Определяем период изменения файлов
На рисунке ниже показан результат, когда я запустил этот код для папки с моими скриптами, которая, как я знаю, имеет плотное распределение по возрасту (decent age distribution). Мой код не включает в себя актуальные файлы, но это было бы слишком сложно изменить мой пример.
За основу поста использована первая часть статьи File Server Management with Windows PowerShell.
Кстати, о том, как найти файлы с помощью PowerShell и WMI Джеффри Хикс пишет в своем блоге (часть 1 и 2).
Во второй части статьи рассматриваются вопросы создания и удаления файловых шар и делегирования прав доступа к ним. Был бы интересен ее перевод?
Читайте также: