All posts by hah

DiskSPD GUI – Storage Performance Tool

DiskSPD GUI Tool (PowerShell/Winforms/Microsoft DiskSPD)



DiskSpd is a highly customizable I/O load generator tool that can be used to run storage performance tests against files, partitions, or physical disks. DiskSpd can generate a wide variety of disk request patterns for use in analyzing and diagnosing storage performance issues, without running a full end-to-end workload. You can simulate SQL Server I/O activity or more complex, changing access patterns, returning detailed XML output for use in automated results analysis.



GeekBench GUI Tool – Cross-Platform Benchmark

GeekBench GUI Tool (PowerShell/Winforms/CMD Utility)



Geekbench GUI Tool compares system performance across devices, processor architectures, and operating systems.

1. Deploys the Geekbench ZIP file to the remote computers using PowerShell remoting (instead of traditional file copying,  it copies files over a PSSession to multiple computers simultaneously).
2. Unzips the archive on the remote machine leveraging Windows’s built in zip file support, via the Shell.Application object.
3. Runs licensing, benchmark with export to remote computer.
4. Transfers the export file to local machine (where the script is running from).
5. Deletes the deployed files on the remote machines.
6. Run Geekbench licensing on the local machine.
7. Converts the original export to HTML and text.



NetIOGUI – Network Benchmark Tool

NetIO GUI Tool (PowerShell/Winforms/CMD Utility)



NetIOGUI measures the throughput of a network via TCP and UDP
protocols using various different packet sizes.
It uses PowerShell Remoting to deploy a command line instance
on multiple target machines and run it as a server process, where another instance is running on the source machine to perform the benchmark and collect the data from the remote machines.



SQL/Dynamics AX/Windows discovery GUI Tool (Windows PowerShell/WinForms)

SQL/Dynamics AX/Windows discovery GUI Tool (Windows PowerShell/WinForms)

Server Discovery Wizard
Server Discovery Wizard

Collects detailed information on a SQL instance such as SQL Server configuration, memory utilization, database settings, service accounts, network protocols, log size, etc.
Inspects the configuration settings of the hosted server hardware such as OS version, storage, network, virtual machine provider, etc.
Discovers other instances hosted on the same server to see how these instances might be competing for memory and resources.

Complete list of collectors:

– Windows General OS Information
– Windows Storage Information
– Windows Processor Information
– Windows Local Administrators Information
– Windows Local Users Information
– Windows Installed Software Information
– Windows Memory Dump Information
– Windows Firewall Rules Information
– Windows .NET Components Information
– Windows Update Client Configuration
– Windows Hotfix Information
– Windows Network Adapter Config Information
– Windows Network Adapter Advanced Information
– Windows Physical Memory Information
– Windows Pagefile Information
– Windows Shares Information
– Windows Domain Information
– SQL Instances Information
– SQL Server Reporting Services Information
– SQL Server Analysis Services Information
– SQL Server Integration Services Information
– SQL Account Information
– SQL Configuration Information
– SQL Trace Flags Information
– SQL Cluster Nodes Information
– SQL AAG Nodes Information
– SQL Database Information
– SQL Database File Information
– SQL Database Values Information
– SQL Network Protocols Information
– SQL TCP/IP Ports Information
– SQL Memory Information
– SQL Database Mirroring Information
– Dynamics AX AOS Installed Instance Information
– Dynamics AX AOS Binary Kernel Information
– Dynamics AX Client Binary Kernel Information
– Dynamics AX AOS Instance Service Information
– Dynamics AX AOS Instance Registry Information
– Dynamics AX .NET Business Connector Registry Information
– Dynamics AX DIXF Service Configuration
– Dynamics AX DIXF Server Configuration
– Dynamics AX Help Server Language Information
– Dynamics AX Management Report Information
– Dynamics AX Enterprise Portal Information

AutoLogon Using LSA Secret with Sysinternals via Group Policy Startup

Many post how to setup a Kiosk / auto logon, Sysinternals has a great 3.01v, however to take advantage of the settings to Enable/Disable for each user their is not currently a command line to accept the option while at the same time being prompt for credentials/or acceptance from the UAC. Script to automate using Group Policy Startup/or/Logon requires that the Tool be given admin privileges. This is a challenge since the KIOSK user is just a domain user with no admin access. The key is to use the Sysinternals tool that removes the Plain Text access in the registry, use GPO to administer the settings on Start up. All without having to execute the tool at the workstation for each just to Enable the feature. Thanks – Ted.

Create a PowerShell GUI application to perform remote desktop operation using Microsoft Remote Desktop ActiveX control

PowerShell RDC
PowerShell Remote Desktop Client

In order to get the Remote Desktop Client to function in a .NET project you must obtain the Remote Desktop ActiveX control wrapper (MSTSCLib.dll and AxMSTSCLib.dll).

You may need to unblock the files, since they were downloaded from internet.
File –> Right click –> Properties

Unblock File
Unblock File Downloaded from Internet

Create PowerShell Winform and add Panel control. Additionally add buttons for connect, disconnect, refresh, etc.

Load into your PowerShell script both ActiveX component assemblies:

where $dllpath is the location of the files.
Create new Object type and add it to the form Panel control:

Create new on-click event for button “Connect” and fill in the RDP client properties:

Click here for the Microsoft Remote Desktop ActiveX control client settings reference.

Get Windows Product License Information (including license type and product key) PowerShell/WinForms GUI Tool

Windows License Extractor is a small PowerShell/WinForms GUI tool that will help you to display/export licensing information (including the product key where possible) for your current running operating system, as well as other remote computer systems.

Windows License Extractor
Windows License Extractor 1.0.0

This utility can be useful if you lost the product key of your Windows, and you want to reinstall it on your computer.


Windows 10 Store Apps Uninstaller (PowerShell/WinForms)

If you no longer need an app, then you could use Windows 10 Store Apps Uninstaller to remove it and free up space on the drive.


Windows 10 Store Apps Uninstaller
Windows 10 Store Apps Uninstaller
  • Easy way to remove apps via right click -> Uninstall for a single app or in bulk.
  • Lets you remove some of the built-in apps that the Windows 10 menu won’t let you remove.

Note: Windows 10 Store Apps Uninstaller will remove the Windows app for only the user account that is currently logged on.

Store Apps Uninstaller

Get Windows Firewall State on Local or Remote Machine Utilizing Netsh.exe

Displays the Windows Firewall state for Domain, Private, and Public profiles on local or remote computer.

Use Get-FirewallState to show current Firewall state that is presented on the Windows Firewall with Advanced Security Properties page, with the tabs for Domain, Private, and Public profiles.

Specifies the remote or local computer name.
When using HOSTNAME parameter, Windows PowerShell creates a temporary connection that is used only to run the specified command and is then closed.

Get-FirewallState -HOSTNAME SERVER01

The script will establish remote connection to SERVER01 machine and display the Firewall state for all profiles: