Powershell腳本一個比較強大的功能是可以直接調用.net類庫(ps core能調用.net core類庫),除了調用系統類庫外,也可以調用自己編寫的類庫,從而擴充我們腳本的功能。本文這里簡單的介紹下如何調用.net類庫的方法:
首先我們編寫一個簡單的函數
namespace ClassLibrary1
{
public class Class1
{
public static void SayHello()
{
Console.WriteLine($"hello {DateTime.Now}");
}
}
}
將其編譯為dll,然后在PowerShell中就可以使用它了。
Add-Type -Path "ClassLibrary1.dll"
[ClassLibrary1.Class1]::SayHello()
powershell中的寫法還比較靈活,下面的這個方式也是可以的。
using assembly "ClassLibrary1.dll"
using namespace ClassLibrary1
[Class1]::SayHello()
這個例子比較簡單,在PowerSehll中也有更多與.net集成的方法,例如可以使用將代碼作為字符串傳入,動態編譯生成程序集這種更為高級的方式。具體示例可以參考在 PowerShell 中執行 C# 程式碼或 DLL 檔的方法這篇文檔。
