I have a script for restoring a database with PowerShell and SMO. Now I know that I can pass a event handler into PercentComplete on the restore object and get the progress of the restore as it happens. The problem is I don’t know how to create a event handler and pass it a function in PowerShell? I can do it in C#
restore.PercentComplete += new PercentCompleteEventHandler(restore_PercentComplete);
static void restore_PercentComplete(object sender, PercentCompleteEventArgs e)
{
System.Console.WriteLine("{0}", e.Percent);
}
Any help would be appreciated.
Thank You.
After some deeper searching I finally found it in the documentation. To add event handlers you need to do the following:
Import the relevant assemblies;
Now to create the event handler you need to declare it with an inline function;
Now the final step is to add the event handler to the object you are working with. Normally in C# you just do the following;
This will not work in PowerShell script, what you need to do is use the generated function for adding events. The function name is the EventHandlerName with “add_” appended to the beginning of it, like so;
Hope this helps anyone else trying to do this!