4

I can modify page file settings via WMI like this

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'

But how can I remove a page file setting, e.g. in this remove the page file on D:?

3

Found it.

There is a .Delete() method that does the trick.

PS D:\> $pf[1].Delete()
PS D:\> gwmi win32_pagefilesetting

                            MaximumSize Name                                    Caption
                            ----------- ----                                    -------
                                   4096 c:\pagefile.sys                         c:\ 'pagefile.sys'

Done.

2

Although not recommended by some, if you would like to disable pagefiles completely, be sure to disable Automatic page management as well:

# 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()
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.