1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-06-19 00:17:51 +02:00

Merge pull request #106 from jon-rd/j/systeminfo

Add windows systeminfo command parser
This commit is contained in:
Kelly Brazil
2021-04-14 16:39:44 -07:00
committed by GitHub
13 changed files with 1723 additions and 0 deletions

152
docs/parsers/systeminfo.md Normal file
View File

@ -0,0 +1,152 @@
# jc.parsers.systeminfo
jc - JSON CLI output utility `systeminfo` command output parser
Parses Windows "systeminfo" command. Multiline values such as
hotfixes or network cards are unparsed.
Usage (cli):
$ systeminfo | jc --systeminfo
Usage (module):
import jc.parsers.systeminfo
result = jc.parsers.systeminfo.parse(systeminfo_command_output)
Compatibility:
'win32'
Examples:
$ systeminfo | jc --systeminfo -p
{
"host_name": "DESKTOP-WIN01",
"os_name": "Microsoft Windows 10 Enterprise",
"os_version": "10.0.19042 N/A Build 19042",
"os_manufacturer": "Microsoft Corporation",
"os_configuration": "Member Workstation",
"os_build_type": "Multiprocessor Free",
"registered_owner": "User",
"registered_organization": "",
"product_id": "00111-12345-00001-AA111",
"original_install_date": "2/16/2021, 11:20:27 AM",
"system_boot_time": "3/19/2021, 9:25:03 AM",
"system_manufacturer": "VMware, Inc.",
"system_model": "VMware7,1",
"system_type": "x64-based PC",
"processors": "1 Processor(s) Installed.
[01]: ...",
"bios_version": "VMware, Inc. VMW71.00V.11111111.B64.2008100111, 8/10/2020",
"windows_directory": "C:\Windows",
"system_directory": "C:\Windows\system32",
"boot_device": "\Device\HarddiskVolume1",
"system_locale": "en-us;English (United States)",
"input_locale": "en-us;English (United States)",
"time_zone": "(UTC-08:00) Pacific Time (US & Canada)",
"total_physical_memory": "2,047 MB",
"available_physical_memory": "1,417 MB",
"virtual_memory_max_size": "2,687 MB",
"virtual_memory_available": "1,482 MB",
"virtual_memory_in_use": "1,205 MB",
"page_file_locations": "C:\pagefile.sys",
"domain": "TEST.local",
"logon_server": "\\WIN-AA1A1A11AAA",
"hotfixs": "6 Hotfix(s) Installed.
[01]: KB4578...",
"network_cards": "1 NIC(s) Installed.
[01]: Int...",
"hyperv_requirements": "A hypervisor has been detected. Features required fo..."
}
## info
```python
info()
```
## process
```python
process(proc_data)
```
Final processing to conform to the schema.
Parameters:
proc_data: (List of Dictionaries) raw structured data to process
Returns:
List of Dictionaries. Some keys are optional. Example: a non-virtualized server will not have
the "hyperv_requirements" key. Structured data with the following schema:
[
{
"host_name": "string",
"os_name": "string",
"os_version": "string",
"os_manufacturer": "string",
"os_configuration": "string",
"os_build_type": "string",
"registered_owner": "string",
"registered_organization": "string",
"product_id": "string",
"original_install_date": "string",
"system_boot_time": "string",
"system_manufacturer": "string",
"system_model": "string",
"system_type": "string",
"processors": "string",
"bios_version": "string",
"windows_directory": "string",
"system_directory": "string",
"boot_device": "string",
"system_locale": "string",
"input_locale": "string",
"time_zone": "string",
"total_physical_memory": "string",
"available_physical_memory": "string",
"virtual_memory_max_size": "string",
"virtual_memory_available": "string",
"virtual_memory_in_use": "string",
"page_file_locations": "string",
"domain": "string",
"logon_server": "string",
"hotfixs": "string",
"network_cards": "string",
"hyperv_requirements": "string"
}
]
## parse
```python
parse(data, raw=False, quiet=False)
```
Main text parsing function
Parameters:
data: (string) text data to parse
raw: (boolean) output preprocessed JSON if True
quiet: (boolean) suppress warning messages if True
Returns:
List of Dictionaries. Raw or processed structured data.
## get_value_pos
```python
get_value_pos(line, delim)
```
Finds the first non-whitespace character after the delimiter
Parameters:
line: (string) Input string
delim: (string) The data delimiter

View File

@ -97,6 +97,7 @@ parsers = [
'systemctl-lj', 'systemctl-lj',
'systemctl-ls', 'systemctl-ls',
'systemctl-luf', 'systemctl-luf',
'systeminfo',
'time', 'time',
'timedatectl', 'timedatectl',
'tracepath', 'tracepath',

508
jc/parsers/systeminfo.py Normal file
View File

@ -0,0 +1,508 @@
"""jc - JSON CLI output utility `systeminfo` command output parser
Parses Windows "systeminfo" command.
Usage (cli):
$ systeminfo | jc --systeminfo
Usage (module):
import jc.parsers.systeminfo
result = jc.parsers.systeminfo.parse(systeminfo_command_output)
Compatibility:
'win32'
Examples:
$ systeminfo | jc --systeminfo -p -r
{
"host_name": "DESKTOP-WIN01",
"os_name": "Microsoft Windows 10 Enterprise",
"os_version": "10.0.19042 N/A Build 19042",
"os_manufacturer": "Microsoft Corporation",
"os_configuration": "Member Workstation",
"os_build_type": "Multiprocessor Free",
"registered_owner": "User",
"registered_organization": "",
"product_id": "00111-12345-00001-AA111",
"original_install_date": "2/16/2021, 11:20:27 AM",
"system_boot_time": "3/19/2021, 9:25:03 AM",
"system_manufacturer": "VMware, Inc.",
"system_model": "VMware7,1",
"system_type": "x64-based PC",
"processors": ["Intel64 Family 6 Model 158 Stepping 13 GenuineIntel ~2400 Mhz"],
"bios_version": "VMware, Inc. VMW71.00V.11111111.B64.2008100111, 8/10/2020",
"windows_directory": "C:\\Windows",
"system_directory": "C:\\Windows\\system32",
"boot_device": "\\Device\\HarddiskVolume1",
"system_locale": "en-us;English (United States)",
"input_locale": "en-us;English (United States)",
"time_zone": "(UTC-08:00) Pacific Time (US & Canada)",
"total_physical_memory_mb": "2,047 MB",
"available_physical_memory_mb": "1,417 MB",
"virtual_memory_max_size_mb": "2,687 MB",
"virtual_memory_available_mb": "1,482 MB",
"virtual_memory_in_use_mb": "1,205 MB",
"page_file_locations": "C:\\pagefile.sys",
"domain": "TEST.local",
"logon_server": "\\\\WIN-AA1A1A11AAA",
"hotfixs": [
"KB4578968",
"KB4562830",
"KB4570334",
"KB4580325",
"KB4586864",
"KB4594440"
],
"network_cards": [
{
"name": "Intel(R) 82574L Gigabit Network Connection",
"connection_name": "Ethernet0",
"status": "",
"dhcp_enabled": "Yes",
"dhcp_server": "192.168.133.250",
"ip_addresses": [
"192.168.133.3",
"fe80::192:eb64:1fcf:86eb"
]
}
],
"hyperv_requirements": {
"vm_monitor_mode_extensions": "Yes",
"virtualization_enabled_in_firmware": "Yes",
"second_level_address_translation": "No",
"data_execution_prevention_available": "Yes"
}
}
$ systeminfo | jc --systeminfo -p
{
"host_name": "DESKTOP-WIN01",
"os_name": "Microsoft Windows 10 Enterprise",
"os_version": "10.0.19042 N/A Build 19042",
"os_manufacturer": "Microsoft Corporation",
"os_configuration": "Member Workstation",
"os_build_type": "Multiprocessor Free",
"registered_owner": "User",
"registered_organization": "",
"product_id": "00111-12345-00001-AA111",
"original_install_date": 1613496027,
"system_boot_time": 1616163903,
"system_manufacturer": "VMware, Inc.",
"system_model": "VMware7,1",
"system_type": "x64-based PC",
"processors": ["Intel64 Family 6 Model 158 Stepping 13 GenuineIntel ~2400 Mhz"],
"bios_version": "VMware, Inc. VMW71.00V.11111111.B64.2008100111, 8/10/2020",
"windows_directory": "C:\\Windows",
"system_directory": "C:\\Windows\\system32",
"boot_device": "\\Device\\HarddiskVolume1",
"system_locale": "en-us;English (United States)",
"input_locale": "en-us;English (United States)",
"time_zone": "(UTC-08:00) Pacific Time (US & Canada)",
"total_physical_memory_mb": 2047,
"available_physical_memory_mb": 1417,
"virtual_memory_max_size_mb": 2687,
"virtual_memory_available_mb": 1482,
"virtual_memory_in_use_mb": 1205",
"page_file_locations": "C:\\pagefile.sys",
"domain": "TEST.local",
"logon_server": "\\\\WIN-AA1A1A11AAA",
"hotfixs": [
"KB4578968",
"KB4562830",
"KB4570334",
"KB4580325",
"KB4586864",
"KB4594440"
],
"network_cards": [
{
"name": "Intel(R) 82574L Gigabit Network Connection",
"connection_name": "Ethernet0",
"status": "",
"dhcp_enabled": true,
"dhcp_server": "192.168.133.250",
"ip_addresses": [
"192.168.133.3",
"fe80::192:eb64:1fcf:86eb"
]
}
],
"hyperv_requirements": {
"vm_monitor_mode_extensions": "Yes",
"virtualization_enabled_in_firmware": "Yes",
"second_level_address_translation": "No",
"data_execution_prevention_available": "Yes"
}
}
"""
import re
import jc.utils
class info:
version = "0.5 (beta)"
description = "Windows systeminfo command parser"
author = "Jon Smith"
author_email = "jon@rebelliondefense.com"
# details = 'enter any other details here'
# compatible options: linux, darwin, cygwin, win32, aix, freebsd
compatible = ["win32"]
magic_commands = ["systeminfo"]
__version__ = info.version
def process(proc_data):
"""
Final processing to conform to the schema.
Parameters:
proc_data: (Dictionary) raw structured data to process
Returns:
Dictionary. Some keys are optional. Example: a system without hyper-v capabilities
will not have a 'hyperv_requirements' key, and a system already running hyper-v
will have an empty "hyperv_requirements" object.
Structured data with the following schema:
{
"host_name": "string",
"os_name": "string",
"os_version": "string",
"os_manufacturer": "string",
"os_configuration": "string",
"os_build_type": "string",
"registered_owner": "string",
"registered_organization": "string",
"product_id": "string",
"original_install_date": integer, # naive timestamp
"system_boot_time": integer, # naive timestamp
"system_manufacturer": "string",
"system_model": "string",
"system_type": "string",
"processors": ["string"],
"bios_version": "string",
"windows_directory": "string",
"system_directory": "string",
"boot_device": "string",
"system_locale": "string",
"input_locale": "string",
"time_zone": "string",
"total_physical_memory_mb": "string",
"available_physical_memory_mb": integer,
"virtual_memory_max_size_mb": integer,
"virtual_memory_available_mb": integer,
"virtual_memory_in_use_mb": integer,
"page_file_locations": "string",
"domain": "string",
"logon_server": "string",
"hotfixs": ["string"],
"network_cards": [
{
"name": "string",
"connection_name": "string",
"status": "string",
"dhcp_enabled": boolean,
"dhcp_server": "string",
"ip_addresses": ["string"]
}
],
"hyperv_requirements": {
"vm_monitor_mode_extensions": boolean,
"virtualization_enabled_in_firmware": boolean,
"second_level_address_translation": boolean,
"data_execution_prevention_available": boolean
}
}
"""
# rebuild output for added semantic information
for i, nic in enumerate(proc_data["network_cards"]):
proc_data["network_cards"][i]["dhcp_enabled"] = convert_to_boolean(
nic["dhcp_enabled"]
)
int_list = [
"total_physical_memory_mb",
"available_physical_memory_mb",
"virtual_memory_max_size_mb",
"virtual_memory_available_mb",
"virtual_memory_in_use_mb",
]
for key in int_list:
proc_data[key] = convert_to_int(proc_data.get(key))
dt_list = ["original_install_date", "system_boot_time"]
for key in dt_list:
tz = proc_data.get("time_zone", "")
if tz:
# convert
# from: (UTC-08:00) Pacific Time (US & Canada)
# to: (UTC-0800)
tz_fields = tz.split(" ")
tz = " " + tz_fields[0].replace(":", "")
proc_data[key] = jc.utils.timestamp(f"{proc_data.get(key)}{tz}").naive
hyperv_key = "hyperv_requirements"
hyperv_subkey_list = [
"vm_monitor_mode_extensions",
"virtualization_enabled_in_firmware",
"second_level_address_translation",
"data_execution_prevention_available",
]
if hyperv_key in proc_data:
for key in hyperv_subkey_list:
if key in proc_data[hyperv_key]:
proc_data[hyperv_key][key] = convert_to_boolean(
proc_data[hyperv_key][key]
)
return proc_data
def parse(data, raw=False, quiet=False):
"""
Main text parsing function
Parameters:
data: (string) text data to parse
raw: (boolean) output preprocessed JSON if True
quiet: (boolean) suppress warning messages if True
Returns:
List of Dictionaries. Raw or processed structured data.
"""
if not quiet:
jc.utils.compatibility(__name__, info.compatible)
delim = ":" # k/v delimiter
raw_data = {} # intermediary output
if jc.utils.has_data(data):
# keepends = True, so that multiline data retains return chars
lines = [line for line in data.splitlines(keepends=True) if line.strip() != ""]
# find the character position of the value in the k/v pair of the first line
# all subsequent lines of data use the same character position
start_value_pos = get_value_pos(lines[0], delim)
last_key = None
for line in lines:
key = line[0:start_value_pos]
value = line[start_value_pos:]
# possible multiline data
if last_key:
# the value data doesn't start where it should
# so this is multiline data
if delim not in key:
raw_data[last_key] += line
continue
raw_data[key] = value
last_key = key
# clean up keys; strip values
raw_output = {}
for k, v in raw_data.items():
k = transform_key(k)
# since we split on start_value_pos, the delimiter
# is still in the key field. Remove it.
k = k.rstrip(delim)
if k in ["hotfixs", "processors"]:
raw_output[k] = parse_hotfixs_or_processors(v)
elif k in ["network_cards"]:
raw_output[k] = parse_network_cards(v)
elif k in ["hyperv_requirements"]:
raw_output[k] = parse_hyperv_requirements(v)
elif k in [
"total_physical_memory",
"available_physical_memory",
"virtual_memory_max_size",
"virtual_memory_available",
"virtual_memory_in_use"
]:
raw_output[k + "_mb"] = v.strip()
else:
raw_output[k] = v.strip()
if raw:
return raw_output
else:
return process(raw_output)
def parse_hotfixs_or_processors(data):
"""
Turns a list of return-delimited hotfixes or processors
with [x] as a prefix into an array of hotfixes
Note that if a high number of items exist, the list may cutoff
and this list may not contain all items installed on the system
IRL, this likely applies to hotfixes more than processors
Parameters:
data: (string) Input string
"""
arr_output = []
for i, l in enumerate(data.splitlines()):
# skip line that says how many are installed
if i == 0:
continue
# we have to make sure this is a complete line
# as data could cutoff. Make sure the delimiter
# exists. Otherwise, skip it.
if ":" in l:
k, v = l.split(":")
# discard the number sequence
arr_output.append(v.strip())
return arr_output
def parse_hyperv_requirements(data):
"""
Turns a list of key/value settings for hyperv
into an object
Parameters:
data: (string) Input string
"""
output = {}
for i, l in enumerate(data.splitlines()):
if ":" in l:
k, v = l.split(":")
# discard the number sequence
output[transform_key(k)] = v.strip()
return output
def parse_network_cards(data):
"""
Turns a list of network_cards into an array of objects
Parameters:
data: (string) Input string
"""
delim = ":"
arr_output = []
cur_nic = None
is_ip = False
nic_value_pos = 0
for i, line in enumerate(data.splitlines()):
# skip first line
if i == 0:
continue
if "IP address(es)" in line:
is_ip = True
continue
cur_value_pos = len(line) - len(line.lstrip())
line = line.strip()
m = re.match(r"\[(\d+)\]" + delim + "(.+)", line)
if m and is_ip and cur_value_pos > nic_value_pos:
cur_nic["ip_addresses"].append(m.group(2).strip())
elif m:
if cur_nic:
arr_output.append(cur_nic)
cur_nic = default_nic()
cur_nic["name"] = m.group(2).strip()
nic_value_pos = cur_value_pos
is_ip = False
elif delim in line:
k, v = line.split(delim)
k = transform_key(k)
cur_nic[k] = v.strip()
if cur_nic:
arr_output.append(cur_nic)
return arr_output
def convert_to_boolean(value):
"""
Converts string input to boolean assuming "Yes/No" inputs
Parameters:
value: (string) Input value
"""
return value == "Yes"
def convert_to_int(value):
"""
Converts string input to integer by stripping all non-numeric characters
Parameters:
value: (string) Input value
"""
try:
value = int(re.sub("[^0-9]", "", value))
except ValueError:
pass
return value
def default_nic():
"""
Returns a default network card object
"""
return {
"name": "",
"connection_name": "",
"status": "",
"dhcp_enabled": "No",
"dhcp_server": "",
"ip_addresses": [],
}
def get_value_pos(line, delim):
"""
Finds the first non-whitespace character after the delimiter
Parameters:
line: (string) Input string
delim: (string) The data delimiter
"""
fields = line.split(delim, 1)
if not len(fields) == 2:
raise Exception(f"Expected a '{delim}' delimited field. Actual: {line}")
return len(line) - len(fields[1].lstrip())
def transform_key(key):
"""
Converts a given key to a valid json key that plays nice with jq
Parameters:
key: (string) Input value
"""
# lowercase and replace spaces with underscores
key = key.strip().lower().replace(" ", "_")
# remove invalid key characters
for c in ";:!@#$%^&*()-":
key = key.replace(c, "")
return key

View File

@ -177,6 +177,7 @@ class timestamp:
{'id': 8100, 'format': '%a %d %b %Y %H:%M:%S', 'locale': ''}, # current locale format with non-UTC tz (found in upower cli output): # mar. 23 mars 2021 19:12:11 EDT {'id': 8100, 'format': '%a %d %b %Y %H:%M:%S', 'locale': ''}, # current locale format with non-UTC tz (found in upower cli output): # mar. 23 mars 2021 19:12:11 EDT
{'id': 8200, 'format': '%A %d %B %Y, %H:%M:%S UTC%z', 'locale': ''}, # fr_FR.utf8 locale format (found in date cli output): vendredi 26 mars 2021, 13:26:46 (UTC+0000) {'id': 8200, 'format': '%A %d %B %Y, %H:%M:%S UTC%z', 'locale': ''}, # fr_FR.utf8 locale format (found in date cli output): vendredi 26 mars 2021, 13:26:46 (UTC+0000)
{'id': 8300, 'format': '%A %d %B %Y, %H:%M:%S', 'locale': ''}, # fr_FR.utf8 locale format with non-UTC tz (found in date cli output): vendredi 26 mars 2021, 13:26:46 (UTC-0400) {'id': 8300, 'format': '%A %d %B %Y, %H:%M:%S', 'locale': ''}, # fr_FR.utf8 locale format with non-UTC tz (found in date cli output): vendredi 26 mars 2021, 13:26:46 (UTC-0400)
{'id': 8400, 'format': '%m/%d/%Y, %I:%M:%S %p', 'locale': ''}, # Windows english format (found in systeminfo cli output): 3/22/2021, 1:15:51 PM (UTC-0600)
{'id': 9000, 'format': '%c', 'locale': ''} # locally configured locale format conversion: Could be anything :) this is a last-gasp attempt {'id': 9000, 'format': '%c', 'locale': ''} # locally configured locale format conversion: Could be anything :) this is a last-gasp attempt
] ]

View File

@ -0,0 +1,111 @@
{
"host_name": "TESTLAPTOP",
"os_name": "Microsoft Windows 10 Enterprise",
"os_version": "10.0.17134 N/A Build 17134",
"os_manufacturer": "Microsoft Corporation",
"os_configuration": "Member Workstation",
"os_build_type": "Multiprocessor Free",
"registered_owner": "Test, Inc.",
"registered_organization": "Test, Inc.",
"product_id": "11111-11111-11111-AA111",
"original_install_date": 1553640690,
"system_boot_time": 1617110039,
"system_manufacturer": "Dell Inc.",
"system_model": "Precision 5530",
"system_type": "x64-based PC",
"processors": [
"Intel64 Family 6 Model 158 Stepping 10 GenuineIntel ~2592 Mhz"
],
"bios_version": "Dell Inc. 1.16.2, 4/21/2020",
"windows_directory": "C:\\WINDOWS",
"system_directory": "C:\\WINDOWS\\system32",
"boot_device": "\\Device\\HarddiskVolume2",
"system_locale": "en-us;English (United States)",
"input_locale": "en-us;English (United States)",
"time_zone": "(UTC-06:00) Central Time (US & Canada)",
"total_physical_memory_mb": 32503,
"available_physical_memory_mb": 19743,
"virtual_memory_max_size_mb": 37367,
"virtual_memory_available_mb": 22266,
"virtual_memory_in_use_mb": 15101,
"page_file_locations": "C:\\pagefile.sys",
"domain": "test.com",
"logon_server": "\\\\TESTDC01",
"hotfixs": [
"KB2693643",
"KB4601054",
"KB4230204",
"KB4346084",
"KB4485449",
"KB4486153",
"KB4509094",
"KB4535680",
"KB4580325",
"KB4580398",
"KB4534293"
],
"network_cards": [
{
"name": "Intel(R) Wireless-AC 9260 160MHz",
"connection_name": "Wi-Fi",
"status": "",
"dhcp_enabled": true,
"dhcp_server": "192.168.2.1",
"ip_addresses": [
"192.168.2.219"
]
},
{
"name": "Bluetooth Device (Personal Area Network)",
"connection_name": "Bluetooth Network Connection",
"status": "Media disconnected",
"dhcp_enabled": false,
"dhcp_server": "",
"ip_addresses": []
},
{
"name": "Microsoft KM-TEST Loopback Adapter",
"connection_name": "Npcap Loopback Adapter",
"status": "",
"dhcp_enabled": true,
"dhcp_server": "255.255.255.255",
"ip_addresses": [
"169.254.161.245"
]
},
{
"name": "Cisco AnyConnect Secure Mobility Client Virtual Miniport Adapter for Windows x64",
"connection_name": "Ethernet 5",
"status": "Hardware not present",
"dhcp_enabled": false,
"dhcp_server": "",
"ip_addresses": []
},
{
"name": "Hyper-V Virtual Ethernet Adapter",
"connection_name": "vEthernet (InternalVM)",
"status": "",
"dhcp_enabled": false,
"dhcp_server": "",
"ip_addresses": [
"172.16.32.1"
]
},
{
"name": "Hyper-V Virtual Ethernet Adapter",
"connection_name": "vEthernet (Default Switch) 2",
"status": "",
"dhcp_enabled": true,
"dhcp_server": "255.255.255.255",
"ip_addresses": [
"172.26.251.65"
]
}
],
"hyperv_requirements": {
"vm_monitor_mode_extensions": true,
"virtualization_enabled_in_firmware": true,
"second_level_address_translation": false,
"data_execution_prevention_available": true
}
}

View File

@ -0,0 +1,79 @@
Host Name: TESTLAPTOP
OS Name: Microsoft Windows 10 Enterprise
OS Version: 10.0.17134 N/A Build 17134
OS Manufacturer: Microsoft Corporation
OS Configuration: Member Workstation
OS Build Type: Multiprocessor Free
Registered Owner: Test, Inc.
Registered Organization: Test, Inc.
Product ID: 11111-11111-11111-AA111
Original Install Date: 3/26/2019, 3:51:30 PM
System Boot Time: 3/30/2021, 6:13:59 AM
System Manufacturer: Dell Inc.
System Model: Precision 5530
System Type: x64-based PC
Processor(s): 1 Processor(s) Installed.
[01]: Intel64 Family 6 Model 158 Stepping 10 GenuineIntel ~2592 Mhz
BIOS Version: Dell Inc. 1.16.2, 4/21/2020
Windows Directory: C:\WINDOWS
System Directory: C:\WINDOWS\system32
Boot Device: \Device\HarddiskVolume2
System Locale: en-us;English (United States)
Input Locale: en-us;English (United States)
Time Zone: (UTC-06:00) Central Time (US & Canada)
Total Physical Memory: 32,503 MB
Available Physical Memory: 19,743 MB
Virtual Memory: Max Size: 37,367 MB
Virtual Memory: Available: 22,266 MB
Virtual Memory: In Use: 15,101 MB
Page File Location(s): C:\pagefile.sys
Domain: test.com
Logon Server: \\TESTDC01
Hotfix(s): 11 Hotfix(s) Installed.
[01]: KB2693643
[02]: KB4601054
[03]: KB4230204
[04]: KB4346084
[05]: KB4485449
[06]: KB4486153
[07]: KB4509094
[08]: KB4535680
[09]: KB4580325
[10]: KB4580398
[11]: KB4534293
Network Card(s): 6 NIC(s) Installed.
[01]: Intel(R) Wireless-AC 9260 160MHz
Connection Name: Wi-Fi
DHCP Enabled: Yes
DHCP Server: 192.168.2.1
IP address(es)
[01]: 192.168.2.219
[02]: Bluetooth Device (Personal Area Network)
Connection Name: Bluetooth Network Connection
Status: Media disconnected
[03]: Microsoft KM-TEST Loopback Adapter
Connection Name: Npcap Loopback Adapter
DHCP Enabled: Yes
DHCP Server: 255.255.255.255
IP address(es)
[01]: 169.254.161.245
[04]: Cisco AnyConnect Secure Mobility Client Virtual Miniport Adapter for Windows x64
Connection Name: Ethernet 5
Status: Hardware not present
[05]: Hyper-V Virtual Ethernet Adapter
Connection Name: vEthernet (InternalVM)
DHCP Enabled: No
IP address(es)
[01]: 172.16.32.1
[06]: Hyper-V Virtual Ethernet Adapter
Connection Name: vEthernet (Default Switch) 2
DHCP Enabled: Yes
DHCP Server: 255.255.255.255
IP address(es)
[01]: 172.26.251.65
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: No
Data Execution Prevention Available: Yes

View File

@ -0,0 +1,56 @@
{
"host_name": "DESKTOP-WIN01",
"os_name": "Microsoft Windows 10 Enterprise",
"os_version": "10.0.19042 N/A Build 19042",
"os_manufacturer": "Microsoft Corporation",
"os_configuration": "Member Workstation",
"os_build_type": "Multiprocessor Free",
"registered_owner": "User",
"registered_organization": "",
"product_id": "00111-12345-00001-AA111",
"original_install_date": 1613503227,
"system_boot_time": 1616171103,
"system_manufacturer": "VMware, Inc.",
"system_model": "VMware7,1",
"system_type": "x64-based PC",
"processors": [
"Intel64 Family 6 Model 158 Stepping 13 GenuineIntel ~2400 Mhz"
],
"bios_version": "VMware, Inc. VMW71.00V.11111111.B64.2008100111, 8/10/2020",
"windows_directory": "C:\\Windows",
"system_directory": "C:\\Windows\\system32",
"boot_device": "\\Device\\HarddiskVolume1",
"system_locale": "en-us;English (United States)",
"input_locale": "en-us;English (United States)",
"time_zone": "(UTC-08:00) Pacific Time (US & Canada)",
"total_physical_memory_mb": 2047,
"available_physical_memory_mb": 1417,
"virtual_memory_max_size_mb": 2687,
"virtual_memory_available_mb": 1482,
"virtual_memory_in_use_mb": 1205,
"page_file_locations": "C:\\pagefile.sys",
"domain": "TEST.local",
"logon_server": "\\\\WIN-AA1A1A11AAA",
"hotfixs": [
"KB4578968",
"KB4562830",
"KB4570334",
"KB4580325",
"KB4586864",
"KB4594440"
],
"network_cards": [
{
"name": "Intel(R) 82574L Gigabit Network Connection",
"connection_name": "Ethernet0",
"status": "",
"dhcp_enabled": true,
"dhcp_server": "192.168.133.250",
"ip_addresses": [
"192.168.133.3",
"fe80::192:eb64:1fcf:86eb"
]
}
],
"hyperv_requirements": {}
}

View File

@ -0,0 +1,47 @@
Host Name: DESKTOP-WIN01
OS Name: Microsoft Windows 10 Enterprise
OS Version: 10.0.19042 N/A Build 19042
OS Manufacturer: Microsoft Corporation
OS Configuration: Member Workstation
OS Build Type: Multiprocessor Free
Registered Owner: User
Registered Organization:
Product ID: 00111-12345-00001-AA111
Original Install Date: 2/16/2021, 11:20:27 AM
System Boot Time: 3/19/2021, 9:25:03 AM
System Manufacturer: VMware, Inc.
System Model: VMware7,1
System Type: x64-based PC
Processor(s): 1 Processor(s) Installed.
[01]: Intel64 Family 6 Model 158 Stepping 13 GenuineIntel ~2400 Mhz
BIOS Version: VMware, Inc. VMW71.00V.11111111.B64.2008100111, 8/10/2020
Windows Directory: C:\Windows
System Directory: C:\Windows\system32
Boot Device: \Device\HarddiskVolume1
System Locale: en-us;English (United States)
Input Locale: en-us;English (United States)
Time Zone: (UTC-08:00) Pacific Time (US & Canada)
Total Physical Memory: 2,047 MB
Available Physical Memory: 1,417 MB
Virtual Memory: Max Size: 2,687 MB
Virtual Memory: Available: 1,482 MB
Virtual Memory: In Use: 1,205 MB
Page File Location(s): C:\pagefile.sys
Domain: TEST.local
Logon Server: \\WIN-AA1A1A11AAA
Hotfix(s): 6 Hotfix(s) Installed.
[01]: KB4578968
[02]: KB4562830
[03]: KB4570334
[04]: KB4580325
[05]: KB4586864
[06]: KB4594440
Network Card(s): 1 NIC(s) Installed.
[01]: Intel(R) 82574L Gigabit Network Connection
Connection Name: Ethernet0
DHCP Enabled: Yes
DHCP Server: 192.168.133.250
IP address(es)
[01]: 192.168.133.3
[02]: fe80::192:eb64:1fcf:86eb
Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V will not be displayed.

View File

@ -0,0 +1,54 @@
{
"host_name": "WIN-1A1A1AA11AA",
"os_name": "Microsoft Windows Server 2012 R2 Standard",
"os_version": "6.3.9600 N/A Build 9600",
"os_manufacturer": "Microsoft Corporation",
"os_configuration": "Standalone Server",
"os_build_type": "Multiprocessor Free",
"registered_owner": "Windows User",
"registered_organization": "",
"product_id": "11111-11111-11111-AA111",
"original_install_date": 1544692548,
"system_boot_time": 1616967284,
"system_manufacturer": "Microsoft Corporation",
"system_model": "Virtual Machine",
"system_type": "x64-based PC",
"processors": [
"Intel64 Family 6 Model 158 Stepping 10 GenuineIntel ~2592 Mhz"
],
"bios_version": "Microsoft Corporation Hyper-V UEFI Release v3.0, 3/2/2018",
"windows_directory": "C:\\Windows",
"system_directory": "C:\\Windows\\system32",
"boot_device": "\\Device\\HarddiskVolume2",
"system_locale": "en-us;English (United States)",
"input_locale": "en-us;English (United States)",
"time_zone": "(UTC+03:00) Kuwait, Riyadh",
"total_physical_memory_mb": 3555,
"available_physical_memory_mb": 771,
"virtual_memory_max_size_mb": 5731,
"virtual_memory_available_mb": 2751,
"virtual_memory_in_use_mb": 2980,
"page_file_locations": "C:\\pagefile.sys",
"domain": "WORKGROUP",
"logon_server": "\\\\WIN-1A1A1AA11AA",
"hotfixs": [
"KB2919355",
"KB2975061",
"KB2999226",
"KB3151864",
"KB4054566"
],
"network_cards": [
{
"name": "Microsoft Hyper-V Network Adapter",
"connection_name": "Ethernet 2",
"status": "",
"dhcp_enabled": false,
"dhcp_server": "",
"ip_addresses": [
"172.16.32.10"
]
}
],
"hyperv_requirements": {}
}

View File

@ -0,0 +1,45 @@
Host Name: WIN-1A1A1AA11AA
OS Name: Microsoft Windows Server 2012 R2 Standard
OS Version: 6.3.9600 N/A Build 9600
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Server
OS Build Type: Multiprocessor Free
Registered Owner: Windows User
Registered Organization:
Product ID: 11111-11111-11111-AA111
Original Install Date: 12/13/2018, 1:15:48 AM
System Boot Time: 3/28/2021, 2:34:44 PM
System Manufacturer: Microsoft Corporation
System Model: Virtual Machine
System Type: x64-based PC
Processor(s): 1 Processor(s) Installed.
[01]: Intel64 Family 6 Model 158 Stepping 10 GenuineIntel ~2592 Mhz
BIOS Version: Microsoft Corporation Hyper-V UEFI Release v3.0, 3/2/2018
Windows Directory: C:\Windows
System Directory: C:\Windows\system32
Boot Device: \Device\HarddiskVolume2
System Locale: en-us;English (United States)
Input Locale: en-us;English (United States)
Time Zone: (UTC+03:00) Kuwait, Riyadh
Total Physical Memory: 3,555 MB
Available Physical Memory: 771 MB
Virtual Memory: Max Size: 5,731 MB
Virtual Memory: Available: 2,751 MB
Virtual Memory: In Use: 2,980 MB
Page File Location(s): C:\pagefile.sys
Domain: WORKGROUP
Logon Server: \\WIN-1A1A1AA11AA
Hotfix(s): 5 Hotfix(s) Installed.
[01]: KB2919355
[02]: KB2975061
[03]: KB2999226
[04]: KB3151864
[05]: KB4054566
Network Card(s): 1 NIC(s) Installed.
[01]: Microsoft Hyper-V Network Adapter
Connection Name: Ethernet 2
DHCP Enabled: No
IP address(es)
[01]: 172.16.32.10
Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V will not be displayed.

View File

@ -0,0 +1,325 @@
{
"host_name": "TEST",
"os_name": "Microsoft Windows 7 Professional",
"os_version": "6.1.7601 Service Pack 1 Build 7601",
"os_manufacturer": "Microsoft Corporation",
"os_configuration": "Standalone Workstation",
"os_build_type": "Multiprocessor Free",
"registered_owner": "jdoe",
"registered_organization": "",
"product_id": "00000-111-1111111-11111",
"original_install_date": 1420142400,
"system_boot_time": 1616444151,
"system_manufacturer": "LENOVO",
"system_model": "11111AA",
"system_type": "x64-based PC",
"processors": [
"Intel64 Family 6 Model 42 Stepping 7 GenuineIntel ~2501 Mhz"
],
"bios_version": "LENOVO 83ET67WW (1.37 ), 11/28/2011",
"windows_directory": "C:\\Windows",
"system_directory": "C:\\Windows\\system32",
"boot_device": "\\Device\\HarddiskVolume1",
"system_locale": "en-us;English (United States)",
"input_locale": "en-us;English (United States)",
"time_zone": "(UTC-06:00) Central Time (US & Canada)",
"total_physical_memory_mb": 8075,
"available_physical_memory_mb": 1620,
"virtual_memory_max_size_mb": 16149,
"virtual_memory_available_mb": 6468,
"virtual_memory_in_use_mb": 9681,
"page_file_locations": "C:\\pagefile.sys",
"domain": "WORKGROUP",
"logon_server": "\\\\TEST",
"hotfixs": [
"KB2849697",
"KB2849696",
"KB2841134",
"KB2670838",
"KB2830477",
"KB2592687",
"KB971033",
"KB2479943",
"KB2491683",
"KB2506014",
"KB2506212",
"KB2506928",
"KB2509553",
"KB2511455",
"KB2515325",
"KB2532531",
"KB2533552",
"KB2533623",
"KB2534366",
"KB2536275",
"KB2536276",
"KB2544893",
"KB2545698",
"KB2547666",
"KB2552343",
"KB2560656",
"KB2562937",
"KB2563227",
"KB2564958",
"KB2570947",
"KB2574819",
"KB2579686",
"KB2585542",
"KB2603229",
"KB2604115",
"KB2619339",
"KB2620704",
"KB2621440",
"KB2631813",
"KB2639308",
"KB2640148",
"KB2647753",
"KB2653956",
"KB2654428",
"KB2656356",
"KB2660075",
"KB2667402",
"KB2676562",
"KB2685811",
"KB2685813",
"KB2685939",
"KB2690533",
"KB2698365",
"KB2705219",
"KB2706045",
"KB2709630",
"KB2712808",
"KB2718704",
"KB2719857",
"KB2726535",
"KB2727528",
"KB2729094",
"KB2729452",
"KB2731771",
"KB2732059",
"KB2732487",
"KB2732500",
"KB2736422",
"KB2742599",
"KB2750841",
"KB2758857",
"KB2761217",
"KB2763523",
"KB2770660",
"KB2773072",
"KB2786081",
"KB2789645",
"KB2791765",
"KB2798162",
"KB2799926",
"KB2800095",
"KB2803821",
"KB2807986",
"KB2808679",
"KB2813347",
"KB2813430",
"KB2820331",
"KB2832414",
"KB2834140",
"KB2836942",
"KB2836943",
"KB2839894",
"KB2840149",
"KB2840631",
"KB2843630",
"KB2846960",
"KB2847077",
"KB2847311",
"KB2847927",
"KB2852386",
"KB2853952",
"KB2855844",
"KB2857650",
"KB2861191",
"KB2861698",
"KB2862152",
"KB2862330",
"KB2862335",
"KB2862966",
"KB2862973",
"KB2864058",
"KB2864202",
"KB2868038",
"KB2868116",
"KB2868626",
"KB2871997",
"KB2872339",
"KB2882822",
"KB2884256",
"KB2887069",
"KB2888049",
"KB2891804",
"KB2892074",
"KB2893294",
"KB2893519",
"KB2894844",
"KB2900986",
"KB2908783",
"KB2911501",
"KB2912390",
"KB2913152",
"KB2918077",
"KB2918614",
"KB2919469",
"KB2922229",
"KB2923545",
"KB2926765",
"KB2928562",
"KB2929733",
"KB2931356",
"KB2937610",
"KB2939576",
"KB2943357",
"KB2952664",
"KB2957189",
"KB2957503",
"KB2957509",
"KB2961072",
"KB2965788",
"KB2966583",
"KB2968294",
"KB2970228",
"KB2971850",
"KB2972100",
"KB2972211",
"KB2972280",
"KB2973112",
"KB2973201",
"KB2973351",
"KB2976627",
"KB2976897",
"KB2977292",
"KB2977728",
"KB2978092",
"KB2978120",
"KB2978668",
"KB2978742",
"KB2979570",
"KB2980245",
"KB2984972",
"KB2984976",
"KB2984981",
"KB2985461",
"KB2991963",
"KB2992611",
"KB2993651",
"KB2993958",
"KB2994023",
"KB2999226",
"KB3001554",
"KB3002885",
"KB3003057",
"KB3003743",
"KB3004361",
"KB3004375",
"KB3005607",
"KB3006121",
"KB3006226",
"KB3006625",
"KB3008627",
"KB3008923",
"KB3009736",
"KB3010788",
"KB3011780",
"KB3012176",
"KB3013126",
"KB3013410",
"KB3014406",
"KB3019215",
"KB3020369",
"KB3020388",
"KB3021674",
"KB3022777",
"KB3023215",
"KB3025390",
"KB3030377",
"KB3031432",
"KB3032655",
"KB3033889",
"KB3033890",
"KB3033929",
"KB3035126",
"KB3035132",
"KB3037574",
"KB3042058",
"KB3042553",
"KB3045685",
"KB3046017",
"KB3046269",
"KB3055642",
"KB3059317",
"KB3060716",
"KB3061518",
"KB3067903",
"KB3069114",
"KB3069392",
"KB3069762",
"KB3071756",
"KB3072305",
"KB3072630",
"KB3072633",
"KB3074543",
"KB3075226",
"KB3076895",
"KB3076949",
"KB3077715",
"KB3078601",
"KB3080446",
"KB3081320",
"KB3083710",
"KB3084135",
"KB3086255",
"KB3087039",
"KB3087918",
"KB3088195"
],
"network_cards": [
{
"name": "Bluetooth Device (Personal Area Network)",
"connection_name": "Bluetooth Network Connection",
"status": "Media disconnected",
"dhcp_enabled": false,
"dhcp_server": "",
"ip_addresses": []
},
{
"name": "Intel(R) 82579LM Gigabit Network Connection",
"connection_name": "Local Area Connection",
"status": "Media disconnected",
"dhcp_enabled": false,
"dhcp_server": "",
"ip_addresses": []
},
{
"name": "Intel(R) Centrino(R) Advanced-N 6205",
"connection_name": "Wireless Network Connection",
"status": "",
"dhcp_enabled": true,
"dhcp_server": "192.168.2.1",
"ip_addresses": [
"192.168.2.2"
]
},
{
"name": "Microsoft Virtual WiFi Miniport Adapter",
"connection_name": "Wireless Network Connection 2",
"status": "Hardware not present",
"dhcp_enabled": false,
"dhcp_server": "",
"ip_addresses": []
},
{
"name": "Microsoft Virtual WiFi Miniport Adapter",
"connection_name": "Wireless Network Connection 3",
"status": "Hardware not present",
"dhcp_enabled": false,
"dhcp_server": "",
"ip_addresses": []
}
]
}

View File

@ -0,0 +1,298 @@
Host Name: TEST
OS Name: Microsoft Windows 7 Professional
OS Version: 6.1.7601 Service Pack 1 Build 7601
OS Manufacturer: Microsoft Corporation
OS Configuration: Standalone Workstation
OS Build Type: Multiprocessor Free
Registered Owner: jdoe
Registered Organization:
Product ID: 00000-111-1111111-11111
Original Install Date: 01/01/2015, 12:00:00 PM
System Boot Time: 3/22/2021, 1:15:51 PM
System Manufacturer: LENOVO
System Model: 11111AA
System Type: x64-based PC
Processor(s): 1 Processor(s) Installed.
[01]: Intel64 Family 6 Model 42 Stepping 7 GenuineIntel ~2501 Mhz
BIOS Version: LENOVO 83ET67WW (1.37 ), 11/28/2011
Windows Directory: C:\Windows
System Directory: C:\Windows\system32
Boot Device: \Device\HarddiskVolume1
System Locale: en-us;English (United States)
Input Locale: en-us;English (United States)
Time Zone: (UTC-06:00) Central Time (US & Canada)
Total Physical Memory: 8,075 MB
Available Physical Memory: 1,620 MB
Virtual Memory: Max Size: 16,149 MB
Virtual Memory: Available: 6,468 MB
Virtual Memory: In Use: 9,681 MB
Page File Location(s): C:\pagefile.sys
Domain: WORKGROUP
Logon Server: \\TEST
Hotfix(s): 302 Hotfix(s) Installed.
[01]: KB2849697
[02]: KB2849696
[03]: KB2841134
[04]: KB2670838
[05]: KB2830477
[06]: KB2592687
[07]: KB971033
[08]: KB2479943
[09]: KB2491683
[10]: KB2506014
[11]: KB2506212
[12]: KB2506928
[13]: KB2509553
[14]: KB2511455
[15]: KB2515325
[16]: KB2532531
[17]: KB2533552
[18]: KB2533623
[19]: KB2534366
[20]: KB2536275
[21]: KB2536276
[22]: KB2544893
[23]: KB2545698
[24]: KB2547666
[25]: KB2552343
[26]: KB2560656
[27]: KB2562937
[28]: KB2563227
[29]: KB2564958
[30]: KB2570947
[31]: KB2574819
[32]: KB2579686
[33]: KB2585542
[34]: KB2603229
[35]: KB2604115
[36]: KB2619339
[37]: KB2620704
[38]: KB2621440
[39]: KB2631813
[40]: KB2639308
[41]: KB2640148
[42]: KB2647753
[43]: KB2653956
[44]: KB2654428
[45]: KB2656356
[46]: KB2660075
[47]: KB2667402
[48]: KB2676562
[49]: KB2685811
[50]: KB2685813
[51]: KB2685939
[52]: KB2690533
[53]: KB2698365
[54]: KB2705219
[55]: KB2706045
[56]: KB2709630
[57]: KB2712808
[58]: KB2718704
[59]: KB2719857
[60]: KB2726535
[61]: KB2727528
[62]: KB2729094
[63]: KB2729452
[64]: KB2731771
[65]: KB2732059
[66]: KB2732487
[67]: KB2732500
[68]: KB2736422
[69]: KB2742599
[70]: KB2750841
[71]: KB2758857
[72]: KB2761217
[73]: KB2763523
[74]: KB2770660
[75]: KB2773072
[76]: KB2786081
[77]: KB2789645
[78]: KB2791765
[79]: KB2798162
[80]: KB2799926
[81]: KB2800095
[82]: KB2803821
[83]: KB2807986
[84]: KB2808679
[85]: KB2813347
[86]: KB2813430
[87]: KB2820331
[88]: KB2832414
[89]: KB2834140
[90]: KB2836942
[91]: KB2836943
[92]: KB2839894
[93]: KB2840149
[94]: KB2840631
[95]: KB2843630
[96]: KB2846960
[97]: KB2847077
[98]: KB2847311
[99]: KB2847927
[100]: KB2852386
[101]: KB2853952
[102]: KB2855844
[103]: KB2857650
[104]: KB2861191
[105]: KB2861698
[106]: KB2862152
[107]: KB2862330
[108]: KB2862335
[109]: KB2862966
[110]: KB2862973
[111]: KB2864058
[112]: KB2864202
[113]: KB2868038
[114]: KB2868116
[115]: KB2868626
[116]: KB2871997
[117]: KB2872339
[118]: KB2882822
[119]: KB2884256
[120]: KB2887069
[121]: KB2888049
[122]: KB2891804
[123]: KB2892074
[124]: KB2893294
[125]: KB2893519
[126]: KB2894844
[127]: KB2900986
[128]: KB2908783
[129]: KB2911501
[130]: KB2912390
[131]: KB2913152
[132]: KB2918077
[133]: KB2918614
[134]: KB2919469
[135]: KB2922229
[136]: KB2923545
[137]: KB2926765
[138]: KB2928562
[139]: KB2929733
[140]: KB2931356
[141]: KB2937610
[142]: KB2939576
[143]: KB2943357
[144]: KB2952664
[145]: KB2957189
[146]: KB2957503
[147]: KB2957509
[148]: KB2961072
[149]: KB2965788
[150]: KB2966583
[151]: KB2968294
[152]: KB2970228
[153]: KB2971850
[154]: KB2972100
[155]: KB2972211
[156]: KB2972280
[157]: KB2973112
[158]: KB2973201
[159]: KB2973351
[160]: KB2976627
[161]: KB2976897
[162]: KB2977292
[163]: KB2977728
[164]: KB2978092
[165]: KB2978120
[166]: KB2978668
[167]: KB2978742
[168]: KB2979570
[169]: KB2980245
[170]: KB2984972
[171]: KB2984976
[172]: KB2984981
[173]: KB2985461
[174]: KB2991963
[175]: KB2992611
[176]: KB2993651
[177]: KB2993958
[178]: KB2994023
[179]: KB2999226
[180]: KB3001554
[181]: KB3002885
[182]: KB3003057
[183]: KB3003743
[184]: KB3004361
[185]: KB3004375
[186]: KB3005607
[187]: KB3006121
[188]: KB3006226
[189]: KB3006625
[190]: KB3008627
[191]: KB3008923
[192]: KB3009736
[193]: KB3010788
[194]: KB3011780
[195]: KB3012176
[196]: KB3013126
[197]: KB3013410
[198]: KB3014406
[199]: KB3019215
[200]: KB3020369
[201]: KB3020388
[202]: KB3021674
[203]: KB3022777
[204]: KB3023215
[205]: KB3025390
[206]: KB3030377
[207]: KB3031432
[208]: KB3032655
[209]: KB3033889
[210]: KB3033890
[211]: KB3033929
[212]: KB3035126
[213]: KB3035132
[214]: KB3037574
[215]: KB3042058
[216]: KB3042553
[217]: KB3045685
[218]: KB3046017
[219]: KB3046269
[220]: KB3055642
[221]: KB3059317
[222]: KB3060716
[223]: KB3061518
[224]: KB3067903
[225]: KB3069114
[226]: KB3069392
[227]: KB3069762
[228]: KB3071756
[229]: KB3072305
[230]: KB3072630
[231]: KB3072633
[232]: KB3074543
[233]: KB3075226
[234]: KB3076895
[235]: KB3076949
[236]: KB3077715
[237]: KB3078601
[238]: KB3080446
[239]: KB3081320
[240]: KB3083710
[241]: KB3084135
[242]: KB3086255
[243]: KB3087039
[244]: KB3087918
[245]: KB3088195
[246]
Network Card(s): 5 NIC(s) Installed.
[01]: Bluetooth Device (Personal Area Network)
Connection Name: Bluetooth Network Connection
Status: Media disconnected
[02]: Intel(R) 82579LM Gigabit Network Connection
Connection Name: Local Area Connection
Status: Media disconnected
[03]: Intel(R) Centrino(R) Advanced-N 6205
Connection Name: Wireless Network Connection
DHCP Enabled: Yes
DHCP Server: 192.168.2.1
IP address(es)
[01]: 192.168.2.2
[04]: Microsoft Virtual WiFi Miniport Adapter
Connection Name: Wireless Network Connection 2
Status: Hardware not present
[05]: Microsoft Virtual WiFi Miniport Adapter
Connection Name: Wireless Network Connection 3
Status: Hardware not present

46
tests/test_systeminfo.py Normal file
View File

@ -0,0 +1,46 @@
import json
import os
import unittest
import jc.parsers.systeminfo
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
test_files = [
"tests/fixtures/windows/windows-7/systeminfo",
"tests/fixtures/windows/windows-10/systeminfo",
"tests/fixtures/windows/windows-10/systeminfo-hyperv",
"tests/fixtures/windows/windows-2012r2/systeminfo",
]
def setUp(self):
for tf in MyTests.test_files:
in_file = os.path.join(THIS_DIR, os.pardir, f"{tf}.out")
out_file = os.path.join(THIS_DIR, os.pardir, f"{tf}.json")
with open(in_file, "r", encoding="utf-8") as f:
setattr(self, self.varName(tf), f.read())
with open(out_file, "r", encoding="utf-8") as f:
setattr(self, self.varName(tf) + "_json", json.loads(f.read()))
def varName(self, path):
return (
path.replace("tests/fixtures/windows", "")
.replace("-", "_")
.replace("/", "_")
)
def test_windows_systeminfo(self):
"""
Test a sample Windows "systeminfo" command output
"""
for tf in MyTests.test_files:
in_var = getattr(self, self.varName(tf))
out_var = getattr(self, self.varName(tf) + "_json")
self.assertEqual(jc.parsers.systeminfo.parse(in_var, quiet=True), out_var)
if __name__ == "__main__":
unittest.main()