PowerShell Pipeline: Where-Object vs .Where() Method Performance
The .Where() method on collections is significantly faster than Where-Object for in-memory arrays. This post benchmarks both and shows when to switch for real performance gains.
Commands Tips
The .Where() method on collections is significantly faster than Where-Object for in-memory arrays. This post benchmarks both and shows when to switch for real performance gains.
Invoke-Command is the backbone of PowerShell fleet management. Parallel execution, session reuse, and error isolation patterns make it viable for managing hundreds of servers at
Knowing which accounts lack MFA is a security baseline requirement. The Graph SDK’s authentication methods API returns registration details for every user in your tenant.
Explicit ACEs and broken inheritance create permission sprawl that no one audits until an incident. This script scans a share, flags breaks, and exports a risk-ranked report.
IIS logs contain a wealth of performance and security data. This script parses W3C format logs, aggregates top pages, slow responses, and 4xx/5xx error rates in minutes.
Manually checking Hyper-V VM health in Hyper-V Manager does not scale. This script queries every VM on one or more hosts and builds a color-coded HTML health dashboard.
Throwing generic strings as errors makes debugging painful. Custom exception classes with typed properties let callers catch specific errors and extract structured failure
Expired SSL certificates cause outages. This script probes a list of URLs, extracts certificate expiry dates, and sends tiered alerts at 30-day and 7-day intervals before expiry.
Centralizing Windows event logs without a SIEM is possible with Windows Event Forwarding. This guide configures both the collector and sources entirely through PowerShell
Splatting is more powerful than most scripts use it. Dynamic splatting from PSBoundParameters, conditional parameter addition, and splat passthrough patterns transform complex