From b978a2e23e4301f368e3c5707d4120ea7e559873 Mon Sep 17 00:00:00 2001 From: Sebastian Hildebrandt Date: Fri, 11 Nov 2022 06:39:25 +0100 Subject: [PATCH] replace Get-WmiObject with Get-CimInstance (win) --- lib/memory.js | 2 +- lib/network.js | 6 +++--- lib/osinfo.js | 6 +++--- lib/printer.js | 2 +- lib/processes.js | 6 +++--- lib/system.js | 14 +++++++------- lib/usb.js | 2 +- lib/users.js | 6 +++--- 8 files changed, 22 insertions(+), 22 deletions(-) diff --git a/lib/memory.js b/lib/memory.js index be861562..7438aa67 100644 --- a/lib/memory.js +++ b/lib/memory.js @@ -504,7 +504,7 @@ function memLayout(callback) { const FormFactors = 'Unknown|Other|SIP|DIP|ZIP|SOJ|Proprietary|SIMM|DIMM|TSOP|PGA|RIMM|SODIMM|SRIMM|SMD|SSMP|QFP|TQFP|SOIC|LCC|PLCC|BGA|FPBGA|LGA'.split('|'); try { - util.powerShell('Get-WmiObject Win32_PhysicalMemory | select DataWidth,TotalWidth,Capacity,BankLabel,MemoryType,SMBIOSMemoryType,ConfiguredClockSpeed,FormFactor,Manufacturer,PartNumber,SerialNumber,ConfiguredVoltage,MinVoltage,MaxVoltage | fl').then((stdout, error) => { + util.powerShell('Get-CimInstance Win32_PhysicalMemory | select DataWidth,TotalWidth,Capacity,BankLabel,MemoryType,SMBIOSMemoryType,ConfiguredClockSpeed,FormFactor,Manufacturer,PartNumber,SerialNumber,ConfiguredVoltage,MinVoltage,MaxVoltage | fl').then((stdout, error) => { if (!error) { let devices = stdout.toString().split(/\n\s*\n/); devices.shift(); diff --git a/lib/network.js b/lib/network.js index e3a29e3f..f78bd550 100644 --- a/lib/network.js +++ b/lib/network.js @@ -247,8 +247,8 @@ function parseLinesWindowsNics(sections, nconfigsections) { function getWindowsNics() { return new Promise((resolve) => { process.nextTick(() => { - let cmd = 'Get-WmiObject Win32_NetworkAdapter | fl *' + '; echo \'#-#-#-#\';'; - cmd += 'Get-WmiObject Win32_NetworkAdapterConfiguration | fl DHCPEnabled' + ''; + let cmd = 'Get-CimInstance Win32_NetworkAdapter | fl *' + '; echo \'#-#-#-#\';'; + cmd += 'Get-CimInstance Win32_NetworkAdapterConfiguration | fl DHCPEnabled' + ''; try { util.powerShell(cmd).then((data) => { data = data.split('#-#-#-#'); @@ -1317,7 +1317,7 @@ function networkStatsSingle(iface) { let ifaceName = ifaceSanitized; // Performance Data - util.powerShell('Get-WmiObject Win32_PerfRawData_Tcpip_NetworkInterface | select Name,BytesReceivedPersec,PacketsReceivedErrors,PacketsReceivedDiscarded,BytesSentPersec,PacketsOutboundErrors,PacketsOutboundDiscarded | fl').then((stdout, error) => { + util.powerShell('Get-CimInstance Win32_PerfRawData_Tcpip_NetworkInterface | select Name,BytesReceivedPersec,PacketsReceivedErrors,PacketsReceivedDiscarded,BytesSentPersec,PacketsOutboundErrors,PacketsOutboundDiscarded | fl').then((stdout, error) => { if (!error) { const psections = stdout.toString().split(/\n\s*\n/); perfData = parseLinesWindowsPerfData(psections); diff --git a/lib/osinfo.js b/lib/osinfo.js index e784f3ae..0febb045 100644 --- a/lib/osinfo.js +++ b/lib/osinfo.js @@ -326,7 +326,7 @@ function osInfo(callback) { result.release = result.kernel; try { const workload = []; - workload.push(util.powerShell('Get-WmiObject Win32_OperatingSystem | select Caption,SerialNumber,BuildNumber,ServicePackMajorVersion,ServicePackMinorVersion | fl')); + workload.push(util.powerShell('Get-CimInstance Win32_OperatingSystem | select Caption,SerialNumber,BuildNumber,ServicePackMajorVersion,ServicePackMinorVersion | fl')); workload.push(util.powerShell('(Get-CimInstance Win32_ComputerSystem).HypervisorPresent')); workload.push(util.powerShell('Add-Type -AssemblyName System.Windows.Forms; [System.Windows.Forms.SystemInformation]::TerminalServerSession')); util.promiseAll( @@ -734,7 +734,7 @@ function versions(apps, callback) { }); } else { if (_windows) { - util.powerShell('Get-WmiObject Win32_Service | select caption | fl').then((stdout) => { + util.powerShell('Get-CimInstance Win32_Service | select caption | fl').then((stdout) => { let serviceSections = stdout.split(/\n\s*\n/); serviceSections.forEach((item) => { if (item.trim() !== '') { @@ -1132,7 +1132,7 @@ echo -n "hardware: "; cat /sys/class/dmi/id/product_uuid 2> /dev/null; echo;`; if (process.arch === 'ia32' && Object.prototype.hasOwnProperty.call(process.env, 'PROCESSOR_ARCHITEW6432')) { sysdir = '%windir%\\sysnative\\cmd.exe /c %windir%\\System32'; } - util.powerShell('Get-WmiObject Win32_ComputerSystemProduct | select UUID | fl').then((stdout) => { + util.powerShell('Get-CimInstance Win32_ComputerSystemProduct | select UUID | fl').then((stdout) => { let lines = stdout.split('\r\n'); result.hardware = util.getValue(lines, 'uuid', ':').toLowerCase(); exec(`${sysdir}\\reg query "HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography" /v MachineGuid`, util.execOptsWin, function (error, stdout) { diff --git a/lib/printer.js b/lib/printer.js index b437489d..fe0e9ff8 100644 --- a/lib/printer.js +++ b/lib/printer.js @@ -184,7 +184,7 @@ function printer(callback) { }); } if (_windows) { - util.powerShell('Get-WmiObject Win32_Printer | select PrinterStatus,Name,DriverName,Local,Default,Shared | fl').then((stdout, error) => { + util.powerShell('Get-CimInstance Win32_Printer | select PrinterStatus,Name,DriverName,Local,Default,Shared | fl').then((stdout, error) => { if (!error) { const parts = stdout.toString().split(/\n\s*\n/); for (let i = 0; i < parts.length; i++) { diff --git a/lib/processes.js b/lib/processes.js index f52a3d14..782cf3e1 100644 --- a/lib/processes.js +++ b/lib/processes.js @@ -335,7 +335,7 @@ function services(srv, callback) { } if (_windows) { try { - let wincommand = 'Get-WmiObject Win32_Service'; + let wincommand = 'Get-CimInstance Win32_Service'; if (srvs[0] !== '*') { wincommand += ' -Filter "'; srvs.forEach((srv) => { @@ -823,7 +823,7 @@ function processes(callback) { }); } else if (_windows) { try { - util.powerShell('Get-WmiObject Win32_Process | select ProcessId,ParentProcessId,ExecutionState,Caption,CommandLine,ExecutablePath,UserModeTime,KernelModeTime,WorkingSetSize,Priority,PageFileUsage,CreationDate | fl').then((stdout, error) => { + util.powerShell('Get-CimInstance Win32_Process | select ProcessId,ParentProcessId,ExecutionState,Caption,CommandLine,ExecutablePath,UserModeTime,KernelModeTime,WorkingSetSize,Priority,PageFileUsage,CreationDate | fl').then((stdout, error) => { if (!error) { let processSections = stdout.split(/\n\s*\n/); let procs = []; @@ -1003,7 +1003,7 @@ function processLoad(proc, callback) { if (procSanitized && processes.length && processes[0] !== '------') { if (_windows) { try { - util.powerShell('Get-WmiObject Win32_Process | select ProcessId,Caption,UserModeTime,KernelModeTime,WorkingSetSize | fl').then((stdout, error) => { + util.powerShell('Get-CimInstance Win32_Process | select ProcessId,Caption,UserModeTime,KernelModeTime,WorkingSetSize | fl').then((stdout, error) => { if (!error) { let processSections = stdout.split(/\n\s*\n/); let procStats = []; diff --git a/lib/system.js b/lib/system.js index f5d21c66..6644b994 100644 --- a/lib/system.js +++ b/lib/system.js @@ -343,7 +343,7 @@ function system(callback) { } if (_windows) { try { - util.powerShell('Get-WmiObject Win32_ComputerSystemProduct | select Name,Vendor,Version,IdentifyingNumber,UUID | fl').then((stdout, error) => { + util.powerShell('Get-CimInstance Win32_ComputerSystemProduct | select Name,Vendor,Version,IdentifyingNumber,UUID | fl').then((stdout, error) => { if (!error) { // let lines = stdout.split('\r\n').filter(line => line.trim() !== '').filter((line, idx) => idx > 0)[0].trim().split(/\s\s+/); let lines = stdout.split('\r\n'); @@ -369,13 +369,13 @@ function system(callback) { if (manufacturer.startsWith('xen')) { result.virtualHost = 'Xen'; } if (manufacturer.startsWith('qemu')) { result.virtualHost = 'KVM'; } } - util.powerShell('Get-WmiObject MS_Systeminformation -Namespace "root/wmi" | select systemsku | fl ').then((stdout, error) => { + util.powerShell('Get-CimInstance MS_Systeminformation -Namespace "root/wmi" | select systemsku | fl ').then((stdout, error) => { if (!error) { let lines = stdout.split('\r\n'); result.sku = util.getValue(lines, 'systemsku', ':'); } if (!result.virtual) { - util.powerShell('Get-WmiObject Win32_bios | select Version, SerialNumber, SMBIOSBIOSVersion').then((stdout, error) => { + util.powerShell('Get-CimInstance Win32_bios | select Version, SerialNumber, SMBIOSBIOSVersion').then((stdout, error) => { if (!error) { let lines = stdout.toString(); if (lines.indexOf('VRTUAL') >= 0 || lines.indexOf('A M I ') >= 0 || lines.indexOf('VirtualBox') >= 0 || lines.indexOf('VMWare') >= 0 || lines.indexOf('Xen') >= 0) { @@ -506,7 +506,7 @@ function bios(callback) { } if (_windows) { try { - util.powerShell('Get-WmiObject Win32_bios | select Description,Version,Manufacturer,ReleaseDate,BuildNumber,SerialNumber | fl').then((stdout, error) => { + util.powerShell('Get-CimInstance Win32_bios | select Description,Version,Manufacturer,ReleaseDate,BuildNumber,SerialNumber | fl').then((stdout, error) => { if (!error) { let lines = stdout.toString().split('\r\n'); const description = util.getValue(lines, 'description', ':'); @@ -664,8 +664,8 @@ function baseboard(callback) { const workload = []; const win10plus = parseInt(os.release()) >= 10; const maxCapacityAttribute = win10plus ? 'MaxCapacityEx' : 'MaxCapacity'; - workload.push(util.powerShell('Get-WmiObject Win32_baseboard | select Model,Manufacturer,Product,Version,SerialNumber,PartNumber,SKU | fl')); - workload.push(util.powerShell(`Get-WmiObject Win32_physicalmemoryarray | select ${maxCapacityAttribute}, MemoryDevices | fl`)); + workload.push(util.powerShell('Get-CimInstance Win32_baseboard | select Model,Manufacturer,Product,Version,SerialNumber,PartNumber,SKU | fl')); + workload.push(util.powerShell(`Get-CimInstance Win32_physicalmemoryarray | select ${maxCapacityAttribute}, MemoryDevices | fl`)); util.promiseAll( workload ).then((data) => { @@ -797,7 +797,7 @@ function chassis(callback) { } if (_windows) { try { - util.powerShell('Get-WmiObject Win32_SystemEnclosure | select Model,Manufacturer,ChassisTypes,Version,SerialNumber,PartNumber,SKU | fl').then((stdout, error) => { + util.powerShell('Get-CimInstance Win32_SystemEnclosure | select Model,Manufacturer,ChassisTypes,Version,SerialNumber,PartNumber,SKU | fl').then((stdout, error) => { if (!error) { let lines = stdout.toString().split('\r\n'); diff --git a/lib/usb.js b/lib/usb.js index d7c1fa3b..3bcc9e7e 100644 --- a/lib/usb.js +++ b/lib/usb.js @@ -231,7 +231,7 @@ function usb(callback) { }); } if (_windows) { - util.powerShell('Get-WmiObject CIM_LogicalDevice | where { $_.Description -match "USB"} | select Name,CreationClassName,DeviceId,Manufacturer | fl').then((stdout, error) => { + util.powerShell('Get-CimInstance CIM_LogicalDevice | where { $_.Description -match "USB"} | select Name,CreationClassName,DeviceId,Manufacturer | fl').then((stdout, error) => { if (!error) { const parts = stdout.toString().split(/\n\s*\n/); for (let i = 0; i < parts.length; i++) { diff --git a/lib/users.js b/lib/users.js index 38ecfe16..0b1a508d 100644 --- a/lib/users.js +++ b/lib/users.js @@ -207,9 +207,9 @@ function users(callback) { } if (_windows) { try { - let cmd = 'Get-WmiObject Win32_LogonSession | select LogonId,StartTime | fl' + '; echo \'#-#-#-#\';'; - cmd += 'Get-WmiObject Win32_LoggedOnUser | select antecedent,dependent | fl ' + '; echo \'#-#-#-#\';'; - cmd += 'Get-WmiObject Win32_Process -Filter "name=\'explorer.exe\'" | Select @{Name="sessionid";Expression={$_.SessionId}}, @{Name="domain";Expression={$_.GetOwner().Domain}}, @{Name="username";Expression={$_.GetOwner().User}} | fl' + '; echo \'#-#-#-#\';'; + let cmd = 'Get-CimInstance Win32_LogonSession | select LogonId,StartTime | fl' + '; echo \'#-#-#-#\';'; + cmd += 'Get-CimInstance Win32_LoggedOnUser | select antecedent,dependent | fl ' + '; echo \'#-#-#-#\';'; + cmd += 'Get-CimInstance Win32_Process -Filter "name=\'explorer.exe\'" | Select @{Name="sessionid";Expression={$_.SessionId}}, @{Name="domain";Expression={$_.GetOwner().Domain}}, @{Name="username";Expression={$_.GetOwner().User}} | fl' + '; echo \'#-#-#-#\';'; cmd += 'query user'; util.powerShell(cmd).then((data) => { if (data) {