Blog
Practical articles from KomuraSoft LLC about website development, SEO, Google Ads, Windows development, legacy asset reuse, and bug investigation.
AI search across this site
Search queries are sent to Cloudflare AI Search to generate results. Please do not enter personal information.
-
Where to Look When a PowerShell Script Is Slow — Arrays, Pipelines and Matching
The classic causes of slow PowerShell scripts, laid out. Why += on an array is O(n^2), the difference between the pipeline and foreach, turning matching into...
-
Stop Using Write-Host — PowerShell Output Streams and Log Design
How to choose between PowerShell's six output streams, the problems with Write-Host and where it genuinely belongs, why function return values get polluted, ...
-
An Introduction to Microsoft Graph PowerShell — Running Microsoft 365 After the Retirement of AzureAD and MSOnline
A practical guide to migrating Microsoft 365 operations to Microsoft Graph PowerShell now that the AzureAD and MSOnline modules have been retired: connecting...
-
Parallel Processing in PowerShell — Choosing Between ForEach-Object -Parallel and Jobs
A practical rundown of the differences between ForEach-Object -Parallel, Start-ThreadJob and Start-Job and when to use each, $using: and thread safety, how t...
-
Calling External EXEs Correctly from PowerShell — The Pitfalls of Argument Quoting, Exit Codes, and Mojibake
Call robocopy or an in-house EXE from PowerShell and the arguments break, the exit code is unavailable, and the output turns into mojibake. A practical rundo...
-
Process Explorer / Handle / VMMap in Practice — Chasing Hangs, Leaks, and "File in Use" from the State Right Now
Part two of our practical Sysinternals series, covering "it gets slower and slower," "the file can't be deleted," and "it hung." We look at Process Explorer'...
-
How to Replace an exe or DLL That Is In Use — Restart Manager and the "File In Use" Problem in Auto-Update
Why can't an exe or DLL that is in use be replaced? This article covers the locking of running files and the fact that renaming is still allowed, enumerating...
-
Locking Down Business Terminals with Kiosk Mode — Choosing Between Assigned Access and Shell Launcher, and Designing for Operation
How to build a Windows terminal dedicated to a single application, such as a reception kiosk or a device operator panel. Covers the differences between Assig...
-
Windows Time Synchronization (w32time) and Business Systems — Solving "The Log Timestamps Don't Match" from the Mechanism Up
Why do timestamps drift between a device and a PC? This article explains it from the mechanics of the Windows Time service (w32time): the default behavior in...
-
Registry 32-bit/64-bit Redirection and Virtualization Pitfalls — Wow6432Node and the "The Value I Wrote Isn't There" Problem
How a 32-bit app's writes to HKLM\Software get redirected to Wow6432Node, the conditions under which UAC virtualization diverts them to the VirtualStore, the...