Class Win32ComputerSystem

java.lang.Object
io.github.eggy03.ferrumx.windows.entity.system.Win32ComputerSystem

@ShallowImmutable public class Win32ComputerSystem extends Object
Immutable representation of a computer system running Windows.

Fields correspond to properties retrieved from the Win32_ComputerSystem WMI class.

Usage examples

// Build a new instance
Win32ComputerSystem system = Win32ComputerSystem.builder()
    .caption("Workstation PC")
    .description("High-end office workstation")
    .name("User-PC")
    .chassisSKUNumber("PROD-1234")
    .systemSKUNumber("Default String")
    .build();

// Create a modified copy
Win32ComputerSystem updated = system.toBuilder()
    .name("Admin-PC")
    .build();

Since:
3.0.0
See Also:
  • Field Details

    • adminPasswordStatus

      @SerializedName("AdminPasswordStatus") @Nullable @Nullable Integer adminPasswordStatus
      System hardware security settings for administrator password status. Possible values:
      • 0 — Disabled
      • 1 — Enabled
      • 2 — Not Implemented
      • 3 — Unknown
    • keyboardPasswordStatus

      @SerializedName("KeyboardPasswordStatus") @Nullable @Nullable Integer keyboardPasswordStatus
      System hardware security settings for keyboard password status.
      • 0 — Disabled
      • 1 — Enabled
      • 2 — Not Implemented
      • 3 — Unknown
    • powerOnPasswordStatus

      @SerializedName("PowerOnPasswordStatus") @Nullable @Nullable Integer powerOnPasswordStatus
      System hardware security settings for power-on password status.
      • 0 — Disabled
      • 1 — Enabled
      • 2 — Not Implemented
      • 3 — Unknown
    • bootupState

      @SerializedName("BootupState") @Nullable @Nullable String bootupState
      System start type. Possible values:
      • "Normal boot" — Normal boot
      • "Fail-safe boot" — Safe mode (no network)
      • "Fail-safe with network boot" — Safe mode with networking
    • bootStatus

      @SerializedName("BootStatus") @Nullable @Nullable List<Integer> bootStatus
      Status and additional data fields that identify the boot status. This value comes from the Boot Status member of the System Boot Information structure in the SMBIOS information.

      Note: BootStatus is platform/firmware dependent and is not supported before Windows 10 and Windows Server 2016

    • automaticResetBootOption

      @SerializedName("AutomaticResetBootOption") @Nullable @Nullable Boolean automaticResetBootOption
      If true, the automatic reset boot option is enabled.
    • powerState

      @SerializedName("PowerState") @Nullable @Nullable Integer powerState
      Current power state of the computer system. Possible values:
      • 0 — Unknown
      • 1 — Full Power
      • 2 — Power Save - Low Power Mode
      • 3 — Power Save - Standby
      • 4 — Power Save - Unknown
      • 5 — Power Cycle
      • 6 — Power Off
      • 7 — Power Save - Warning
      • 8 — Power Save - Hibernate
      • 9 — Power Save - Soft Off
    • powerSupplyState

      @SerializedName("PowerSupplyState") @Nullable @Nullable Integer powerSupplyState
      State of the power supply or supplies when last booted.

      Possible Values:

      • 1 — Other
      • 2 — Unknown
      • 3 — Safe
      • 4 — Warning
      • 5 — Critical
      • 6 — Non-recoverable
    • powerManagementCapabilities

      @SerializedName("PowerManagementCapabilities") @Nullable @Nullable List<Integer> powerManagementCapabilities
      Array of specific power-related capabilities.

      Possible Values:

      • 0 — Unknown
      • 1 — Not Supported
      • 2 — Disabled
      • 3 — Enabled
      • 4 — Power Saving Modes Entered Automatically
      • 5 — Power State Settable
      • 6 — Power Cycling Supported
      • 7 — Timed Power On Supported
    • powerManagementSupported

      @SerializedName("PowerManagementSupported") @Nullable @Nullable Boolean powerManagementSupported
      If true, the device can be power-managed
    • resetCapability

      @SerializedName("ResetCapability") @Nullable @Nullable Integer resetCapability
      If enabled, indicates the unitary computer system can be reset using power and reset buttons. Typical values:
      • 1 — Other
      • 2 — Unknown
      • 3 — Disabled
      • 4 — Enabled
      • 5 — Not Implemented
    • resetCount

      @SerializedName("ResetCount") @Nullable @Nullable Integer resetCount
      Number of automatic resets since the last reset. A value of -1 indicates the count is unknown.
    • resetLimit

      @SerializedName("ResetLimit") @Nullable @Nullable Integer resetLimit
      Number of consecutive times a system reset is attempted. A value of -1 indicates the limit is unknown.
    • frontPanelResetStatus

      @SerializedName("FrontPanelResetStatus") @Nullable @Nullable Integer frontPanelResetStatus
      Hardware security setting for the front-panel reset button. Typical values:
      • 0 — Disabled
      • 1 — Enabled
      • 2 — Not Implemented
      • 3 — Unknown
    • automaticResetCapability

      @SerializedName("AutomaticResetCapability") @Nullable @Nullable Boolean automaticResetCapability
      If true, automatic reset capability is available.
    • name

      @SerializedName("Name") @Nullable @Nullable String name
      Key of a CIM_System instance. Name of the computer system.
    • caption

      @SerializedName("Caption") @Nullable @Nullable String caption
      Short one-line description of the object.
    • description

      @SerializedName("Description") @Nullable @Nullable String description
      Longer description of the object.
    • manufacturer

      @SerializedName("Manufacturer") @Nullable @Nullable String manufacturer
      Name of the computer manufacturer
    • model

      @SerializedName("Model") @Nullable @Nullable String model
      Product name assigned by the manufacturer.
    • primaryOwnerName

      @SerializedName("PrimaryOwnerName") @Nullable @Nullable String primaryOwnerName
      Name of the primary owner.
    • primaryOwnerContact

      @SerializedName("PrimaryOwnerContact") @Nullable @Nullable String primaryOwnerContact
      Contact information for the primary owner.
    • roles

      @SerializedName("Roles") @Nullable @Nullable List<String> roles
      List of roles the system performs in the environment (editable).
    • chassisSKUNumber

      @SerializedName("ChassisSKUNumber") @Nullable @Nullable String chassisSKUNumber
      Chassis or enclosure SKU number (from SMBIOS).
    • systemSKUNumber

      @SerializedName("SystemSKUNumber") @Nullable @Nullable String systemSKUNumber
      SKU/Product ID for the system configuration.
    • systemFamily

      @SerializedName("SystemFamily") @Nullable @Nullable String systemFamily
      Family of the computer (SMBIOS Family field). May be unsupported on older OS versions.
    • systemType

      @SerializedName("SystemType") @Nullable @Nullable String systemType
      System architecture description

      Possible Values:

      • "x64-based PC"
      • "X86-based PC"
      • "MIPS-based PC"
      • "Alpha-based PC"
      • "Power PC"
      • "SH-x PC"
      • "StrongARM PC"
      • "64-bit Intel PC"
      • "64-bit Alpha PC"
      • "Unknown"
      • "X86-Nec98 PC"
    • userName

      @SerializedName("UserName") @Nullable @Nullable String userName
      Currently logged-on user. In Terminal Services scenarios, this is the console user.
    • workgroup

      @SerializedName("Workgroup") @Nullable @Nullable String workgroup
      Name of the workgroup or domain (if PartOfDomain==false this is a workgroup name).
    • oemStringArray

      @SerializedName("OEMStringArray") @Nullable @Nullable List<String> oemStringArray
      OEM-defined strings
    • numberOfProcessors

      @SerializedName("NumberOfProcessors") @Nullable @Nullable Long numberOfProcessors
      Number of physical processors installed (enabled).
    • numberOfLogicalProcessors

      @SerializedName("NumberOfLogicalProcessors") @Nullable @Nullable Long numberOfLogicalProcessors
      Number of logical processors available (includes hyperthreading logical CPUs).
    • totalPhysicalMemory

      @SerializedName("TotalPhysicalMemory") @Nullable @Nullable BigInteger totalPhysicalMemory
      Total size of physical memory in bytes. Note: under some circumstances this may not be accurate (BIOS reservation). For accurate module-by-module capacity, query the equivalent method(s) in Win32PhysicalMemory
    • automaticManagedPagefile

      @SerializedName("AutomaticManagedPagefile") @Nullable @Nullable Boolean automaticManagedPagefile
      If true, the system manages the page file automatically.
    • infraredSupported

      @SerializedName("InfraredSupported") @Nullable @Nullable Boolean infraredSupported
      If true, an infrared (IR) port exists on the computer system.
    • networkServerModeEnabled

      @SerializedName("NetworkServerModeEnabled") @Nullable @Nullable Boolean networkServerModeEnabled
      If true, network server mode is enabled (system behaves as a server).
    • hypervisorPresent

      @SerializedName("HypervisorPresent") @Nullable @Nullable Boolean hypervisorPresent
      If true, a hypervisor is present on the system. Note: not supported before Windows 8 / Windows Server 2012 on older OSes.
    • thermalState

      @SerializedName("ThermalState") @Nullable @Nullable Integer thermalState
      Thermal state of the system when last booted.

      Possible values:

      • 1 — Other
      • 2 — Unknown
      • 3 — Safe
      • 4 — Warning
      • 5 — Critical
      • 6 — Non-recoverable
    • currentTimeZone

      @SerializedName("CurrentTimeZone") @Nullable @Nullable Integer currentTimeZone
      Amount of time the system is offset from UTC, in minutes. Example: for UTC+5:30 (Asia/Kolkata) the value is 330.
    • daylightInEffect

      @SerializedName("DaylightInEffect") @Nullable @Nullable Boolean daylightInEffect
      If True, the daylight savings mode is ON.
  • Constructor Details

    • Win32ComputerSystem

      public Win32ComputerSystem()
  • Method Details

    • hasAutomaticResetBootOption

      @Nullable public @Nullable Boolean hasAutomaticResetBootOption()
    • isPowerManagementSupported

      @Nullable public @Nullable Boolean isPowerManagementSupported()
    • hasAutomaticResetCapability

      @Nullable public @Nullable Boolean hasAutomaticResetCapability()
    • isAutomaticManagedPagefile

      @Nullable public @Nullable Boolean isAutomaticManagedPagefile()
    • isInfraredSupported

      @Nullable public @Nullable Boolean isInfraredSupported()
    • isNetworkServerModeEnabled

      @Nullable public @Nullable Boolean isNetworkServerModeEnabled()
    • isHypervisorPresent

      @Nullable public @Nullable Boolean isHypervisorPresent()
    • isDaylightInEffect

      @Nullable public @Nullable Boolean isDaylightInEffect()
    • toString

      @NotNull public @NotNull String toString()
      Retrieves the entity in a JSON pretty-print formatted string
      Overrides:
      toString in class Object
      Returns:
      the String value of the object in JSON pretty-print format