banshee est en développement actif : les collecteurs vont encore changer, et une version que vous publiez demandera sans doute des ajustements. Pour un usage stable, attendez la version 1.0.0.

Windows

banshee/windows-collection/windows/winrm/

pagefile

The commit charge of a Windows against its limit, and the use of each paging file, by WinRM and PowerShell

  • windows
  • winrm
  • powershell
  • pagefile
  • memory

par banshee1 installation2 versions

v2Dernière

Publiée le 28 octobre 2026. One naming convention across collections; documentation completed.

Paging files of a Windows, by WinRM

Returns the commit charge of a Windows against its commit limit, and the size and use of each paging file. Two watches are proposed, each one set on the probe. The physical memory is the collector windows/winrm/memory.

Versions

Windows Server 2012 and later, Windows 8 and later: Windows PowerShell 3.0, which the collector needs, ships with each of them; the WinRM service runs by default on every Windows Server from 2012 on, and winrm quickconfig starts it on a desktop Windows. Generic: no folder of version. That every release answers alike is assumed, not yet checked on a real Windows.

How it works

The collector runs one PowerShell script, by WinRM, that reads Win32_OperatingSystem and Win32_PageFileUsage:

ConvertTo-Json -Compress -Depth 4 -InputObject @{os = (Get-CimInstance Win32_OperatingSystem | Select-Object TotalVirtualMemorySize, FreeVirtualMemory); files = @(Get-CimInstance Win32_PageFileUsage | Select-Object Name, AllocatedBaseSize, CurrentUsage)}
  • WinRM hands the script to PowerShell itself: no shell stands in between, and the script is the one of windows/ssh/pagefile, without the powershell -Command "…" that cmd.exe needs there. The default shell of an OpenSSH server does not matter here.
  • The commit limit (TotalVirtualMemorySize) is physical memory and paging files together; the commit charge is the limit less FreeVirtualMemory, both in KiB, returned in MiB. When the charge reaches the limit, Windows refuses memory to programs: it is the figure to watch, more than the filling of a paging file.
  • Each paging file is named by its path (C:\pagefile.sys); its size (AllocatedBaseSize) and its use (CurrentUsage) are in MiB. A paging file without a size yet is left out.
  • A Windows may run without a paging file: the commit charge is then returned alone.
  • Nothing is skipped at the first run.
  • An answer that is not the expected JSON, or no commit limit, stops the collector as misconfigured: never a green light without a measure.

Nothing is written to the Windows: the script only reads.

Prerequisites

  • The WinRM service of Windows listening in HTTPS. The service runs by default on every Windows Server from 2012 on (on a desktop Windows, winrm quickconfig starts it), with an HTTP listener only; the HTTPS listener needs a certificate: - a certificate for server authentication in the store of the computer (Cert:\LocalMachine\My), bearing the name the poller connects to: issued by the authority of the company, or made on the server by New-SelfSignedCertificate -DnsName <name> -CertStoreLocation Cert:\LocalMachine\My from Windows Server 2012 R2 on (Windows Server 2012 does not have this command); - then the listener: winrm quickconfig -transport:https finds a certificate of an authority by itself, but refuses a self-signed one; the command that takes either, on every Windows from Server 2012 on, is winrm create winrm/config/Listener?Address=*+Transport=HTTPS @{Hostname="<name>";CertificateThumbprint="<thumbprint>"} in cmd.exe, the thumbprint being the one Windows shows for the certificate.
  • The Windows firewall open to the poller on TCP 5986, which creating the listener does not do: New-NetFirewallRule -DisplayName "WinRM HTTPS" -Direction Inbound -Protocol TCP -LocalPort 5986 -Action Allow in PowerShell. A listener on another port is set in protocol:winrm:port.
  • The certificate judged by the poller before the account is sent, by the TLS profile of the probe: issued by an authority the system of the poller knows, by an authority added in protocol:tls:authorities, or pinned in protocol:winrm:fingerprint, the way for a self-signed certificate; the pin is not needed when the Security settings trust the first WinRM fingerprint presented. The fingerprint is sha256: followed by the SHA-256 of the certificate in 64 lower-case hexadecimal characters; from a machine that reaches the port, openssl s_client -connect <name>:5986 </dev/null | openssl x509 -noout -fingerprint -sha256 prints it, in capitals, with colons to take off. A certificate whose name is not the address of the host is judged on the name set in protocol:tls:server-name.
  • NTLM authentication, which the WinRM service accepts as installed (Negotiate = true in winrm get winrm/config/service/auth): the password never travels, only an answer computed with it. A domain that refuses NTLM is not served.
  • Windows PowerShell 3.0 or later, as shipped with every Windows from Server 2012 and Windows 8 on (3.0 on Server 2012, 4.0 on 2012 R2, 5.1 from 2016 on).
  • An account for monitoring, without administrator rights, local or of the domain, set in protocol:winrm:user (account, DOMAIN\account or account@domain) with its password in protocol:winrm:password, member of the local group "Remote Management Users", which opens WinRM to an account that is not an administrator. No other group: Win32_OperatingSystem and Win32_PageFileUsage are open to any account.

Outputs

NameLabelUnitPer instance
commit-limitCommit limitMiBno
committedCommit chargeMiBno
commit-percentCommit charge%no
sizePaging file sizeMiByes, per paging file
usedPaging file usedMiByes, per paging file
used-percentPaging file used%yes, per paging file

Watches

NameTitleKindDefaultsChecked by default
commit-highCommit charge highabove a threshold, on commit-percentwarning above 85 %, critical above 95 %, for 3 runsyes
pagefile-highPaging file fillingabove a threshold, on used-percentwarning above 80 %, critical above 95 %, for 3 runsno

Limits

  • A certificate of the listener that expires, or a pinned one that is renewed, stops every WinRM collector of the host: the network/tls/certificate collector of banshee/web-collection, deployed on port 5986, watches it.
  • A paging file managed by the system grows on demand: its use may stay high while its size follows, and the commit charge says more.
  • The commit charge and the paging files are a moment, read once per run: a peak between two runs is not seen.