SiRex

System Information and Remote Execution

The script is based on a command line tool created by Effi-Azzari Abdullah, a former HP employee. It was designed for corporate environment so you will not get the initial code. Everything has been rewritten from scratch.

Download: version 1.09 Stable         Change Log

Features:

  • DNS resolution. If no record is present all further checks will be cancelled.
  • Test if the host responds to ping. If fails all further checks will be cancelled unless “Force check” is selected.
  • Hardware manufacturer, model, version, serial number. Works for virtual machines as well.
  • Operating system version, architecture and service pack.
  • Boot time, local time, up time.
  • Verify if installed updates require reboot.
  • List of installed hotfixes for a given period. If no patches are present shows last 5 and their install date.
  • Automatic services in not running status and services in hung status (starting, stopping, pending, etc.)
  • Check if the cluster service is present and what is the status.
  • Hardware/Logical device errors. Manually disabled devices are ignored (Event 22).
  • Free disk space on system drive (boot drive) in GB and in percent.
  • Check SMB by accessing system drive. For example “\\hostname\c$”.
  • Verify if RDP port 3389 is opened.
  • JavaScript management buttons, work only in Internet Exploter: “Monitoring logs” ; “Services” ; “RDP” ; “Ping -t” ; “Reboot”.

Log file is generated in same folder when all is done. Date and time tags match the start time of initial run.
File name: Statistics.log

Minimum Requirements:

Windows 7 or Windows Server 2008; PowerShell 2.0 or later, .NET 3.5 or later

Get software or hardware information from remote computers with WMI classes. Send any type of script (Batch, PS, Python, etc.) to multiple computers and execute it as a local process. Multi-tasking and multi-threading is supported to query many computers simultaneously from different environments with separate options. Requests are send to multiple computers at ones (up to 9 computers per instance) , Report is generated in HTML file. Output of remote script is included as well. Send report to multiple mail addresses. Save you preferences in configuration file for later run.

Tab General:

Top left box is the input list of computers. Delimiters are: spaces, new lines, tabs or any other white space symbol. Input format could be a complete chaos and full with special characters. All host names will be verified whether they meet valid format. Fault ones are dropped when “Add Items” button is pressed. Also the computers list can be loaded from a text file by the Browse button.

Select an instance from the bottom. Logs, error messages, statistics are shown there. There are no restrictions how many instances can be used at the same time. It’s a huge advantage to check computers from different environments simultaneously with respective credentials or different options. Separate HTML files will be created.

For local accounts type credentials in format: .\<username
Credentials will be always verified on the local computer.

For domain accounts type credentials in format: <domain>\<username>
Credentials will be verified in order to prevent lockouts. In case of errors type full domain name.

Check box “Do not verify credentials” is intended for situations when there is no LDAP to particular domain to verify your credentials. You must be 100% sure that the password is correct or will cause account lockout.

“Multiple Task” means how many computers will be checked simultaneously for the selected instance.

“Minutes Timeout” is the limit that applies only for one computer, not for the entire run. When a single computer exceeds the specified limit, its job is killed and all collected data is dropped.

“Force check” ignores ping results. Otherwise if a computer does not respond to ping request all further actions will be cancelled.

Tab Options:

Choose what the HTML report has to include. E-mails are sent through SMTP. Multiple recipients are allowed. The delimiters of e-mail addresses are: white space, “,” or “;”.

WARNING: Do not select ‘Auto Detect’ option for the SMTP server. This options finds only DNS MX records and usually they do not point to decent SMTP servers. You should know the SMTP settings in your organization.

SMTP settings for popular mail providers:
Google: servers = smtp.gmail.com:587 ; Port = 587
Microsoft: servers = smtp.office365.com, smtp-mail.outlook.com ; Port = 587

References about reported hardware errors with exit codes in Device Manager:
https://support.microsoft.com/en-us/help/310123/error-codes-in-device-manager-in-windows

WMI Class CIM_LogicalDevice:
https://docs.microsoft.com/en-us/windows/desktop/CIMWin32Prov/cim-logicaldevice

Command-Line example:
.\SiRex.ps1 -ConfigFile .\config\iniTest.ini

Remote Management:

Send any type of script to remote machine and execute it as a local process. If you want to execute non-Batch or non-PowerShell script, type the corresponding executable or token in “Exec/Token” field. File extension must be specified as well.

Load or save configuration file for later run:

Everything that has been field in could be saved and loaded for later run. If you don’t want your team mates to compromise preferences or see passwords, check “Users can’t modify config”.

Supported types of configuration file:

  • Plain text (ini), visible to anyone.
  • Binary (bin) file, it is encrypted with internal AES256 key.
  • Password protected (enc), encrypted (AES256) with custom password.

Known Issues:

If a computer is configured in Fast-Boot mode, the reported up time is wrong. Only cold boot time is registered. It is a Microsoft issue in WMI class Win32_OperatingSystem.

Sending e-mails through SMTP in a corporate environment may not work because firewall rules block the protocol.

Leave a Reply

Your email address will not be published. Required fields are marked *