Crear, compilar y ejecutar una DLL con Microsoft Visual C# que crea dos métodos que abren Notepad llamando a PowerShell (después llamar a los métodos desde PowerShell)
Una biblioteca de enlace dinámico (DLL, por la sigla en inglés de dynamic-link library) es el término con el que se refiere a los archivos con código ejecutable que se cargan bajo demanda de un programa por parte del sistema operativo. Esta denominación es exclusiva a los sistemas operativos Windows siendo «.dll» la extensión con la que se identifican estos ficheros, aunque el concepto existe en prácticamente todos los sistemas operativos modernos.
Crear un proyecto en Visual C# Biblioteca de Clase (.NET Framework)

Importar desde Microsoft Visual C# la referencia al ensamblado System.Management.Automation (C:\Windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll)
PowerShell Class Representa un comando o secuencia de comandos de PowerShell para ejecutar en un Runspace (Pool) si se proporciona; de lo contrario, ejecute usando un Runspace predeterminado. Proporciona acceso a diferentes búferes de resultados como salida, error, depuración, detallado, progreso, advertencia e información.

Añadir el siguiente código en PowerShell a Visual Studio C# y compilar la solución (crear dos métodos que abran Notepad y Paint)
[crayon-6a61964c2e06d129771695/]
Compilar la solución y buscar la dll compilada que se encuentra en la carpeta bin (C:\Users\juan\source\repos\ClassLibrary3\ClassLibrary3\bin\Debug)

Llamar a la dll creada desde PowerShell mediante la invocación a los dos métodos creados
[crayon-6a61964c2e074773821169/]
