I would like to run a particular script before system shutdown. When I trigger a shutdown event, my script doesn’t appear to get called. Here is my setup, what am I doing wrong?
$scriptFileName = “Censored” $consumerName = ‘CommandLineEventConsumer’; $wmiParams = @{ Computername = $env:COMPUTERNAME ErrorAction = ‘Stop’ NameSpace = ‘rootsubscription’ }
$wmiParams.Class = ‘__EventFilter’ $wmiParams.Arguments = @{ Name = ‘ServiceFilter’ EventNamespace = ‘rootCIMV2’ QueryLanguage = ‘WQL’ Query = “SELECT * FROM Win32_ComputerShutdownEvent WITHIN 5” } $filterResult = Set-WmiInstance @wmiParams
$wmiParams.Class = ‘ActiveScriptEventConsumer’ $wmiParams.Arguments = @{ Name = $consumerName ScriptFileName = $scriptFileName;
ScriptingEngine = “VBScript” } $consumerResult = Set-WmiInstance @wmiParams
$wmiParams.Class = ‘__FilterToConsumerBinding’ $wmiParams.Arguments = @{ Filter = $filterResult Consumer = $consumerResult } $bindingResult = Set-WmiInstance @wmiParams
submitted by /u/polypoetes
[link] [comments]
The post WMI intercept system shutdown appeared first on How to Code .NET.