• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Stephanos Constantinou Blog

PowerShell Scripting

  • Home
  • Blogs
    • PowerShell Tutorials
    • PowerShell Scripts
    • PowerShell Modules
      • Modules Cmdlets
    • Software Reviews
  • About
  • Contact
You are here: Home / PowerShell Modules / PowerShell Module SysInfo

PowerShell Module SysInfo

24/10/2018 by Stephanos 5 Comments

PowerShell Module SysInfo

In this post I will provide you with some information about PowerShell Module SysInfo, which I wrote and published in PowerShell Gallery. This is my second module that I publish and I hope that you will like it. It is being sometime to write a post as I was preparing this module along with its documentation of each command included.

Lets see below what it does.

Module description

The aim of SysInfo module to provide an easier way to system administrators retrieve the information that they want from their systems and the output would be easily readable.

SysInfo module will help you get the system information that you need from local and remote machines. It is a simple module that  will allow you to utilize CIM cmdlets in an easier way. Instead of trying to find the class name and filter based on the return code to get the exact data that you need, you can get what you need with SysInfo module. It utilizes CIM cmdlets to get the information from local and remote computer but the output of the properties of the system components has no codes. Codes have been converted into a more readable format, giving you the actual meaning of each code. As different types of sizes are provided in bytes, which in many times this is not helpful, additional properties will be included in the output, providing you the size also in other format that will help you out perform your job.

Let see the differences of using the CIM cmdlets to get system information and cmdlet of SysInfo module.

Easy to remember cmdlets

Cmdlets have been named based on the class name that is used to get the information from the system. This will help those that they are already using CIM cmdlets to know which cmdlet to use. For those that they are new to CIM cmdlets and classes the names are easy enough to learn them. Let’s see some examples below.

[adinserter name=”In Article”]

Example 1

Get processor information

CIM cmdlet:

Get-CimInstance -ClassName Win32_Processor -Property *

CIM Output:

PowerShell Module SysInfo - Example 1 - CIM

SysInfo cmdlet:

Get-Processor

SysInfo Output:

PowerShell Module SysInfo - Example 1 - SysInfo

[adinserter name=”In Article”]

Example 2

Get information of local disk on a computer system.

CIM cmlet:

Get-CimInstance -ClassName Win32_LogicalDisk -Property * | Where-Object {$_.DriveType -eq 3}

CIM Output:

PowerShell Module SysInfo - Example 2 - CIM

SysInfo cmdlet:

Get-LocalDisk

SysInfo Output:

PowerShell Module SysInfo - Example 2 - SysInfo

[adinserter name=”In Article”]

CIM output codes converted into meaningful information

As you may say in the examples above, CIM cmdlets provide the numbers in some case as property values. Each number has a meaning. By using SysInfo cmdlets, it will provide you with the exact meaning of each property. Lets compare few results below:

Example 3

In this example we will see the information for the operating system.

CIM cmdlet:

Get-CimInstance -ClassName Win32_OperatingSystem -Property *

CIM cmdlet output for Operating System information:

PowerShell Module SysInfo - Example 3 - CIM

SysInfo cmdlet:

Get-OperatingSystem

SysInfo cmdlet output for Operating System information:

PowerShell Module SysInfo - Example 3 - SysInfo

[adinserter name=”In Article”]

Example 4

In this example we will see different properties of cache memory information that numbers in properties have been converted.

CIM cmdlet:

Get-CimInstance -ClassName Win32_CacheMemory -Property * |
    Select-Object -Property Name,Purpose,Availability,StatusInfo,
        Associativity,CacheType,CurrentSRAM,ErrorAccess,
        ErrorCorrectType,ErrorDataOrder,ErrorInfo,Level,
        Location,ReadPolicy,ReplacementPolicy,SupportedSRAM,
        WritePolicy

Output:

PowerShell Module SysInfo - Example 4 - CIM

SysInfo cmdlet:

Get-CacheMemory |
    Select-Object -Property Name,Purpose,Availability,StatusInfo,
        Associativity,CacheType,CurrentSRAM,ErrorAccess,
        ErrorCorrectType,ErrorDataOrder,ErrorInfo,Level,
        Location,ReadPolicy,ReplacementPolicy,SupportedSRAM,
        WritePolicy

Output:

PowerShell Module SysInfo - Example 4 - SysInfo

[adinserter name=”In Article”]

Units conversion

SysInfo module will convert units of properties in more readable format and this will allow you to used the units that you like. Some properties related to size will be provided in bytes and others in KBytes. By using SysInfo, it will calculate automatically and convert those properties and it will add extra properties accordingly based on the size.

Let see some examples to better understand. The last properties in each screenshot are the calculated properties that have been added to the output object.

Get-Processor

PowerShell Module SysInfo - Example 1 - SysInfo

Get-LocalDisk

PowerShell Module SysInfo - Example 2 - SysInfo

Get-CacheMemory

PowerShell Module SysInfo - Example 4 - SysInfo

[adinserter name=”In Article”]

PowerShell Module Cmdlets List

  • Get-1394Controller
  • Get-BaseBoard
  • Get-Battery
  • Get-BIOS
  • Get-Bus
  • Get-CacheMemory
  • Get-CDROMDrive
  • Get-CompactDisc
  • Get-Desktop
  • Get-DesktopMonitor
  • Get-DiskDrive
  • Get-DiskPartition
  • Get-Fan
  • Get-FloppyController
  • Get-FloppyDrive
  • Get-GlidePoint
  • Get-HeatPipe
  • Get-IDEController
  • Get-InfraredDevice
  • Get-Keyboard
  • Get-LocalDisk
  • Get-LogicalDisk
  • Get-MemoryArray
  • Get-MemoryDevice
  • Get-MotherboardDevice
  • Get-Mouse
  • Get-NetworkAdapter
  • Get-NetworkAdapterConfiguration
  • Get-NetworkDrive
  • Get-OperatingSystem
  • Get-OpticalSensor
  • Get-PhysicalMemory
  • Get-PhysicalMemoryArray
  • Get-PointingDevice
  • Get-PortableBattery
  • Get-PrinterConfiguration
  • Get-PrinterInfo
  • Get-Processor
  • Get-RAMDisk
  • Get-Refrigeration
  • Get-RemovableDisk
  • Get-SCSIController
  • Get-SoundDevice
  • Get-SystemEnclosure
  • Get-TapeDrive
  • Get-TemperatureProbe
  • Get-TouchPad
  • Get-TouchScreen
  • Get-TrackBall
  • Get-TrackPoint
  • Get-USBController
  • Get-VideoController
  • Get-VoltageProbe

Hope you like SysInfo module.

You feedback is appreciated.

If you have any questions or anything else please let me know in the comments below.

[adinserter name=”In Article”]

Related Links

  • PowerShell Scripts
  • PowerShell Tutorial
  • PowerShell Modules
  • Modules Cmdlets
  • PowerShell Gallery | SysInfo
  • GitHub – SConstantinou/SysInfo
  • Install-Module – Microsoft Docs
  • Import-Module – Microsoft Docs

[adinserter name=”Matched-Content”]

Summary
PowerShell Module SysInfo
Article Name
PowerShell Module SysInfo
Description
PowerShell Module SysInfo. In this tutorial you will find information about PowerShell Module SysInfo and its use. Stephanos Constantinou Blog
Author
Stephanos
Publisher Name
Stephanos Constantinou Blog
Publisher Logo
Stephanos Constantinou Blog

Filed Under: PowerShell Modules Tagged With: Win32_1394Controller, Win32_BaseBoard, Win32_Battery, Win32_Bios, Win32_Bus, Win32_CacheMemory, Win32_CDROMDrive, Win32_ComputerSystem, Win32_Desktop, Win32_DesktopMonitor, Win32_DiskDrive, Win32_DiskPartition, Win32_Fan, Win32_FloppyController, Win32_FloppyDrive, Win32_HeatPipe, Win32_IDEController, Win32_InfraredDevice, Win32_Keyboard, Win32_LogicalDisk, Win32_MemoryArray, Win32_MemoryDevice, Win32_MotherboardDevice, Win32_NetworkAdapter, Win32_NetworkAdapterConfiguration, Win32_OperatingSystem, Win32_PhysicalMemory, Win32_PhysicalMemoryArray, Win32_PointingDevice, Win32_PortableBattery, Win32_Printer, Win32_PrinterConfiguration, Win32_Process, Win32_Processor, Win32_Refrigeration, Win32_SCSIController, Win32_SoundDevice, Win32_SystemEnclosure, Win32_TapeDrive, Win32_TemperatureProbe, Win32_USBController, Win32_VideoController, Win32_VoltageProbe

Reader Interactions

Comments

  1. DougWoznicki says

    13/11/2018 at 15:38

    This module steps on get-network adapter that is part of the system. To install it requires clobber. Can you rename to remediate this.

    Reply
    • Stephanos says

      13/11/2018 at 15:54

      Hello,

      The default cmdlet is Get-NetAdapter. Have you checked that there is nothing else custom that you have specified in your system? Can you run Get-Command Get-NetworkAdapter and check the source of the cmdlet or function?

      Thanks
      Stephanos

      Reply
    • Stephanos says

      20/11/2018 at 17:09

      Hello,

      I found out that some cmdlets have naming conflict with VMWare PowerCLI. I have renamed those cmdlets in order to avoid the conflicts.

      Thanks
      Stephanos

      Reply
  2. Václav Domin says

    13/11/2018 at 16:27

    Hallo,
    plan You detecting TPM chipset a show information about it?

    Reply
    • Stephanos says

      13/11/2018 at 16:54

      Hello,

      Currently I have not added TPM information but I will try to add it in my next updates.

      Thanks
      Stephanos

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Footer

Recent Posts

  • ICS Cube Product Review 26/04/2019
  • PowerShell Module SysInfo v1.2.0 15/03/2019
  • PowerShell Module SysInfo v1.1.2 13/11/2018
  • PowerShell Module SysInfo 24/10/2018
  • Get-VoltageProbe 24/10/2018
  • Get-VideoController 24/10/2018
  • Get-USBController 24/10/2018
  • Get-TrackPoint 24/10/2018
  • Get-TrackBall 24/10/2018
  • Get-TouchScreen 24/10/2018
Planet PowerShell

Categories

  • Modules Cmdlets (57)
  • PowerShell Modules (5)
  • PowerShell Scripts (38)
  • PowerShell Tutorials (35)
  • Software Reviews (2)

Archives

  • April 2019 (1)
  • March 2019 (1)
  • November 2018 (1)
  • October 2018 (56)
  • September 2018 (13)
  • August 2018 (9)
  • July 2018 (6)
  • June 2018 (8)
  • May 2018 (7)
  • April 2018 (9)
  • March 2018 (4)
  • February 2018 (6)
  • January 2018 (12)
  • December 2017 (4)
Top 10 PowerShell 2018

Blogroll

  • Planet PowerShell
  • Reddit – PowerShell
  • PowerShell Magazine
  • PowerShell.org
  • PowerShell Team Blog
  • Hey, Scripting Guy! Blog
  • Mike F Robbins
  • PowerShell Explained with Kevin Marquette
  • Mike Kanakos – Network Admin
  • The Lonely Administrator
  • AskME4Tech
PowerShell Blogs Sysadmin Blogs Banners for Top 20 Programming Blogs

© 2023 · Stephanos Constantinou Blog

  • Home
  • Blogs
  • About
  • Contact