Gutcheck.psd1
|
@{ RootModule = 'Gutcheck.psm1' ModuleVersion = '0.30.0' GUID = 'ce76f1fb-5362-4093-83f3-e8eb17deae0e' Author = 'MERLIN' CompanyName = 'MERLIN' Copyright = '(c) 2026 MERLIN. Licensed under the MIT License.' Description = 'Gutcheck - an honest look inside a slow or unstable Windows PC. Performance and stability diagnostics for Windows clients, driven by data-defined Checks. A technician runs one command at a customer site and reads the report on the spot.' # Target Machines without PowerShell 7 must stay supportable. PowerShellVersion = '5.1' CompatiblePSEditions = @('Desktop', 'Core') FunctionsToExport = @('Invoke-Gutcheck') CmdletsToExport = @() VariablesToExport = @() AliasesToExport = @('gutcheck') PrivateData = @{ PSData = @{ Tags = @( 'Windows', 'Diagnostics', 'Performance', 'Support', 'Troubleshooting', 'Helpdesk', 'Hardware', 'Reporting' ) ProjectUri = 'https://github.com/kort3x/gutcheck' LicenseUri = 'https://github.com/kort3x/gutcheck/blob/main/LICENSE' ReleaseNotes = @' 0.30.0 - Big Picture, Apps & Services, and what an application logged of its servers. - "Netzwerk im Bild" is now "Big Picture": its views are tabs, each with a ? for what it says, a search in the view shown, and zoom by the wheel and the keyboard. The new view Topologie draws the whole Network Map, from the machine outwards. - Apps & Services draws the Apps on rings with the Services they use and the Servers behind them; a click lights the whole chain. A Service has a state of its own, measured now and logged, and takes the colour of the Findings that name it. - Findings name the Service they are about - SMB, Remote Desktop, a controller's services, the logged protocols, each port the Server Check judged, each URL loaded - and a Lead tells a Server from one of its Services. - A DFS Namespace is judged as a whole: a target gone while another still answers is a WARN, a folder no target serves a FAIL (namespace-unreachable), which joins the drives Lead. - Failed requests that Windows or an application logged are events on their server's Service in the 30 days: failed BITS transfers, the SwyxIt! traces, the Nextcloud client log with its rotated .gz files, and the files the Nextcloud journal still fails on. Each says the URL in full and an HTTP status with its meaning. - A Service is called by the name its Check Definition gives its port, else by the name the port is registered for, else by the Apps that use it. The Finding's card, its copy text and the Lead say which Service, on which Server, by name and address. - Royal TS and the Remote Desktop client are Apps, with the servers they reach; the SwyxIt! server is read from the registry and tested on its ports. A Technician can add applications to any Scope, and sees and confirms what a Run will look at. - A Report is confidential (ADR-0006): nothing of the network is withheld from it. The Definition switches OwnDomainOnly and KeepMessage are gone. 0.29.0 - One Server is one Server, and the Network Map. - A Server is named and recognised the same way in every Check, Lead, picture and CSV: in lower case, without a port or a trailing dot, the host of a UNC path; a short name is one Server with the one FQDN that begins with it, two FQDNs never, though they share a first label or an address. A name that resolves to several addresses is shown at its IPv4 one. "Internet" means the same in a Finding as in a Measurement's Zone. - A Lead now keeps to the Server the Report draws (ADR-0013): two Findings about fs01.a.example and fs01.b.example no longer support one Lead. - A Run assembles the Network Map from what the Network and Domain Checks saw - each adapter with its subnet, gateway, DNS and DHCP servers, the domain's controllers, its DFS namespaces and where they lead, mapped drives and their shares - and writes it as network.json beside the CSVs (ADR-0012). "Netzwerk im Bild" draws its servers from it and shows under the Weg how they hang together, a server only a connection names without numbers, and "nicht geprüft" where no Check looked. - The servers, shares, causes, printers and Group Policy extensions a Finding counts say from when to when and how their events are spread in time: a burst, daily at a time, every minute, only on working days, only since, none since, scattered. The tallies show it as a column; findings.csv gains the column Patterns. - The day-by-hour grid sums up a cell, a day or an hour on the pointer and from the keyboard, and marks the hours with a FAIL or a WARN. A share a server refused says which and why. 0.28.0 - More of the network on the Weg, and the past beside the present. - The Weg groups the servers by subnet: this machine's own, read from each adapter, then beyond the gateway the other subnets (their prefix assumed), the VPN and the internet. Each card says the server's other addresses and names, a port where one value was measured on two, and how many events the 30 days hold for it, from when to when, in the colour of their worst Finding: the stripe is now, that line the past. - On the Weg and the 30 days besides SMB: Remote Desktop connections that failed or dropped; Group Policy, Netlogon, Kerberos and time-sync events about a domain controller or the time source; the clock offset of the time source and of each controller, with its sign; each DNS server's answer to the domain's controller lookup; the SYSVOL answer of each controller; the ping to each mapped drive's server; the Autodiscover requests; every print server and network printer, at most five. - The internet probe is OK where it answers and says so in German where it does not. A server that never answers a ping is not pinged (Server-Eye's console). - Two controllers logged under the domain's name are no longer drawn as one. A failed or dropped SMB connection names the address it went to, also where the name has several. measurements.csv gains the column PrefixLength. 0.27.0 - The network in pictures. - New chapter "Netzwerk im Bild" under "Netz & Domäne", drawn from what the Run measured: the way from this machine through its network services (gateway, DNS, DHCP) to the domain controllers, servers, internet services and websites, each value in the colour of the Finding it belongs to; 30 days of connection failures per server with crashes and sign-ins and a day-by-hour strip; a waterfall per website and HTTPS service; every value ranked, the worst first. Each over the whole window, and each saying what the Scope left out. - The numbers beside the Report: measurements.csv and timeline.csv. findings.csv gains the columns Id and Subjects. - The admin half sends back everything: the times of its Checks, missing from the table since 0.25.0, and the network disruptions the timeline is drawn from. A Run whose admin half sent two times no longer breaks. - The DHCP server is measured; a Finding about several servers says each one's own Severity; a ping under a millisecond reads "< 1 ms". 0.26.0 - The browsers, and a website as a browser loads it. - New Check "Browsers": for Edge, Chrome and Firefox, in each profile, how the browser last closed, the crash reports it holds, its size and cache, the extensions somebody or a policy installed, the policies set for it and the proxy they force beside the User's. WebView2, which new Outlook and Teams draw in: installed, version, crashes. Each stands under its browser, where its App Check stands; the three FolderSize Checks of the browser profiles are gone. - New: a website loaded as a browser loads it. "gutcheck -Url <Adresse>" starts an Edge of Gutcheck's own, with a profile thrown away after, and says whether the page loaded, what happened at each host it needed, the proxy it went through and how Edge found it, its certificate - for whom, from when to when - the sign-in, and where the time went. The net log stays in the Report folder. "-Scope Web" without an address asks for one. - The stress test reads the processor while it is loaded: a reading that came back after the load had it say "21 %", something holding the CPU back. - A Checks-Hash beside the Kennung, the same for every build of the same Checks. - MERLIN's logo in the head of the Report and on its tab. 0.25.0 - A Report to find your way in. - A drive through a DFS-Namespace names the server it is on, and the connection is measured to that server. - The search speaks a language: ODER, -without, brackets, "a phrase", Spalte:Wert, the states in capitals. It looks in the part picked in the tree, everywhere on request, and a "?" beside it says how. - Tables of the evidence can be grouped by a column, a month, a day, an hour, a network or a server, copied as shown, and opened over the window. The evidence follows the tree, and the tables the cards point to come first. - A term of the glossary is explained on the pointer where it stands. - The Report opens on its overview, the browser's back and forward go from view to view, and what the Run says of itself stands in the box of the system. - How long each Check took, in the window as it goes and as a table; how long the Run took, in the box at the top. The path of the Report is a link in Windows Terminal. - Network disruptions: every one of the period in the table, up to 2,000. - A suspicion the Scope kept from forming names the Scope to run again in. 0.24.1 - A search where you are. - The search looks in the part picked in the tree - an area, an application, the hints, the cards, the evidence, the terms - and says so in front of it. "überall suchen" searches the whole Report. A pick while something is searched for searches there. '@ } } } |