Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/evotecit/powerbginfo

PowerBGInfo is a PowerShell module that is used to generate background information for Windows machines. It's a replacement for BGInfo that doesn't require installation and is much more flexible.
https://github.com/evotecit/powerbginfo

bginfo powershell

Last synced: about 1 month ago
JSON representation

PowerBGInfo is a PowerShell module that is used to generate background information for Windows machines. It's a replacement for BGInfo that doesn't require installation and is much more flexible.

Awesome Lists containing this project

README

        

















**PowerBGInfo** is a PowerShell module that is used to generate background information for Windows machines.
It's a replacement for [BGInfo](https://technet.microsoft.com/en-us/sysinternals/bginfo.aspx) that doesn't require installation and is much more flexible.

You can read about this project on this [blog post](https://evotec.xyz/powerbginfo-powershell-alternative-to-sysinternals-bginfo/) that tells a little backstory and shows few things.

## Installation

Install from [PowerShell Gallery](https://www.powershellgallery.com/packages/PowerBGInfo) is as easy as:

```powershell
Install-Module PowerBGInfo -Force -Verbose
```

When there's an update you can update it using same command which will install new module version.

## Known Issues

This module will work fine for PowerShell 5.1 and PowerShell 7+.
**Currently the module has a problem when running in VSCode PowerShell extension when on PowerShell 5.1 (other versions work fine!)**
It works fine when running in PowerShell 5.1 console, or ISE (shrug!).

## Usage

Here's a small taste of the code:

```powershell
New-BGInfo -MonitorIndex 0 {
# Lets add computer name, but lets use builtin values for that
New-BGInfoValue -BuiltinValue HostName -Color Red -FontSize 20 -FontFamilyName 'Calibri'
# Lets add user name, but lets use builtin values for that
New-BGInfoValue -BuiltinValue FullUserName -Name "FullUserName" -Color White
New-BGInfoValue -BuiltinValue CpuName
New-BGInfoValue -BuiltinValue CpuLogicalCores
New-BGInfoValue -BuiltinValue RAMSize
New-BGInfoValue -BuiltinValue RAMSpeed

# Lets add Label, but without any values, kind of like section starting
New-BGInfoLabel -Name "Drives" -Color LemonChiffon -FontSize 16 -FontFamilyName 'Calibri'

# Lets get all drives and their labels
foreach ($Disk in (Get-Disk)) {
$Volumes = $Disk | Get-Partition | Get-Volume
foreach ($V in $Volumes) {
New-BGInfoValue -Name "Drive $($V.DriveLetter)" -Value $V.SizeRemaining
}
}
} -FilePath $PSScriptRoot\Samples\PrzemyslawKlysAndKulkozaurr.jpg -ConfigurationDirectory $PSScriptRoot\Output -PositionX 100 -PositionY 100 -WallpaperFit Center
```

Here's how the wallpaper will look like:

![PowerBGInfo](https://raw.githubusercontent.com/EvotecIT/PowerBGInfo/master/Examples/Output/PrzemyslawKlysAndKulkozaurr.jpg)

You can also use only builtin values

```powershell
New-BGInfo -MonitorIndex 0 {
# Lets add computer name, but lets use builtin values for that
New-BGInfoValue -BuiltinValue HostName -Color Red -FontSize 20 -FontFamilyName 'Calibri'
New-BGInfoValue -BuiltinValue FullUserName -Color White
New-BGInfoValue -BuiltinValue CpuName -Color White
New-BGInfoValue -BuiltinValue CpuLogicalCores -Color White -ValueColor Red
New-BGInfoValue -BuiltinValue RAMSize -Color White
New-BGInfoValue -BuiltinValue RAMSpeed -Color White -ValueColor ([SixLabors.ImageSharp.Color]::Aquamarine)
New-BGInfoValue -BuiltinValue RAMPartNumber -Color White
New-BGInfoValue -BuiltinValue BiosVersion -Color White
New-BGInfoValue -BuiltinValue BiosManufacturer -Color White
New-BGInfoValue -BuiltinValue BiosReleaseDate -Color White
New-BGInfoValue -BuiltinValue OSName -Color White -Name "Operating System"
New-BGInfoValue -BuiltinValue OSVersion -Color White
New-BGInfoValue -BuiltinValue OSArchitecture -Color White
New-BGInfoValue -BuiltinValue OSBuild -Color White
New-BGInfoValue -BuiltinValue OSInstallDate -Color White
New-BGInfoValue -BuiltinValue OSLastBootUpTime -Color White

} -FilePath "C:\Support\GitHub\PowerBGInfo\Examples\Samples\TapN-Evotec-1600x900.jpg" -ConfigurationDirectory $PSScriptRoot\Output -PositionX 75 -PositionY 75 -WallpaperFit Fit
```

Here's the output from command above

![PowerBGInfo](https://raw.githubusercontent.com/EvotecIT/PowerBGInfo/master/Examples/Output/TapN-Evotec-1600x900.jpg)