Articles Tagged “Windows”
70 articles tagged “Windows”, newest first.
-
NTLM and Kerberos Explained with Diagrams — Why Authentication Falls Back to NTLM
An illustrated comparison of NTLM and Kerberos: challenge/response, TGTs and service tickets, the conditions under which Negotiate falls back to NTLM when an...
-
Will NTLM Deprecation Stop Your Business Apps? — How to Collect Audit Logs, and the Order in Which to Kill Dependencies
A practical procedure for finding out where your Windows environment and business applications depend on NTLM ahead of its retirement: audit policies, follow...
-
What Is the TPM in Windows? — An Illustrated Guide to the "Safe That Never Lets Keys Out" and Measured Boot
An illustrated explanation of the TPM: how keys never leave the chip, PCRs and Measured Boot, how BitLocker and Windows Hello use it, the differences between...
-
Automating PC Provisioning With winget + PowerShell — Making the Runbook Executable
How to make new-hire PC setup reproducible. Covers installing applications with winget and export/import, declarative configuration with WinGet Configuration...
-
Hardening PowerShell — Logging, AMSI, Language Modes, and JEA
A practical guide to using PowerShell safely instead of banning it. Covers enabling script block logging and transcription, AMSI and disabling the old engine...
-
Investigating Event Logs in Practice with Get-WinEvent — Filtering Speed Decides How Long the Investigation Takes
How to make Windows event log investigation efficient with PowerShell. Covers why filtering with Where-Object is slow, when to use FilterHashtable versus XPa...
-
Integrating With REST APIs From PowerShell — Invoke-RestMethod in Practice
A practical guide to calling in-house and SaaS REST APIs from PowerShell: passing authentication headers, avoiding mojibake in non-ASCII JSON, handling 4xx/5...
-
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, ...
-
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'...
-
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...
-
Should That Batch File Move to PowerShell? — Auditing cmd/bat Assets and Making the Migration Call
A decision table for working out whether the batch files still running your business should move to PowerShell: how cmd and VBScript differ in status, bat's ...
-
Calling COM and .NET from PowerShell — Widening What Your Scripts Can Reach
A practical guide to calling .NET classes from PowerShell, embedding C# and Win32 APIs with Add-Type, driving COM, cleaning up leftover Excel processes, why ...
-
Choosing Between Power Automate and PowerShell + Task Scheduler — Putting Each Automation Tool Where It Fits Instead of Mixing Them
For IT staff at small and mid-sized companies where PowerShell + Task Scheduler nightly batches and Power Automate flows have started to coexist, this articl...
-
Handling Credentials Safely in PowerShell — Banishing Plaintext Passwords from Your Scripts
A practical walkthrough of moving plaintext passwords out of PowerShell scripts and into safe storage: what SecureString really is and where it stops, how Ex...
-
Parameter Design and Modularization for PowerShell Scripts — From a Script That Works to a Script You Can Hand Over
A step-by-step procedure for raising a PowerShell script to a quality you can hand to someone else. Covers the param block and [CmdletBinding()], input valid...
-
Taking Inventory of a File Server with PowerShell — Capacity Analysis and Access Permission (ACL) Auditing
A practical procedure for taking inventory of a file server with PowerShell. Covers capacity analysis and recording access denials, listing old files and ext...
-
An Introduction to PowerShell Remoting (WinRM) — Managing Multiple Windows Machines at Once
An introduction to managing multiple Windows machines at once with PowerShell Remoting (WinRM). Covers how it works and ports 5985/5986, what Enable-PSRemoti...
-
The Differences Between Windows PowerShell 5.1 and PowerShell 7 — A Practical Guide to Migrating In-House Scripts
The relationship between Windows PowerShell 5.1 and PowerShell 7 (side-by-side coexistence and pwsh.exe), Microsoft's official position that 5.1 gets no new ...
-
Automating Excel and CSV Work with PowerShell — Practical Recipes for Aggregation, Reconciliation, and Report Output
Practical recipes for automating CSV aggregation, reconciliation, and Excel report output with PowerShell. Covers the default encodings of Import-Csv/Export-...
-
PowerShell Error Handling and Retry Design — From the try/catch Trap to Exit Codes and Retry Best Practices
A practical rundown of PowerShell error handling: the difference between terminating and non-terminating errors, the -ErrorAction Stop pattern for the try/ca...
-
PowerShell Execution Policy and Script Signing — A Practical Guide to Graduating From "Papering Over It With Bypass"
PowerShell's execution policy is "a safety feature, not a security boundary." This article covers the differences between policies like RemoteSigned, scope p...
-
How to Think About Windows Session Isolation — Session 0, RDP, and Running Multiple Users Concurrently
This article untangles the concept of a Windows "session," a topic that consistently confuses Windows app developers. It covers why Session 0 isolation exist...
-
Preventing Multiple Instances of a Windows App — Named Mutexes and Activating the Existing Window on a Second Launch
This article organizes the classic requirement for business Windows apps — 'don't let the same app launch twice' — around a named Mutex. We cover the pitfall...
-
Integrating Entra ID Authentication into WinForms/WPF Apps — A Practical Architecture with MSAL.NET and the WAM Broker
A practical, hands-on look at integrating Entra ID (formerly Azure AD) authentication into WinForms/WPF desktop apps: the public client mindset, where ROPC s...
-
Date, Time, and Timezones in Business Apps — From DateTime Pitfalls to the UTC-Storage Principle and Test Design
Timestamps drift by nine hours after a server migration; only the overseas office's dates roll back to the previous day — we trace date/time incidents back t...
-
UI Automated Testing for Windows Desktop Apps — How UI Automation Works and Building Robust Tests with FlaUI
A practical guide to UI automated testing for WinForms/WPF apps, working from how Windows UI Automation itself works (the tree, AutomationId, control pattern...
-
WPF High-DPI Support — Why It Still Blurs and Bleeds Despite Being 'Supposedly DPI-Aware,' and How to Fix It
WPF lays out UI in DIPs (1/96 inch) and is System DPI Aware from the start, but moving a window to a monitor with a different DPI blurs the whole screen, and...
-
High-DPI Support in WinForms — Why the UI Blurs or Breaks on 4K Monitors, and Practical Fixes
This article organizes the reasons WinForms apps blur or have broken layouts on 4K monitors and 150% scaling, starting from DPI virtualization and DPI awaren...
-
Choosing Windows Inter-Process Communication ── A Decision Table for Named Pipes / TCP / gRPC / Shared Memory / COM
How do you choose the right way for Windows applications to talk to each other? This article organizes named pipes, local TCP, gRPC, shared memory, file-base...
-
Using SQLite from C# in Business Apps — WAL Mode, Exclusive Locking, Corruption Countermeasures, and When to Reach for EF Core
A practical rundown of embedding SQLite into a business Windows app with Microsoft.Data.Sqlite: connection strings and pooling, how WAL mode works, SQLITE_BU...
-
How to Build and Operate Windows Services ── From Choosing Between Task Scheduler and Services to Turning a BackgroundService into a Windows Service
Should a background process become a Windows service, or is Task Scheduler enough? This guide organizes the practical design work for putting a service into ...
-
Is WebView2 the Right Successor to IE Mode? — The ActiveX Constraint and a Realistic Migration Design
A rundown of WebView2's basic architecture, the Evergreen vs. Fixed Version distribution strategies, the user data folder trap, how native code talks to web ...
-
How to Choose Where a Windows App Stores Local Data — A Decision Table for SQLite / JSON / Registry / Access
Where — and in what format — should a Windows desktop app store its data? This article organizes the choice between AppData and ProgramData, and the strength...
-
When Task Scheduler Tasks Don't Run or Exit with 0x1 — Isolating the Cause and Designing for Reliable Operation
A design guide to putting Windows Task Scheduler into reliable production use: execution accounts and logon types, what 'Run whether user is logged on or not...
-
What Is MFC on Windows? Foundational Knowledge for Maintaining Existing Assets
An overview of the Microsoft Foundation Classes (MFC): its relationship to Win32, application structure, message maps, Document/View, DDX/DDV, and the things...
-
What to Do Before Disposing of a Windows PC — A Practical Checklist for Data Erasure, Account Unlinking, and Backups
What to do before disposing of, transferring, selling, or returning a leased Windows PC — covering backups, data erasure, BitLocker, Microsoft accounts, OneD...
-
Windows App Outsourcing and Contract Development: What to Sort Out Before You Ask
Before commissioning Windows app outsourcing or contract development, here is how to sort out existing software modification, device integration, COM/ActiveX...
-
Handling Windows Impersonation Tokens Correctly — Borrowing Privileges per Thread and Reverting Safely
A practical guide to Windows impersonation tokens — access tokens, primary tokens, thread tokens, impersonation levels, RevertToSelf, and .NET's WindowsIdent...
-
How to Run PowerShell from C# (CSharp) and Receive the Results as Objects
How to launch PowerShell from C# and receive results as PSObject rather than strings — a practical walkthrough of the PowerShell SDK, AddCommand, AddParamete...
-
Testing PowerShell with Pester — A Practical Approach to Making Operations Scripts Harder to Break
A practical walkthrough of testing PowerShell scripts with Pester v5 — safely covering date handling, file operations, deletion logic, mocking, and CI execut...
-
Why Windows Became What It Is Today: The Evolution of Windows Through a Developer's Eyes
A look at the changes from Windows 95 to Windows 11 — not as a visual timeline, but from a Windows application developer's perspective: compatibility, stabil...
-
A Windows App Developer's Primer on CPU Settings: Priority, Affinity, and P-cores/E-cores
How CPU priority, affinity, P-cores/E-cores, and power settings interact to shape Windows app performance — covers EcoQoS, with C# samples on GitHub.
-
A Developer's Strange Love, or: How I Learned to Stop Worrying and Love Windows
Windows is a hassle. But that hassle is the hassle of an OS that has carried real-world business on its back.
-
Practical PowerShell Command Recipes — Growing the Small Tools You Use Every Day
A practical roundup of PowerShell commands for everyday work, covering where to use Measure-Object, Group-Object, Select-String, Compare-Object, Tee-Object, ...
-
Applied PowerShell Scripting — Safely Automating Log Investigation, Archiving, and Reporting
Practical steps for safely automating log investigation, CSV reporting, archiving old logs, keeping audit trails, and Task Scheduler execution with PowerShel...
-
PowerShell Command Basics — The Operations to Learn First and How to Use Them Safely
So that PowerShell beginners never get lost in real work, this article covers how to find cmdlets, the pipeline, file operations, CSV processing, execution p...
-
Why Windows Shows "Windows protected your PC"
Why your app triggers "Windows protected your PC": SmartScreen checks publisher reputation, not just signatures. Compare OV/EV certs, MSIX, and the Store.
-
A Guide to Breaking Free from IE Mode Dependence
Practical steps for safely extending the life of internal web systems that depend on Microsoft Edge's IE mode while exiting that dependence — covering centra...
-
Why ActiveX Stops Working in Office 2024/Microsoft 365 and How to Diagnose It
When ActiveX stops working in Office 2024/Microsoft 365, work through the causes in order: default disablement, 32-bit/64-bit mismatch, COM registration, dep...
-
Preparing for VBScript Deprecation: An Audit Guide for VBA and Internal Tools
Preparing for the phased deprecation of VBScript: inventorying VBA, Excel macros, and internal tools, static detection, execution logging, choosing replaceme...
-
What Is GCPW? - Handling Windows Logon with Google Authentication
How Google Credential Provider for Windows (GCPW) works: combining it with Windows device management, existing profiles, first logon, offline use, 2-step ver...
-
Windows Text Encodings and Line Endings - The Basics of Mojibake and CRLF/LF
Why text gets garbled on Windows and why CRLF vs LF still causes trouble. How UTF-8, UTF-16, and CP932 (Shift_JIS) differ, plus rules that prevent mojibake.
-
What Is ClickOnce? - How It Works, How It Updates, and Where It Fits (and Doesn't) in Practice
An overview of ClickOnce, the deployment technology used for .NET Windows desktop apps - manifests, updates, the cache, signing, and which projects it suits ...
-
How to Speed Up App Validation with Windows Sandbox
How to use Windows Sandbox to isolate administrator-privilege issues, reproduce problems in a clean environment, and simulate missing privileges or resources...
-
How Windows DLL Name Resolution Works - Search Order and SxS
Where does LoadLibrary actually look? Walk through the Windows DLL search order, Known DLLs, API sets, and SxS manifests, and how to prevent DLL hijacking.
-
When Do You Actually Need Administrator Privileges on Windows? - UAC, Protected Areas, and How to Tell by Design
A practical look at when administrator privileges are required on Windows, from the perspectives of UAC, protected areas, services, drivers, and per-user/per...
-
An Introduction to Windows Text Encodings - The Mojibake That Happens When Integrating with Linux
A practical look at why mojibake happens on Windows, through the differences between CP932, UTF-8, UTF-16, BOMs, code pages, PowerShell, and Linux locales.
-
Best Practices for Checking and Displaying External Device State - Designing Beyond a Single 'Connected'
In device-integration apps, collapsing state into a single 'Connected' invites misleading displays. We work through detection, responsiveness, operational re...
-
A Checklist for Safely Handling Child Processes in Windows Apps
How to make child processes die with the parent on Windows: Job Objects, exit propagation, stdout/stderr draining, and watchdog placement, plus a checklist.
-
Choosing a Windows App Distribution Method - MSI/MSIX/ClickOnce/xcopy/Custom Updater
MSI vs MSIX vs ClickOnce vs xcopy vs custom updater: pick a Windows deployment method by OS integration and update ownership, with a decision worksheet.
-
Single-File Distribution of Windows Apps - Single Binaries and the Limits of OS Dependencies
When you want to ship a Windows app as a single EXE, the difference between shipping one artifact and eliminating OS dependencies matters. We work through .N...
-
Prompting Rules That Reduce Codex Mojibake Accidents on Windows
Codex garbling Japanese text on Windows? Stop mojibake with clear prompting rules: check encoding before reading, preserve CP932/UTF-8, re-read after writes.
-
Introduction to Windows User Profiles - AppData and NTUSER.DAT
What a Windows user profile really is: files plus the NTUSER.DAT registry hive. Covers AppData rules, roaming profiles, FSLogix, and troubleshooting.
-
Windows Processor Scheduling Settings - Background Services and P/E Cores
What actually changes with the Windows "Background services" setting, explained through quantum time, foreground favoritism, audio glitches, and QoS in the P...
-
How to Correctly Compare the Speed of Different Program Versions on Windows
A reproducible procedure for comparing program versions on Windows, covering power mode, power plan, thermals, background noise, measurement metrics, and ETW...
-
A Guide to Windows NIC Advanced Settings - RSS/LSO/EEE/Wake on LAN
A practical guide to Windows NIC advanced settings. What actually changes when you adjust Jumbo Packet, Speed & Duplex, RSS, RSC, LSO, Flow Control, EEE, Wak...