Skip to content
PowerBGInfo

Ask and fix: self-service for Windows

Answers and fixes at the desk

InformationBox is a Windows app for the person in front of the screen. It shows their device, account and network status, warns before their password expires, opens your support links and runs the fixes you choose to offer. You brand it and control it from one protected config file.

Built-in fixes
29
Themes
7
Licence
AGPL-3.0

Contoso Ltd Hybrid Azure AD joined

Config: C:\ProgramData\InformationBox\config.json

Zone: HQ

Create Ticket
Password12 daysExpires Nov 3
NetworkWi-FiIntel(R) Wi-Fi 6E AX211
IPv410.0.4.27

Device

Machine
CONTOSO-LT-042
User
alex.wilber
Domain
CONTOSO
Tenant
Contoso Ltd

Network

Connection
Wi-Fi
SSID
Contoso-Corp
IPv4
10.0.4.27
Updated: 10/22/2026 9:41 AM RefreshClose
Illustration of the InformationBox window with sample data. Contoso, Alex Wilber and every value shown are fictional. Click the tabs or change the theme in the window's footer.

What the person at the desk gets

One window, docked to the bottom-right corner by default, with a tray icon to bring it back. It shows cached data the moment it opens, refreshes in the background and marks the footer Offline when it could not reach live sources.

The header names the organisation and the device's join state (Azure AD, hybrid, domain, workplace or workgroup). The first support link becomes a button beside it, so Create Ticket is always one click away.

  1. 1Status

    Days until the password expires, the connection type and adapter, and the IPv4 address with a Copy IP button. Device and Network cards list the machine, user, domain, tenant, SSID and address.

  2. 2Health

    Join state, connection, VPN, uptime, ping results for the targets you configure, free space on the system drive, the last Windows Update install and Intune enrolment with its last sync. No administrator rights needed.

  3. 3Account

    Display name, UPN, email, job title, department, office, phones and aliases. The data comes from Microsoft Graph when you configure it and from the Windows session otherwise. Copy UPN puts the sign-in name on the clipboard.

  4. 4OTP

    One-time password codes from an encrypted vault that belongs to this Windows account. See below.

  5. 5Network

    Connection, adapter, SSID, IPv4 and VPN state, with buttons that open the Windows Network and VPN settings pages.

  6. 6Support

    Your links, the local sites for the user's zone and your service desk contacts. The tab appears only when you configure at least one of them.

  7. 7Troubleshoot

    The fixes you choose to show, grouped by category, with search, a confirmation step and the command's output as it runs.

Fixes the user can run

Common end-user problems have a built-in fix: a stuck OneDrive, a broken Teams cache, a stale IP address, a full print queue. Each fix is compiled into the app. The protected machine config can reorder, hide or rename them, and no config file can add a command.

Runs as the user Requires administrator

  • OneDrive

    • Restart OneDrive
    • Reset OneDrive
  • Microsoft Teams

    • Restart Teams
    • Reset Teams cache
  • Browser

    • Clear Edge cache
    • Clear Chrome cache
    • Clear Firefox cache
  • Microsoft Office

    • Restart Outlook
    • Clear Outlook cache
    • Repair Teams add-in
    • Clear Office cache
  • Network

    • Release/Renew IP
    • Reset VPN adapter
    • Test connectivity
    • Flush DNS cache
    • Reset Winsock
    • Reset network stack
  • Printing

    • Restart Print Spooler
    • Clear print queue
  • Windows

    • Reset Microsoft Store
    • Restart Explorer
    • Clear temp files
    • Check Windows Update
    • Refresh Group Policy (User)
    • System file check
    • DISM repair
    • Refresh Group Policy (Computer)
  • Support & Logs

    • Collect basic logs
    • Collect & email logs

As the user

Fixes run in a hidden Windows PowerShell as the signed-in user. Output streams into the Troubleshoot tab, and a command that runs longer than five minutes is stopped.

Administrator fixes

Fixes marked Requires administrator do not prompt for elevation in the standard builds, so they fail unless InformationBox already runs elevated. A custom build can turn on UAC prompts in its embedded defaults. The elevated command then runs in its own PowerShell window, and the tab records its exit status.

Logs for the helpdesk

Collect basic logs writes a diagnostics zip to the desktop. Collect & email logs does the same and opens a message to your support address.

One-time passwords

The OTP tab keeps TOTP and HOTP codes on the machine the user already works on, in a vault encrypted with Windows DPAPI for their account.

Add a code

Type the provider, account label and Base32 secret, or use Add QR to scan a QR code already on the screen. Pick region limits the scan to part of the screen, and migration QR codes import all their accounts at once.

Copy a code

Compact mode shows one account and the list view shows them all. Copy puts the current code on the clipboard. For HOTP it saves the next counter first.

Where it lives

The vault is %LocalAppData%\InformationBox\otp-vault.authimo. It works only for the Windows account that created it, so keep the recovery method your provider gives you.

OTP uses the AuthIMO NuGet package. AuthIMO has a separate, proprietary licence and requires an agreement with Evotec Services.

For admins: one config file, locked down

Everything the user sees comes from a JSON config. InformationBox reads the first file it finds and does not merge it with the next one.

  1. --config <path> Planned

    Choose a config file on the command line.

  2. C:\ProgramData\InformationBox\config.json Machine

    The machine config. Read only when it is protected, and the only file that can change how fixes are presented.

  3. %APPDATA%\InformationBox\config.json User, UI only

    Per-user config. It can change the window, links and branding. Its fixes section is ignored.

  4. Embedded defaults Fallback

    The config.default.json compiled into the app. Used when no other file loads.

Theme choice and OTP settings are saved per user in %LOCALAPPDATA%\InformationBox\settings.json. The log is %APPDATA%\InformationBox\logs\log.txt.

When the machine config counts

InformationBox skips the machine config entirely unless all of these hold:

  • The file and its folder are owned by Administrators, SYSTEM or TrustedInstaller.
  • Only those principals can write to them.
  • Neither the file nor the folder is a reparse point.

Create the folder and file from an elevated deployment, remove inherited write access for users and give users read access.

What JSON cannot do

  • Add an executable fix or replace a fix's command. Fixes without a built-in id are not run.
  • Change a fix's requiresAdmin value or turn on UAC prompts. Elevation comes only from the embedded defaults.
  • Rename or recategorise an administrator fix. Its name, description and confirmation text come from the built-in catalog.
  • Open a file path or a non-web link. Links and local sites accept only http and https URLs without embedded credentials.

Built-in commands can use {{SUPPORT_EMAIL}}, {{COMPANY_NAME}} and {{PRODUCT_NAME}}. They are filled from your branding as single-quoted PowerShell literals.

Branding

Your product name, company, logo, icon, colours, default theme and support address. The theme can be Auto, Light, Dark, Classic, Ocean, Forest or Sunset; Auto follows Windows.

JSONconfig.json
"branding": {
  "productName": "Contoso Help",
  "companyName": "Contoso Ltd",
  "primaryColor": "#0050b3",
  "secondaryColor": "#e5f1ff",
  "logo": "Assets/logo.png",
  "logoWidth": 0,
  "logoHeight": 40,
  "icon": "Assets/app.ico",
  "theme": "Auto",
  "supportEmail": "[email protected]"
}

Tenant overrides

One file can serve several organisations. Key an override by the Entra tenant ID the device is joined to, and its sections replace the base config's branding, layout, links, local sites, contacts, password policy, feature flags or health checks. Security settings in an override are discarded.

JSONconfig.json
"tenantOverrides": {
  "00000000-0000-0000-0000-000000000000": {
    "branding": { "productName": "Fabrikam Help", "supportEmail": "[email protected]" },
    "layout": { "defaultWidth": 720, "denseMode": true }
  }
}

Password policy

The maximum password age, in days, for accounts synced from on-premises AD and for cloud-only accounts. On an Azure AD joined device with a client ID configured, InformationBox reads the account from Microsoft Graph with the delegated User.Read permission and checks AD over LDAP for synced accounts. Otherwise it asks on-premises AD over LDAP.

JSONconfig.json
"passwordPolicy": {
  "onPremDays": 360,
  "cloudDays": 180
},
"auth": { "clientId": "" }

Support tab and feature flags

Links, zones, local sites and contacts fill the Support tab. Zones map the user's DNS domain to a site, and local sites show only in their zone. showLocalSites and showContacts hide those cards. showHelp and showHealth are accepted, but the current source does not change the window for them.

JSONconfig.json
"featureFlags": {
  "showLocalSites": true,
  "showHelp": true,
  "showContacts": true,
  "showHealth": false
},
"links": [ { "name": "Create Ticket", "url": "https://helpdesk.contoso.com", "section": "Support", "order": 1 } ],
"zones": [ { "domain": "corp.contoso.com", "zone": "HQ" } ],
"localSites": [ { "label": "Intranet", "url": "https://intranet.contoso.com", "zone": "HQ" } ],
"contacts": [ { "label": "IT Service Desk", "email": "[email protected]", "phone": "+1-800-555-0100" } ]

Fix presentation

From the protected machine config, address a built-in fix by its id to change its order or hide it. For fixes that run as the user you can also change the name, description, confirmation text and category.

JSONC:\ProgramData\InformationBox\config.json
"fixes": [
  {
    "id": "restart-onedrive",
    "name": "Restart OneDrive",
    "description": "Close and restart the OneDrive sync client",
    "category": "OneDrive",
    "confirm": "OneDrive will be restarted. Continue?",
    "visible": true,
    "order": 1
  },
  { "id": "clear-firefox-cache", "visible": false }
]

Window and tray

Size, the corner and monitor it opens on, tray-only mode and whether Close hides to the tray. Dense mode is on by default.

JSONconfig.json
"layout": {
  "defaultWidth": 680,
  "defaultHeight": 440,
  "horizontalAnchor": "Right",
  "verticalAnchor": "Bottom",
  "multiMonitor": "Active",
  "trayOnly": false,
  "minimizeOnClose": true,
  "denseMode": true
}

Four ways to ship it

Build/Deploy.ps1 publishes four Windows x64 builds from the same source and zips each one. Pick by whether your machines already have the .NET 10 Desktop Runtime.

BuildWhat you getNeeds .NET 10Zip
portable/Self-contained, loose filesNoInformationBox-portable.zip
single-contained/Self-contained, one compressed file that extracts its native librariesNoInformationBox-single-contained.zip
single-fx/Framework-dependent, one compressed fileYesInformationBox-singlefx.zip
fx/Framework-dependent, loose files; the smallest downloadYesInformationBox-fx.zip

Download and source

Portable builds will be published on GitHub Releases. Until the first release appears there, build them from source on Windows with the .NET 10 SDK.

First release pending

GitHub Releases Source code

Runs on
Windows (x64 builds)
Built with
.NET 10, WPF
Licence
AGPL-3.0
OTP dependency
AuthIMO, separate proprietary licence
PowerShellBuild from source
git clone https://github.com/EvotecIT/InformationBox.git
cd InformationBox

# All four flavours into Artefacts\
pwsh Build/Deploy.ps1

# Or a single debug build
dotnet build InformationBox/InformationBox.csproj -c Debug

Works with PowerBGInfo

PowerBGInfo puts a machine's name, address and support contacts on the wallpaper, where everyone at the desk sees them without opening anything. InformationBox is where the user acts on them: copy the address, check the password, open a ticket or run a fix.

  1. Show

    PowerBGInfo

    The wallpaper names the machine, its IP address and who to call. A QR code on it can open your helpdesk page.

    Available
  2. Ask and fix

    InformationBox

    The window gives the user the same facts to copy, their account and password status, and fixes to try before they call.

    Available
  3. Hand off

    Wallpaper tile and QR code

    A PowerBGInfo tile or QR code that opens InformationBox on the right tab.

    Planned

See PowerBGInfo wallpapers