PSWinOps

0.0.23

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 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-ADNestedGroupMembership Get-ADPasswordStatus Get-ADPrivilegedAccount Get-ADReplicationStatus Get-ADSiteTopology Get-ADStaleAccount Get-ADStaleComputer Get-ADUserDetail Get-ADUserGroupInventory Get-ADUserInventory Get-ARPTable Get-CertificateAuthorityHealth Get-ClusterHealth Get-ComputerUptime Get-DfsNamespaceHealth Get-DfsReplicationHealth Get-DhcpServerHealth Get-DiskCleanupInfo Get-DiskSpace Get-DnsServerHealth Get-EnvironmentVariable Get-ExchangeServerHealth Get-FileServerHealth Get-HyperVHostHealth Get-IISAppPoolHistory Get-IISCertificateBinding Get-IISCurrentRequest Get-IISFailedRequestTrace Get-IISHealth Get-IISParsedLog Get-IISWorkerProcess Get-InstalledSoftware Get-ListeningPort Get-NetworkAdapter Get-NetworkCIDR Get-NetworkConnection Get-NetworkRoute Get-NetworkStatistic Get-NTPConfiguration Get-NTPPeer Get-NTPSyncStatus Get-PageFileConfiguration Get-PendingReboot Get-PrintServerHealth Get-ProxyConfiguration Get-PublicIPAddress Get-RdpSession Get-RdpSessionHistory Get-RdpSessionLock Get-RDSHealth Get-ScheduledTaskDetail Get-ServiceHealth Get-ShadowCopy Get-ShadowCopyStorage Get-SSLCertificate Get-StartupProgram Get-SubnetInfo Get-SystemSummary Get-WindowsUpdate Get-WindowsUpdateConfiguration 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-UserProfile Reset-ADUserPassword Resolve-MACVendor Restore-ShadowCopyFile Save-WindowsUpdate Search-ADObject Set-IISBindingCertificate Set-NetworkRoute Set-NTPClient Set-PageFile Set-ProxyConfiguration Set-ShadowCopyStorage Show-NetworkStatisticMonitor Show-PingMonitor Show-SystemMonitor Show-WindowsUpdate Sync-NTPTime Test-DNSResolution Test-IISBindingCertificate Test-PortConnectivity Test-ProxyConnection Test-WinRM Trace-NetworkRoute Uninstall-WindowsUpdate Unlock-ADUserAccount Watch-IISLog

PSEditions

Desktop Core

Dependencies

This module has no dependencies.

Release Notes

## 0.0.23 - 2026-05-21
### Added
- feat(iis): introduce new public domain Public/iis/ (registered in CI matrix and about_PSWinOps).
- feat(iis): add Set-IISBindingCertificate — replace SSL/TLS certificate on IIS HTTPS bindings with idempotent rotation, -WhatIf/-Confirm (ConfirmImpact=High), remote execution via WinRM, pipeline-by-property-name from Get-SSLCertificate / Get-IISHealth (#47).
- feat(iis): add Get-IISParsedLog — stream-parse IIS W3C log files into typed PSWinOps.IISLogEntry objects; header re-detection, dash-normalisation, UserAgent "+"-to-space decoding; -After/-Before window, -Method/-Status/-ClientIP multi-value OR filters, -UriLike wildcard, -Tail circular buffer, pipeline-by-property-name FullName (#49).
- feat(iis): add Get-IISWorkerProcess — inventory IIS w3wp.exe processes joined with AppPoolName, Sites/Applications, identity, PID, uptime, CPU, working/private/virtual memory, thread/handle counts; WebAdministration → IISAdministration → appcmd/CIM fallback; -AppPoolName/-ProcessId filters; Status enum (Running/Orphaned/Failed/IISNotInstalled/NoWorkerProcess) (#50).
- feat(iis): add Get-IISCurrentRequest — list HTTP requests currently executing in IIS (typed equivalent of `appcmd list requests`) with ComputerName, ProcessId, AppPoolName, SiteName, Url, Verb, ClientIPAddress, TimeElapsed/TimeElapsedMs, PipelineState; -AppPoolName/-SiteName wildcards and -MinElapsedMs threshold (#51).
- feat(iis): add Watch-IISLog — real-time IIS W3C log tailer emitting typed PSWinOps.IISLogEntry objects; FileShare.ReadWrite|Delete; -InitialLines, -FollowRollover, -PollIntervalMs, -Duration, -MaxEntries; in-stream filters -Method/-Status/-UriLike/-ClientIP/-MinStatus (#52).
- feat(iis): add Get-IISFailedRequestTrace — parse FREB fr######.xml files into typed PSWinOps.IISFailedRequestTrace objects; auto-resolves FREB folder per site; surfaces URL/verb/statusCode/subStatus/timeTaken/appPool/worker PID/failureReason plus first ERROR/WARNING event; -After/-Before/-StatusCode/-FailureReason filters, -Tail, -IncludeEvents (#53).
- feat(iis): add Get-IISCertificateBinding — read-only inventory of IIS HTTPS bindings joined to their presented X509 certificate; SiteName, BindingInformation, Protocol, SslFlags (SNI/CCS), Thumbprint, Subject, SAN, Issuer, NotBefore/NotAfter, DaysUntilExpiration, Expired, CertificateStore, HasPrivateKey; -SiteName/-HostHeader/-Thumbprint/-Port filters, -ExpiringInDays, -IncludeExpired (#54).
- feat(iis): add Test-IISBindingCertificate — read-only auditor running six independent checks per binding (expiration vs Warning/Critical thresholds, X509Chain.Build, hostname/SAN match, HasPrivateKey, signature/key-algorithm strength, CertStoreName alignment); emits PSWinOps.IISCertificateBindingTestResult with OverallStatus and Findings array; -WarningDays/-CriticalDays, -SkipChainValidation, -IncludeRevocationCheck (#55).
- feat(iis): add Get-IISAppPoolHistory — reconstructs app pool lifecycle (recycles, rapid-fail shutdowns, crashes, start/stop, identity changes, orphaned workers) by mining System (Microsoft-Windows-WAS), Application (W3SVC-WP) and optionally IIS-W3SVC-WP/Operational event logs; classifies events via a 16-entry EventId map into typed PSWinOps.IISAppPoolHistoryEvent rows with AppPoolName, WorkerPid, normalised ReasonCode, UTC/local timestamps; server-side -After/-Before/-EventId, client-side -AppPoolName wildcard, -Tail, -IncludeOperationalLog (#56).
- feat(format): TableControl views for all new typed outputs in PSWinOps.Format.ps1xml.
### Changed
- refactor: automated remediation chain — quality, testability & monitor extraction (ITER 1-8).
### Fixed
- fix(tests): import PSWinOps.psd1 explicitly in Set-NTPClient.Tests.

## 0.0.17 - 2026-04-02
- refactor: Invoke-RemoteOrLocal rewrite (#30)
- refactor: move OverallHealth computation to process{} block (#31)
- fix: misc cleanup — synopsis, #Requires, module-scoped local names (#32)
- feat: add about_PSWinOps help file and PSWinOpsHealthStatus enum (#33)
- feat: add Get-ExchangeServerHealth healthcheck function (#34)
- fix: replace Clear-Host with Console.SetCursorPosition (#35)
- fix/docs: audit coherence documentation (#36)
- docs: fix documentation audit findings - Axis 1 (#37)
- fix: coherence Axis 2 (#38)

## 0.0.16 - 2026-03-31
- feat(format): add TableControl default views for all typed outputs (#29)

## 0.0.15 - 2026-03-31
- fix: miscellaneous fixes (#25)
- fix(ntp): NTP function fixes (#27)
- feat: new functions and expanded test coverage (#28)

## 0.0.14 - 2026-03-26
- fix: miscellaneous fixes (#25)

## 0.0.13 - 2026-03-25
- refactor: rename folder structure (#19)
- feat(tests): new Pester tests (#20)
- perf: optimization pass (#22)
- feat: general improvements (#23)
- refactor: coherence pass (#24)

## 0.0.12 - 2026-03-24
- refactor: rename folder structure (#19)
- feat(tests): new Pester tests (#20)
- perf: optimization pass (#22)

## 0.0.11 - 2026-03-24
- refactor: rename folder structure (#19)

## 0.0.10 - 2026-03-23
- perf: optimization pass (#15)
- feat(proxy): add Get-ProxyConfiguration (#16)
- feat: general improvements (#17)
- feat: first audit commit (#18)

## 0.0.9 - 2026-03-23
- perf: optimization pass (#15)

## 0.0.8 - 2026-03-22
- fix: minor fixes (#14)

## 0.0.7 - 2026-03-22
- fix: remove useless property (#8)
- feat(system): add Get-ComputerUptime (#9)
- feat(system): add Get-SystemSummary (#10)
- feat: general improvements (#11)
- feat(system): add Get-PendingReboot (#12)
- feat: PSTypeName on all outputs (#13)

## 0.0.6 - 2026-03-21
- fix: remove useless property (#8)
- feat(system): add Get-ComputerUptime (#9)

## 0.0.5 - 2026-03-21
- Minor improvements

## 0.0.4 - 2026-03-20
- fix: fixed function (#5)
- fix(rdp): fixed sessions functions (#6)
- feat(ntp): add Test-NTPSync (#7)

## 0.0.3 - 2026-03-20
- Minor improvements

## 0.0.2 - 2026-03-19
- feat(ci): new CI pipeline (#1)
- feat(utils): add ConvertFrom-MisencodedString (#2)
- feat(rdp): add Get-RdpSessionHistory (#3)
- feat(rdp): add sessions functions (#4)

FileList

Version History

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