Oleg's answer was fairly straightforward to follow but I was unable to make it simulate a battery - the actions to disable and enable the real battery did succeed.

PS C:\RunTime> .\RegisterWDTF.exe This version of WDTF is compatible with Windows Build 17763. -Delete registry state. -Get registry path. -Register COM DLLs. Process "C:\RunTime\Actions\Deprecated\DeviceManagement.dll". Process "C:\RunTime\Actions\DeviceSupport\WDTFDeviceSupportAction.dll". Process "C:\RunTime\Actions\DrvPkgLibExt.dll". Not a COM DLL Process "C:\RunTime\Actions\EDT\WDTFEDTAction.dll". Process "C:\RunTime\Actions\IoSpy\WDTFIoAttackAction.dll". Process "C:\RunTime\Actions\IoSpy\WDTFIoSpyAction.dll". Process "C:\RunTime\Actions\SimpleIO\SimpleIO_D3DTest.dll". Process "C:\RunTime\Actions\SimpleIO\WDTFAnySimpleIoAction.dll". Process "C:\RunTime\Actions\SimpleIO\WDTFAudioSimpleIoAction.dll". Process "C:\RunTime\Actions\SimpleIO\WDTFBluetoothSimpleIoAction.dll". Process "C:\RunTime\Actions\SimpleIO\WDTFCDROMSimpleIoAction.dll". Process "C:\RunTime\Actions\SimpleIO\WDTFMobileBroadbandSimpleIoAction.dll". Process "C:\RunTime\Actions\SimpleIO\WDTFMUTT2STRESSSimpleIoAction.dll". Process "C:\RunTime\Actions\SimpleIO\WDTFMUTT2TCDSimpleIoAction.dll". Process "C:\RunTime\Actions\SimpleIO\WDTFNetworkSimpleIoAction.dll". Process "C:\RunTime\Actions\SimpleIO\wdtfsensorsiosimpleioaction.dll". Process "C:\RunTime\Actions\SimpleIO\WDTFVolumeSimpleIoAction.dll". Process "C:\RunTime\Actions\SimpleIO\WDTFWebcamSimpleIoAction.dll". Process "C:\RunTime\Actions\SimpleIO\WDTFWirelessSimpleIoAction.dll". Process "C:\RunTime\Actions\SimpleIO\WDTFWPDSimpleIoAction.dll". Process "C:\RunTime\Actions\SimulatedBattery\WDTFSimulatedBatterySystemAction.dll". Process "C:\RunTime\Actions\System\WDTFSystemAction.dll". Process "C:\RunTime\Actions\WDTFConcurrentIOAction.dll". Process "C:\RunTime\Actions\WDTFCpuUtilizationSystemAction.dll". Process "C:\RunTime\Actions\WDTFDriverPackageAction.dll". Process "C:\RunTime\Actions\WDTFDriverSetupDeviceAction.dll". Process "C:\RunTime\Actions\WDTFDriverSetupSystemAction.dll". Process "C:\RunTime\Actions\WDTFDriverVerifierSystemAction.dll". Process "C:\RunTime\Actions\WDTFFuzzTestAction.dll". Process "C:\RunTime\Actions\WDTFInterfaces\WDTFInterfaces.dll". Process "C:\RunTime\Actions\WDTFPNPAction.dll". Process "C:\RunTime\Actions\WDTFSUPAction.dll". Process "C:\RunTime\WDTF.DLL". -Update registry state. -Install Drivers. -Done WDTF Registration Successful PS C:\RunTime> cscript.exe .\fake-battery.vbs Microsoft (R) Windows Script Host Version 5.812 Copyright (C) Microsoft Corporation. All rights reserved. Loading Wex.Logger.dll from systemdata.cpp linep 922 failed. WDTF_TARGET : INFO : - GetInterface("SimulatedBatterySystem") WDTF_TARGET : INFO : Target: ORANGE WDTF_SIMBATT : INFO : DisableRealBatteries() WDTF_SIMBATT : INFO : EnableSimulatedBattery() WDTF_SIMBATT : ERROR : SimulatedBatterySystem critical error installing battbus device. HRESULT=0xE0000203 C:\RunTime\fake-battery.vbs(22, 1) WDTF.SimulatedBatterySystem.1: SimulatedBatterySystem critical error installing battbus device. HRESULT=0xE0000203

Unfortunately there is no information that I could find on the public Internet about these errors. Hopefully someone out there comes across this and knows what to do next!

--

edit: it appears as though Visual Studio installs various drivers in addition to the testing framework so simply copying RunTime folder is insufficient. I ended up adding my workstation as a full target using VS from another workstation. This then let me simulate the battery.