PowerShell – Use WMI to Remove a Page File in Windows

powershellwindowswmi

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:?

Best Answer

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.