Я могу изменить настройки файла подкачки через WMI вот так
PS D:\> gwmi win32_pagefilesetting
MaximumSize Name Caption
----------- ---- -------
8192 c:\pagefile.sys c:\ 'pagefile.sys'
8192 d:\pagefile.sys d:\ 'pagefile.sys'
PS D:\> $pf=gwmi win32_pagefilesetting
PS D:\> $pf.gettype()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
PS D:\> $pf[0].InitialSize=4096;$pf[0].MaximumSize=4096
PS D:\> $pf[0].Put()
PS D:\> gwmi win32_pagefilesetting
MaximumSize Name Caption
----------- ---- -------
4096 c:\pagefile.sys c:\ 'pagefile.sys'
8192 d:\pagefile.sys d:\ 'pagefile.sys'
Но как я могу удалить настройку файла подкачки, например при этом удалите файл подкачки на D :?
Нашел.
Есть метод .Delete (), который делает свое дело.
PS D:\> $pf[1].Delete()
PS D:\> gwmi win32_pagefilesetting
MaximumSize Name Caption
----------- ---- -------
4096 c:\pagefile.sys c:\ 'pagefile.sys'
Готово.
Хотя некоторые не рекомендуют этого, если вы хотите полностью отключить файлы подкачки, обязательно отключите также автоматическое управление страницами:
# Disable automatic pagefile management
$cs = gwmi Win32_ComputerSystem
if ($cs.AutomaticManagedPagefile) {
$cs.AutomaticManagedPagefile = $False
$cs.Put()
}
# Disable a *single* pagefile if any
$pg = gwmi win32_pagefilesetting
if ($pg) {
$pg.Delete()
}