Резюме: Microsoft Scripting Guy, Ed Wilson рассказывает об использовании Windows PowerShell для настройки нового ноутбука.
Настраиваем новый ноутбук
Не так давно я работал на созданием модуля для конфигурирования новых компьютеров. Сегодня я расскажу о некоторых настройках по умолчанию, на мой взгляд, требующих изменения.
Я не хочу дефрагментировать SSD-диск
Это достаточно просто. В Windows 8 есть модуль для работы с планировщиком заданий — Scheduled Task, и все что мне нужно сделать – это отключить одно из заданий. Попытавшись это выполнить, я получил следующую ошибку:
PS C:\> Get-ScheduledTask -TaskName *defrag* | Disable-ScheduledTask
Disable-ScheduledTask : Access is denied.
At line:1 char:40
+ Get-ScheduledTask -TaskName *defrag* | Disable-ScheduledTask
+ ~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (PS_ScheduledTask:Root/Microsoft/…S_ScheduledTask) [Disable-ScheduledTask], CimException
+ FullyQualifiedErrorId : HRESULT 0x80070005,Disable-ScheduledTask
Когда я запустил Windows PowerShell с административными правами, команда отработала без ошибок.
PS C:\> Get-ScheduledTask -TaskName *defrag* | Disable-ScheduledTask
TaskPath TaskName State
——— ——— —
\Microsoft\Windows\Defrag\ ScheduledDefrag Disabled
Мне не нужен режим гибернации
В Windows 8 есть отличный механизм Fast Start. Но с сожалению SSD-диск в моем ноутбуке достаточно небольшого размера, так что я не могу позволить файлу Hiberfil.sis занимать ценное дисковое пространство. Также нужно сказать, что загрузка Windows 8 с диска SSD происходит довольно быстро, так что я вполне могу обойтись без режима гибернации. Для его отключения я воспользуюсь утилитой командной строки PowerCgf.
Powercfg /H OFF
Заметка: Эта команда также требует административных полномочий. Если вы запустите ее с правами обычного пользователя, то получите следующую ошибку.
PS C:\> powercfg /H OFF
An unexpected error condition has occurred. Unable to perform operation. You may not have permission to perform this operation.
Я сам буду управлять файлом подкачки
Если я воспользуюсь командлетом Get-CimInstance для запроса класса Win32_PageFileSetting, как вы думаете, что он вернет? Ничего. Это означает, что экземпляров класса Win32_PageFileSetting не существует. А получается так потому, что Windows сама управляет файлом подкачки.
Отключаем автоматическое управление файлом подкачки
Так что первое, что мне нужно сделать – это отключить автоматическое управление файлом подкачки. Для этого я воспользуюсь классом Win32_ComputerSystem.
PS C:\> Set-CimInstance -Query «Select * from win32_computersystem» -Property @{automaticmanagedpagefile=»False»}
PS C:\> Get-CimInstance win32_PageFileSetting
MaximumSize Name Caption
———— —- ——-
0 C:\pagefile.sys C:\ ‘pagefile.sys’
Задаем размер файла подкачки
Теперь я могу использовать класс Win32_PageFileSetting для задания размера файла подкачки.
PS C:\> Set-CimInstance -Query «Select * from win32_PageFileSetting» -Property @{InitialSize=3072;MaximumSize=3072}
Нужно сказать, что это у меня получилось не с первого раза. Кроме того, мне пришлось заглянуть в статью Win32_PageFileSetting WMI class на сайте MSDN, чтобы узнать, в каких единицах измерения указывается размер файла подкачки. Как выяснилось — он должен быть указан в мегабайтах.
Автор:
Ed Wilson, Microsoft Scripting Guy
Оригинал:
Страницы в социальных сетях:
Twitter: https://twitter.com/vsseth
Facebook: https://fb.com/inpowershell
VKontakte: https://vk.com/inpowershell