Shigeya Tanabe's blog : PowerShell でバッテリーのモデルを調べる という記事を見て、WSH で同じようなやつを書いてみました。該当バッテリーのリストはWSH内に埋め込んでありますので、Dellのリストが更新されたときには、適宜書き換えてください。
Option Explicit
On Error Resume Next
Dim strAffected
Dim WMI
Dim strMachine
Dim objItems
Dim objRegExp
Dim strBatteryName
'https://www.dellbatteryprogram.com/
strAffected = _
" 1K055 C5446 F2100 KD494 W5915 Y1333 " & _
" 3K590 C6269 F5132 OR331 X5308 Y4500 " & _
" 5P474 C6270 GD785 M3006 X5329 Y5466 " & _
" 6P922 D2961 H3191 RD857 X5332 " & _
" C2603 D5555 J1524 TD349 X5333 " & _
" C5339 D6024 JD616 U5867 X5875 " & _
" C5340 D6025 JD617 U5882 X5877"
strMachine = "."
Set WMI = GetObject( "winmgmts:\\" & strMachine & "\root\cimv2" )
Set objItems = WMI.ExecQuery( "SELECT * FROM Win32_Battery", , 48 )
Set objRegExp = New RegExp
objRegExp.Pattern = "^0*[A-Z0-9][A-Z0-9][0-9][0-9][0-9]$"
objRegExp.Global = True
objRegExp.IgnoreCase = False
For Each objBattery In objItems
strBatteryName = objBattery.Name
If objRegExp.Test( strBatteryName ) Then
strBatteryName = Right( strBatteryName, 5 )
If InStr( strAffected, strBatteryName ) > 0 Then
WScript.Echo "Affected! " & objBattery.Name & " / " & _
objBattery.Caption & " / " & objBattery.Description
End If
End If
Next
WScript.Quit