A PowerShell provider was loaded. ProviderName is key (e.g., Registry, FileSystem, WSMan, Certificate).
WSMan provider loading = remoting/WinRM activity. Certificate provider = possible cert manipulation. Registry provider = registry access through PowerShell.
Alert: unusual providers loaded in non-interactive PowerShell sessions. WSMan provider in hidden sessions signals remoting.
ScriptBlockTextPathHostApplication Starting points — adapt the log source, projected fields and thresholds for your environment.
Event
| where EventLog == "Microsoft-Windows-PowerShell/Operational" and EventID == 600 // PowerShell provider started
// EventData holds: ScriptBlockText, Path, HostApplication
| project TimeGenerated, Computer, RenderedDescription
| sort by TimeGenerated desc
index=* sourcetype="WinEventLog:Microsoft-Windows-PowerShell/Operational" EventCode=600
| stats count earliest(_time) as first_seen latest(_time) as last_seen by ComputerName
| sort - count `# PowerShell provider started — add EventData fields: ScriptBlockText, Path, HostApplication`
PowerShell provider started. A PowerShell provider was loaded. ProviderName is key (e.g., Registry, FileSystem, WSMan, Certificate).
Event 600 is written to the Microsoft-Windows-PowerShell/Operational channel by Microsoft-Windows-PowerShell. Enable PowerShell Module Logging and Script Block Logging via GPO (Administrative Templates → Windows PowerShell).
Alert: unusual providers loaded in non-interactive PowerShell sessions. WSMan provider in hidden sessions signals remoting.