diff --git a/README.md b/README.md index 745aae0e..1c5c3bef 100644 --- a/README.md +++ b/README.md @@ -183,6 +183,7 @@ The JSON output can be compact (default) or pretty formatted with the `-p` optio - `--systemctl-lj` enables the `systemctl list-jobs` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/systemctl_lj)) - `--systemctl-ls` enables the `systemctl list-sockets` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/systemctl_ls)) - `--systemctl-luf` enables the `systemctl list-unit-files` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/systemctl_luf)) +- `--systeminfo` enables the `systeminfo` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/systeminfo)) - `--time` enables the `/usr/bin/time` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/time)) - `--timedatectl` enables the `timedatectl status` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/timedatectl)) - `--tracepath` enables the `tracepath` and `tracepath6` command parser ([documentation](https://kellyjonbrazil.github.io/jc/docs/parsers/tracepath)) diff --git a/docs/parsers/systeminfo.md b/docs/parsers/systeminfo.md index b56fca72..aaa33bd6 100644 --- a/docs/parsers/systeminfo.md +++ b/docs/parsers/systeminfo.md @@ -1,9 +1,13 @@ +[Home](https://kellyjonbrazil.github.io/jc/) # 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. +Blank or missing elements are set to `null`. + +The `original_install_date_epoch` and `system_boot_time_epoch` calculated timestamp fields are naive (i.e. based on the local time of the system the parser is run on) + +The `original_install_date_epoch_utc` and `system_boot_time_epoch_utc` calculated timestamp fields are timezone-aware and are only available if the timezone field is UTC. Usage (cli): @@ -14,50 +18,188 @@ Usage (module): import jc.parsers.systeminfo result = jc.parsers.systeminfo.parse(systeminfo_command_output) -Compatibility: +Schema: - 'win32' + { + "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, + "original_install_date_epoch": integer, # naive timestamp + "original_install_date_epoch_utc": integer, # timezone-aware timestamp + "system_boot_time": string, + "system_boot_time_epoch": integer, # naive timestamp + "system_boot_time_epoch_utc": integer, # timezone-aware 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 + } + } 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..." + "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", + "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+00:00) UTC", + "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" + ], + "network_cards": [ + { + "name": "Intel(R) Wireless-AC 9260 160MHz", + "connection_name": "Wi-Fi", + "status": null, + "dhcp_enabled": true, + "dhcp_server": "192.168.2.1", + "ip_addresses": [ + "192.168.2.219" + ] + } + ], + "hyperv_requirements": { + "vm_monitor_mode_extensions": true, + "virtualization_enabled_in_firmware": true, + "second_level_address_translation": false, + "data_execution_prevention_available": true + }, + "original_install_date_epoch": 1553640690, + "original_install_date_epoch_utc": 1553615490, + "system_boot_time_epoch": 1617110039, + "system_boot_time_epoch_utc": 1617084839 + } + + $ systeminfo | jc --systeminfo -p -r + { + "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", + "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+00:00) UTC", + "total_physical_memory_mb": "32,503 MB", + "available_physical_memory_mb": "19,743 MB", + "virtual_memory_max_size_mb": "37,367 MB", + "virtual_memory_available_mb": "22,266 MB", + "virtual_memory_in_use_mb": "15,101 MB", + "page_file_locations": "C:\pagefile.sys", + "domain": "test.com", + "logon_server": "\\TESTDC01", + "hotfixs": [ + "KB2693643", + "KB4601054" + ], + "network_cards": [ + { + "name": "Intel(R) Wireless-AC 9260 160MHz", + "connection_name": "Wi-Fi", + "status": "", + "dhcp_enabled": "Yes", + "dhcp_server": "192.168.2.1", + "ip_addresses": [ + "192.168.2.219" + ] + } + ], + "hyperv_requirements": { + "vm_monitor_mode_extensions": "Yes", + "virtualization_enabled_in_firmware": "Yes", + "second_level_address_translation": "No", + "data_execution_prevention_available": "Yes" + } } @@ -67,61 +209,6 @@ 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) @@ -139,14 +226,7 @@ Returns: List of Dictionaries. Raw or processed structured data. +## Parser Information +Compatibility: win32 -## 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 - +Version 1.0 by Jon Smith (jon@rebelliondefense.com) diff --git a/jc/man/jc.1.gz b/jc/man/jc.1.gz index 3a4e97af..a8c976a8 100644 Binary files a/jc/man/jc.1.gz and b/jc/man/jc.1.gz differ diff --git a/jc/parsers/systeminfo.py b/jc/parsers/systeminfo.py index 4ad12f0d..cfaa5b84 100644 --- a/jc/parsers/systeminfo.py +++ b/jc/parsers/systeminfo.py @@ -1,5 +1,11 @@ """jc - JSON CLI output utility `systeminfo` command output parser +Blank or missing elements are set to `null`. + +The `original_install_date_epoch` and `system_boot_time_epoch` calculated timestamp fields are naive (i.e. based on the local time of the system the parser is run on) + +The `original_install_date_epoch_utc` and `system_boot_time_epoch_utc` calculated timestamp fields are timezone-aware and are only available if the timezone field is UTC. + Usage (cli): $ systeminfo | jc --systeminfo @@ -9,128 +15,188 @@ Usage (module): import jc.parsers.systeminfo result = jc.parsers.systeminfo.parse(systeminfo_command_output) -Examples: +Schema: - $ 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" + "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, + "original_install_date_epoch": integer, # naive timestamp + "original_install_date_epoch_utc": integer, # timezone-aware timestamp + "system_boot_time": string, + "system_boot_time_epoch": integer, # naive timestamp + "system_boot_time_epoch_utc": integer, # timezone-aware 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 + } } +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": 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" + "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", + "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+00:00) UTC", + "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" + ], + "network_cards": [ + { + "name": "Intel(R) Wireless-AC 9260 160MHz", + "connection_name": "Wi-Fi", + "status": null, + "dhcp_enabled": true, + "dhcp_server": "192.168.2.1", + "ip_addresses": [ + "192.168.2.219" + ] } + ], + "hyperv_requirements": { + "vm_monitor_mode_extensions": true, + "virtualization_enabled_in_firmware": true, + "second_level_address_translation": false, + "data_execution_prevention_available": true + }, + "original_install_date_epoch": 1553640690, + "original_install_date_epoch_utc": 1553615490, + "system_boot_time_epoch": 1617110039, + "system_boot_time_epoch_utc": 1617084839 + } + + $ systeminfo | jc --systeminfo -p -r + { + "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", + "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+00:00) UTC", + "total_physical_memory_mb": "32,503 MB", + "available_physical_memory_mb": "19,743 MB", + "virtual_memory_max_size_mb": "37,367 MB", + "virtual_memory_available_mb": "22,266 MB", + "virtual_memory_in_use_mb": "15,101 MB", + "page_file_locations": "C:\\pagefile.sys", + "domain": "test.com", + "logon_server": "\\\\TESTDC01", + "hotfixs": [ + "KB2693643", + "KB4601054" + ], + "network_cards": [ + { + "name": "Intel(R) Wireless-AC 9260 160MHz", + "connection_name": "Wi-Fi", + "status": "", + "dhcp_enabled": "Yes", + "dhcp_server": "192.168.2.1", + "ip_addresses": [ + "192.168.2.219" + ] + } + ], + "hyperv_requirements": { + "vm_monitor_mode_extensions": "Yes", + "virtualization_enabled_in_firmware": "Yes", + "second_level_address_translation": "No", + "data_execution_prevention_available": "Yes" + } } """ import re @@ -166,65 +232,23 @@ def _process(proc_data): 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 - } - } + Structured data to conform to the schema. """ + # convert empty strings to None/null + for item in proc_data: + if isinstance(proc_data[item], str) and not proc_data[item]: + proc_data[item] = None - # 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"] ) + # convert empty strings to None/null + for item in nic: + if isinstance(nic[item], str) and not nic[item]: + proc_data["network_cards"][i][item] = None + int_list = [ "total_physical_memory_mb", "available_physical_memory_mb", @@ -242,9 +266,10 @@ def _process(proc_data): # convert # from: (UTC-08:00) Pacific Time (US & Canada) # to: (UTC-0800) - tz_fields = tz.split(" ") + tz_fields = tz.split() tz = " " + tz_fields[0].replace(":", "") - proc_data[key] = jc.utils.timestamp(f"{proc_data.get(key)}{tz}").naive + proc_data[key + '_epoch'] = jc.utils.timestamp(f"{proc_data.get(key)}{tz}").naive + proc_data[key + '_epoch_utc'] = jc.utils.timestamp(f"{proc_data.get(key)}{tz}").utc hyperv_key = "hyperv_requirements" hyperv_subkey_list = [ diff --git a/jc/utils.py b/jc/utils.py index 51164423..e6d88f74 100644 --- a/jc/utils.py +++ b/jc/utils.py @@ -65,7 +65,7 @@ def compatibility(mod_name, compatible): mod = mod_name.split('.')[-1] compat_list = ', '.join(compatible) warning_message(f'{mod} parser not compatible with your OS ({sys.platform}).\n' - f' Compatible platforms: {compat_list}') + f' Compatible platforms: {compat_list}') def has_data(data): @@ -163,6 +163,8 @@ class timestamp: {'id': 1000, 'format': '%a %b %d %H:%M:%S %Y', 'locale': None}, # manual C locale format conversion: Tue Mar 23 16:12:11 2021 or Tue Mar 23 16:12:11 IST 2021 {'id': 1500, 'format': '%Y-%m-%d %H:%M', 'locale': None}, # en_US.UTF-8 local format (found in who cli output): 2021-03-23 00:14 {'id': 1600, 'format': '%m/%d/%Y %I:%M %p', 'locale': None}, # Windows english format (found in dir cli output): 12/07/2019 02:09 AM + {'id': 1700, 'format': '%m/%d/%Y, %I:%M:%S %p', 'locale': None}, # Windows english format wint non-UTC tz (found in systeminfo cli output): 3/22/2021, 1:15:51 PM (UTC-0600) + {'id': 1710, 'format': '%m/%d/%Y, %I:%M:%S %p UTC%z', 'locale': None}, # Windows english format with UTC tz (found in systeminfo cli output): 3/22/2021, 1:15:51 PM (UTC+0000) {'id': 2000, 'format': '%a %d %b %Y %I:%M:%S %p %Z', 'locale': None}, # en_US.UTF-8 local format (found in upower cli output): Tue 23 Mar 2021 04:12:11 PM UTC {'id': 3000, 'format': '%a %d %b %Y %I:%M:%S %p', 'locale': None}, # en_US.UTF-8 local format with non-UTC tz (found in upower cli output): Tue 23 Mar 2021 04:12:11 PM IST {'id': 4000, 'format': '%A %d %B %Y %I:%M:%S %p %Z', 'locale': None}, # European-style local format (found in upower cli output): Tuesday 01 October 2019 12:50:41 PM UTC @@ -177,7 +179,6 @@ 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': 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': 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 ] diff --git a/man/jc.1.gz b/man/jc.1.gz index 3a4e97af..a8c976a8 100644 Binary files a/man/jc.1.gz and b/man/jc.1.gz differ diff --git a/tests/fixtures/windows/windows-10/systeminfo-hyperv-utc.json b/tests/fixtures/windows/windows-10/systeminfo-hyperv-utc.json new file mode 100644 index 00000000..7960452f --- /dev/null +++ b/tests/fixtures/windows/windows-10/systeminfo-hyperv-utc.json @@ -0,0 +1 @@ +{"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","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+00:00) UTC","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":null,"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":null,"ip_addresses":[]},{"name":"Microsoft KM-TEST Loopback Adapter","connection_name":"Npcap Loopback Adapter","status":null,"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":null,"ip_addresses":[]},{"name":"Hyper-V Virtual Ethernet Adapter","connection_name":"vEthernet (InternalVM)","status":null,"dhcp_enabled":false,"dhcp_server":null,"ip_addresses":["172.16.32.1"]},{"name":"Hyper-V Virtual Ethernet Adapter","connection_name":"vEthernet (Default Switch) 2","status":null,"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},"original_install_date_epoch":1553640690,"original_install_date_epoch_utc":1553615490,"system_boot_time_epoch":1617110039,"system_boot_time_epoch_utc":1617084839} diff --git a/tests/fixtures/windows/windows-10/systeminfo-hyperv-utc.out b/tests/fixtures/windows/windows-10/systeminfo-hyperv-utc.out new file mode 100644 index 00000000..f0591709 --- /dev/null +++ b/tests/fixtures/windows/windows-10/systeminfo-hyperv-utc.out @@ -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+00:00) UTC +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 + diff --git a/tests/fixtures/windows/windows-10/systeminfo-hyperv.json b/tests/fixtures/windows/windows-10/systeminfo-hyperv.json index 020e9c71..236dceb7 100644 --- a/tests/fixtures/windows/windows-10/systeminfo-hyperv.json +++ b/tests/fixtures/windows/windows-10/systeminfo-hyperv.json @@ -1,111 +1 @@ -{ - "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 - } -} +{"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","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":null,"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":null,"ip_addresses":[]},{"name":"Microsoft KM-TEST Loopback Adapter","connection_name":"Npcap Loopback Adapter","status":null,"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":null,"ip_addresses":[]},{"name":"Hyper-V Virtual Ethernet Adapter","connection_name":"vEthernet (InternalVM)","status":null,"dhcp_enabled":false,"dhcp_server":null,"ip_addresses":["172.16.32.1"]},{"name":"Hyper-V Virtual Ethernet Adapter","connection_name":"vEthernet (Default Switch) 2","status":null,"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},"original_install_date_epoch":1553640690,"original_install_date_epoch_utc":null,"system_boot_time_epoch":1617110039,"system_boot_time_epoch_utc":null} diff --git a/tests/fixtures/windows/windows-10/systeminfo.json b/tests/fixtures/windows/windows-10/systeminfo.json index 4abab0b2..e0ab7105 100644 --- a/tests/fixtures/windows/windows-10/systeminfo.json +++ b/tests/fixtures/windows/windows-10/systeminfo.json @@ -1,56 +1 @@ -{ - "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": {} -} +{"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":null,"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":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":null,"dhcp_enabled":true,"dhcp_server":"192.168.133.250","ip_addresses":["192.168.133.3","fe80::192:eb64:1fcf:86eb"]}],"hyperv_requirements":{},"original_install_date_epoch":1613503227,"original_install_date_epoch_utc":null,"system_boot_time_epoch":1616171103,"system_boot_time_epoch_utc":null} diff --git a/tests/fixtures/windows/windows-10/systeminfo.out b/tests/fixtures/windows/windows-10/systeminfo.out index df4d05d9..e8b0819c 100644 --- a/tests/fixtures/windows/windows-10/systeminfo.out +++ b/tests/fixtures/windows/windows-10/systeminfo.out @@ -45,3 +45,4 @@ Network Card(s): 1 NIC(s) Installed. [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. + diff --git a/tests/fixtures/windows/windows-2012r2/systeminfo.json b/tests/fixtures/windows/windows-2012r2/systeminfo.json index 6977f53f..337fdd6f 100644 --- a/tests/fixtures/windows/windows-2012r2/systeminfo.json +++ b/tests/fixtures/windows/windows-2012r2/systeminfo.json @@ -1,54 +1 @@ -{ - "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": {} -} +{"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":null,"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","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":null,"dhcp_enabled":false,"dhcp_server":null,"ip_addresses":["172.16.32.10"]}],"hyperv_requirements":{},"original_install_date_epoch":1544692548,"original_install_date_epoch_utc":null,"system_boot_time_epoch":1616967284,"system_boot_time_epoch_utc":null} diff --git a/tests/fixtures/windows/windows-7/systeminfo.json b/tests/fixtures/windows/windows-7/systeminfo.json index 8945f6fd..58489bf3 100644 --- a/tests/fixtures/windows/windows-7/systeminfo.json +++ b/tests/fixtures/windows/windows-7/systeminfo.json @@ -1,325 +1 @@ -{ - "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": [] - } - ] -} +{"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":null,"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","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":null,"ip_addresses":[]},{"name":"Intel(R) 82579LM Gigabit Network Connection","connection_name":"Local Area Connection","status":"Media disconnected","dhcp_enabled":false,"dhcp_server":null,"ip_addresses":[]},{"name":"Intel(R) Centrino(R) Advanced-N 6205","connection_name":"Wireless Network Connection","status":null,"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":null,"ip_addresses":[]},{"name":"Microsoft Virtual WiFi Miniport Adapter","connection_name":"Wireless Network Connection 3","status":"Hardware not present","dhcp_enabled":false,"dhcp_server":null,"ip_addresses":[]}],"original_install_date_epoch":1420142400,"original_install_date_epoch_utc":null,"system_boot_time_epoch":1616444151,"system_boot_time_epoch_utc":null}