Wrapping using statement with dispose in powershell
Today I’m working with zip archives for lambda functions. I needed to take the zip file and add deployment configuration. Lambdas are currently packaged up with their configuration so I need to inject in a file into the zip.
It’s relatively trivial to work with compressed zip files in Powershell, however you need to dispose the handle when you’ve finished with it.
A using statement is really just a try catch that calls dispose if the object isn’t null. Dave Wyatt’s Using-Object: PowerShell version of C#’s “using” statement post has a good example function of where this is all taken care of and uses a $ScriptBlock to execute it.
So instead of manually calling dispose, we can now write a using lookalike, and the handle will be disposed for us. Lovely!
If you don’t want to add the function, you can always just wrap a try catch around it.