PSWinOps

1.3.0

A collection of PowerShell utilities for Windows system administrators

Minimum PowerShell version

5.1

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name PSWinOps

Copy and Paste the following command to install this package using Microsoft.PowerShell.PSResourceGet More Info

Install-PSResource -Name PSWinOps

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Owners

Copyright

(c) Franck SALLET. All rights reserved.

Package Details

Author(s)

  • Franck SALLET

Tags

Windows WindowsServer PowerShell SysAdmin Administration Ops WinOps Utilities Monitoring HealthCheck Automation Infrastructure ActiveDirectory AD RSAT ADUser ADComputer ADGroup ADReplication AccountManagement Inventory Audit Compliance Network DNS ARP TCP Ping Subnet CIDR SSL NetStat Traceroute WinRM Route HostsFile PublicIP CIM Uptime DiskSpace PendingReboot ScheduledTask InstalledSoftware PageFile EnvironmentVariable Startup RDP RemoteDesktop Sessions NTP TimeSynchronization W32Time Proxy WinHTTP WinINET Security Password Encoding DHCP DFS Cluster HyperV IIS PrintServer WSUS ADFS Exchange CertificateAuthority RDS FileServer DNSServer VSS ShadowCopy VolumeSnapshot Backup Restore

Functions

Clear-Arp Clear-DiskCleanup Clear-WindowsUpdateCache Connect-RdpSession ConvertFrom-MisencodedString ConvertTo-Markdown Disable-ADUserAccount Disconnect-RdpSession Edit-HostsFile Enable-ADUserAccount Export-NetworkConfig Get-ADComputerDetail Get-ADComputerInventory Get-AdDomainControllerHealth Get-ADDomainInfo Get-ADFSHealth Get-ADGroupInventory Get-ADGroupMembership Get-ADLockedAccount Get-ADLockoutSource Get-ADNestedGroupMembership Get-ADPasswordStatus Get-ADPrivilegedAccount Get-ADReplicationStatus Get-ADSiteTopology Get-ADStaleAccount Get-ADStaleComputer Get-ADUserDetail Get-ADUserGroupInventory Get-ADUserInventory Get-ARPTable Get-AuditPolicy Get-CertificateAuthorityHealth Get-ClusterHealth Get-ComputerUptime Get-CrashDump Get-DfsNamespaceHealth Get-DfsReplicationHealth Get-DhcpServerHealth Get-DiskCleanupInfo Get-DiskErrorEvent Get-DiskSpace Get-DnsServerHealth Get-DriverInventory Get-EnvironmentVariable Get-ExchangeServerHealth Get-ExpiringCertificate Get-FileServerHealth Get-HyperVHostHealth Get-IISAppPoolHistory Get-IISCertificateBinding Get-IISCurrentRequest Get-IISFailedRequestTrace Get-IISHealth Get-IISParsedLog Get-IISWorkerProcess Get-InstalledSoftware Get-ListeningPort Get-LogonFailure Get-NetworkAdapter Get-NetworkCIDR Get-NetworkConnection Get-NetworkRoute Get-NetworkStatistic Get-NTPConfiguration Get-NTPPeer Get-NTPSyncStatus Get-PageFileConfiguration Get-PendingReboot Get-PrintServerHealth Get-ProcessByPort Get-ProcessCrashEvent Get-ProxyConfiguration Get-PSWinOpsFunction Get-PublicIPAddress Get-RdpSession Get-RdpSessionHistory Get-RdpSessionLock Get-RDSHealth Get-RebootHistory Get-RecycleBinSize Get-SchannelError Get-ScheduledTaskDetail Get-ScheduledTaskFailure Get-ServiceAccount Get-ServiceCrashEvent Get-ServiceHealth Get-ShadowCopy Get-ShadowCopyStorage Get-SSLCertificate Get-StartupProgram Get-SubnetInfo Get-SystemSummary Get-UnexpectedShutdown Get-WindowsUpdate Get-WindowsUpdateConfiguration Get-WindowsUpdateFailure Get-WindowsUpdateHistory Get-WSUSHealth Hide-WindowsUpdate Install-WindowsUpdate Invoke-ADSecurityAudit Measure-NetworkLatency New-NetworkRoute New-RandomPassword New-ShadowCopy Remove-NetworkRoute Remove-ProxyConfiguration Remove-RdpSession Remove-ShadowCopy Remove-StringDiacritic Remove-UserProfile Reset-ADUserPassword Reset-NetworkStack Reset-WindowsUpdateComponent Resolve-MACVendor Restore-ShadowCopyFile Save-WindowsUpdate Search-ADObject Set-DisplayLanguage Set-EnvironmentVariable Set-IISCertificateBinding Set-NetworkRoute Set-NTPClient Set-PageFile Set-ProxyConfiguration Set-ShadowCopyStorage Show-DriveUsage Show-FolderUsage Show-FolderUsageAge Show-NetworkStatisticMonitor Show-PingMonitor Show-SystemMonitor Show-WindowsUpdate Stop-ProcessTree Sync-NTPTime Test-DNSResolution Test-IISCertificateBinding Test-PortConnectivity Test-ProxyConnection Test-WinRM Trace-NetworkRoute Uninstall-WindowsUpdate Unlock-ADUserAccount Watch-DriveUsage Watch-IISLog

PSEditions

Desktop Core

Dependencies

This module has no dependencies.

Release Notes

## 1.3.0 - 2026-09-25 UTC

### Added
- Watch-DriveUsage: the folder scan now also derives the size of each child's own subfolders while it walks, and pre-seeds those levels into the cache, so drilling into a child renders instantly instead of rescanning. Derived levels show a 'Derived sizes (cached) - press R to measure exactly' status line, and R replaces them with an exact measurement. Seeding is folders-only (files mode stays exact), capped at 5,000 derived rows per scan, and a child with more than 1,000 subfolders is left unseeded. The Measure-FolderSize private helper gains a -CollectGrandchildren switch and a -GrandchildMap [ref] output, both off by default so the primary output is unchanged.
- Get-PSWinOpsFunction: Root-level meta-function (alias gpwof) that lists the module's public functions grouped by domain, returning one object per function with its name, domain, short alias, and comment-based-help synopsis. Sorted by domain then name, with an optional -Domain filter (pipeline-capable).
- Get-RecycleBinSize: Reports Recycle Bin size and item count per fixed volume, with exact bytes, rounded MB/GB, and size as a percentage of the volume. Local calls need no WinRM; a missing or unreadable Recycle Bin reports zero rather than erroring (alias grbs).
- Show-DriveUsage: Renders per-volume disk usage as a fixed-width bar via its format view. A presentation wrapper over Get-DiskSpace that re-emits the same data under the PSWinOps.DriveUsage type (alias sdu).
- Watch-DriveUsage: Interactive disk-space explorer for the local machine with drill-down navigation (alias wdu). Local-only: it takes no -ComputerName and no -Credential. Adds the 145th public function and short alias.

### Changed
- Reorganized function domains: split the eight disk-space functions out of the system domain into a new disk domain (Clear-DiskCleanup, Get-DiskCleanupInfo, Get-DiskSpace, Get-RecycleBinSize, Show-DriveUsage, Show-FolderUsage, Show-FolderUsageAge, Watch-DriveUsage), and moved Get-SSLCertificate from network into certificate. Function names, aliases and output types are unchanged.

### Fixed
- build.ps1 -Task Test: replaced Join-Path -AdditionalChildPath, a PowerShell 6+ parameter, with a nested Join-Path call so the build script runs on Windows PowerShell 5.1 as the module itself targets.

## 1.2.1 - 2026-09-10 UTC

### Added
- New system domain function: Set-DisplayLanguage, changes the Windows UI display language for the current user (and optionally the system account / new user profiles) via Set-WinUILanguageOverride, installing the language pack automatically through LanguagePackManagement when missing.

## 1.2.0 - 2026-09-09 UTC

### Changed
- Breaking: renamed Set-IISBindingCertificate to Set-IISCertificateBinding and Test-IISBindingCertificate to Test-IISCertificateBinding for consistency with Get-IISCertificateBinding (#125). The PSWinOps.IISBindingCertificateResult PSTypeName is renamed to PSWinOps.IISCertificateBindingResult. Aliases sibc/tibc are renamed to sicb/ticb. No compatibility aliases are provided for the old function names.

## 1.1.0 - 2026-09-05 UTC

### Added
- Short aliases for all 139 public functions (e.g. gwu for Get-WindowsUpdate, gaui for Get-ADUserInventory), registered via AliasesToExport.

## 1.0.0 - 2026-09-05 UTC
First stable release. Consolidates all work merged since 0.0.23 (2026-05-21),
none of which was previously published to the PowerShell Gallery.

### Added
- New eventlog domain: Get-UnexpectedShutdown, Get-LogonFailure, Get-ServiceCrashEvent, Get-ProcessCrashEvent, Get-DiskErrorEvent, Get-ScheduledTaskFailure, Get-WindowsUpdateFailure, Get-SchannelError
- New security domain: Get-AuditPolicy
- New certificate domain: Get-ExpiringCertificate
- Get-ADLockoutSource, Get-RebootHistory, Get-CrashDump, Get-DriverInventory
- Reset-NetworkStack, Get-ProcessByPort, Set-EnvironmentVariable, Stop-ProcessTree, Get-ServiceAccount
- Reset-WindowsUpdateComponent, ConvertTo-Markdown

### Changed
- Standardized action-function output on a typed PSWinOps.ActionResult shape (Clear-Arp, Edit-HostsFile, Remove-NetworkRoute, Set-NTPClient, Remove-ProxyConfiguration, Set-ProxyConfiguration, Clear-WindowsUpdateCache)
- Remove-UserProfile now reconciles registry profile entries against actual C:\Users folders

### Fixed
- Excluded Integration-tagged Pester tests from the Gallery publish workflow
- Added missing format views for Windows Update result types

See CHANGELOG.md for the full project history (0.0.1 - 1.0.0).

FileList

Version History

Version Downloads Last updated
1.3.0 (current version) 7 9/25/2026
1.2.1 41 9/10/2026
1.2.0 8 9/10/2026
1.1.0 17 9/5/2026
1.0.0 8 9/5/2026
0.0.23 155 5/21/2026
0.0.22 187 4/11/2026
0.0.21 10 4/10/2026
0.0.20 7 4/9/2026
0.0.19 10 4/6/2026
0.0.18 10 4/4/2026
0.0.17 13 4/2/2026
0.0.16 8 3/31/2026
0.0.15 9 3/31/2026
0.0.14 11 3/26/2026
0.0.13 12 3/25/2026
0.0.12 7 3/23/2026
0.0.11 21 3/22/2026
0.0.10 8 3/20/2026
0.0.9 16 3/20/2026
0.0.8 9 3/18/2026
0.0.7 9 3/18/2026
0.0.6 7 3/15/2026
0.0.5 11 3/12/2026
0.0.4 8 3/12/2026
0.0.3 9 3/12/2026
0.0.2 13 3/11/2026
0.0.1 16 2/26/2026
Show more