PowerShell not loading them DLLs

Listing all of the assemblies loaded in a PowerShell session?

This post was most recently updated on January 23rd, 2022.

< 1 min read.

In this article, I’ll do my best to explain how to list all loaded assemblies in a PowerShell session. You see, PowerShell is great at caching assemblies in the weirdest possible way, so ending up with all kinds of mismatches in loaded DLL versions is pretty common. Or just being plainly blocked from loading a new one as you already have a cached reference. I mean, I’ve run into all kinds of issues even if I only use PowerShell occasionally.

Maybe that’s the reason.

Anyhow, below, I’ll share a script that will list all of the currently loaded assemblies.

Solution

Table of Contents

Let’s keep this short and sweet.

Time needed: 2 minutes.

How to list all of the assemblies loaded in a PowerShell session?

  1. Fire up PowerShell (PS 5+ should work just fine)

  2. Run the script in PowerShell

    The script below will select all assemblies that are currently loaded, select the ones with a defined location, and display their name, location, and statuses of GAC deployment and full trust in a GridView.

    [System.AppDomain]::CurrentDomain.GetAssemblies() | Where-Object Location | Sort-Object -Property FullName | Select-Object -Property FullName, Location, GlobalAssemblyCache, IsFullyTrusted | Out-GridView

  3. Observe the output!

    You should get an output somewhat like this:

    Output from CurrentDomain.GetAssemblies() formatted nicely in a Out-GridView
    Output from CurrentDomain.GetAssemblies() formatted nicely in an Out-GridView

    You should see all of the assemblies PowerShell has in memory!

And there you go!


Did this work for you? Not what you wanted? Let me know in the comments -section below!

References

mm
5 4 votes
Article Rating
Subscribe
Notify of
guest
2 Comments
most voted
newest oldest
Inline Feedbacks
View all comments