FiveChecks measures compliance items (such as free disk space, pending reboot, system uptime, missing updates) at an hourly rate and writes the result to disk.
The result is checked on login and unlock of workstation and toast notifications are shown to the user when measurements are not within compliance range.
The following notifications are implemented.
msiexec.exe /i FiveChecks.msi /qn /l*v %public%\Logs\FiveChecks.msi.log
The setup installs 3 scheduled jobs:
Scheduled Task | Description |
---|---|
FiveChecks System Measurement | Measures system compliance items such as disk space, uptime, pending reboot every hour. |
FiveChecks User Measurement | Measures user compliance items such as desktop data and password expiry every hour. |
FiveChecks | Checks the result of the measurements and notifies the user if a measurement is non-compliant. |
Resource files for the following languages have been added to the FiveChecks project and more languages can be added. Translation help is needed.
Language | Culture Code | Status |
---|---|---|
English | en-US | ✅ |
Norwegian | no-NB | ✅ |
Swedish | sv-SE | ❌ |
Finnish | fi-FI | ❌ |
Do your best to be able to answer yes to the following questions when contributing code.
- Can this method or function easily be tested? (https://markheath.net/post/testable-code-with-pure-functions)
- Is illegal states unrepresentable? (https://enterprisecraftsmanship.com/posts/c-and-f-approaches-to-illegal-state/)
Any bugs have harsher living conditions and are more easily squashed when these two conditions are met.
Resource files are translated using Visual Studio Extension ResX Resource Manager (https://github.com/dotnet/ResXResourceManager/releases)
- Run from an admin command line:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
choco feature enable -n allowGlobalConfirmation
choco install fake
choco upgrade fake
choco install windows-sdk-10-version-1903-all
choco install visualstudio2019buildtools
choco install netfx-4.8-devpack
choco install wixtoolset
choco install git
choco feature disable -n allowGlobalConfirmation
- Run from a standard command prompt:
mkdir c:\dev\github.trondr
cd c:\dev\github.trondr
git clone https://github.com/trondr/FiveChecks.git ./FiveChecks
cd c:\dev\github.trondr\FiveChecks
Build.cmd
- Run from an admin command line:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
choco feature enable -n allowGlobalConfirmation
choco install fake
choco upgrade fake
choco install windows-sdk-10-version-1903-all
choco install netfx-4.8-devpack
choco install notepadplusplus
choco install git
choco install vscode
choco install visualstudio2019enterprise
REM choco install visualstudio2019professional
choco install visualstudio2019buildtools
choco install wixtoolset
choco feature disable -n allowGlobalConfirmation
- Start Visual Studio Installer (from start menu)
- Select Indiviual Components
- Install: MSBuild
- Download and install Wix Toolset Visual Studio 2019 Extension